import { Main, render_and_copy } from "./common.tsx"; // i could also have the circle spin and the cursor stay in place :O // but that would lose the interactive aspect D: // one-time ease-in could be a nice effect // maze thing with cursors // something like loz statue pointing // gonna need to plan this out for it to be fun // (no real order) // 1. grid layout (will pay dividends) // 2. obvious start location // 3. say sorry to mobile users in title (switching to a different device is so good for engagement this will be great for quarterly metrics) // 4. choices! // 5. maybe generate a decent-sized set of arrows (like box-drawing characters) // 6. easter eggs with stuff you couldn't get to on the main path // 7. LINK AS THE FINAL DESTINATION // 8. RESIST (FAIL?) THE TEMPTATION TO MAKE THAT LINK A RICK ROLL // 9. this exists? https://www.cursor.cc/?action=icon&file_id=54078 // 10. page on pyrope.net with fake rick roll then psyche then read homestuck then x2 psyche then fake rick roll then x3 psyche const cursor_link = (href: string) => `https://static.pyrope.net/cursor-fun/${href}.png`; const cursors = [ "up", "down", "left", "right", "self_link", "vriska_egg", "easter_eggbug", // such a cool idea to have the map hidden as a cursor :D "concept", ] as const; type Cursor = (typeof cursors)[number]; type GridArea = { row_start: number; row_end: number; col_start: number; col_end: number; }; const grid_area_str = ({ row_start, row_end, col_start, col_end }: GridArea) => `${row_start} / ${col_start} / ${row_end} / ${col_end}`; const outline_sections = true; // the cursor fallback is _mandatory_ const Section = ({ cursor, grid_area, link, start, }: { cursor?: Cursor; grid_area: GridArea; link?: string; start?: true; }) => link ? ( ) : (
{start ? "start" : ""}
); render_and_copy(
);