Texas from orbit — mechanics
The fork in this look
The first interaction sits on one baseline: "Zoom ↓" against the open rule "ask the light". Scrolling or "Zoom ↓" starts the descent, the standard route; any printable key, / or a verb lands in the rule, the mind.
The weights differ: "Zoom ↓" is one inked word for the whole page; the rule holds the fork's only gold, its caret, and the mind never scrolls: one answer in open water, only the asked-for records moving.
Submitting runs a same-document view transition: the typed words slide from the rule into the answer's heading, both in the 44 px voice, so nothing morphs; the previous answer folds into a numbered index. :root sets view-transition-name: none, so the field keeps drawing rather than freezing.
The standard route
- Nav: past the hero the corners become one fixed label row: ETS27; state · city · room · tickets · place, the current stop in ink; Tickets →. Partners and contact join the legend.
- Pages:
/lineup,/agenda/tuesday,/ticketsand/venuereuse the home partials and boot the camera at their zoom; the seeded sampler draws identical lights everywhere, a baked still paints the first frame and cross-document view transitions zoom the outgoing frame into it. - Agenda: the room on a shared hour grid, one gold light per session, rows anchored by session id.
- Speakers: strip and gazetteer rows gain
data-spkand open/lineup/<slug>: title, bio, sessions as room references. - Tickets: two ruled rows from
tickets.tiers, prices in mono.
Asking the mind
Questions go through the rule; answer 01 and the verbs are precomputed per snapshot, with no model call.
Thinking shows in the field: typing already dims it to 45 % (uAsk); submit, not phase: thinking (effort low may skip it), starts the band, the boot's switch-on front re-run outward from Austin; the first text frame lets it finish. The concept holds one gold point per record (50 sessions, 77 speakers), so each ui frame flies that component's lights out of the blaze onto its rows: the light becomes the row's bullet, and the row develops through a dither threshold. At submit, placeAnswer() reserves open water for the largest permitted answer.
- Text:
sayat wdth 75, 16 px, the caret at its end;faqsets its site-authored question over the answer. - Speakers:
speaker_gridas gazetteer rows, twelve at most, featured in gold;speaker_cardone strip portrait with title, bio and session slots. - Sessions: answer 01's ruled rows;
session_cardadds type, track and any description (3 of 50). - Agenda day: the room's road laid horizontal, 08:00 to 21:00, each session's light at its start minute, "all of Tuesday ↓".
- Venue: nothing flies; the camera takes the descent's state-to-city morph; the Congress Avenue pin stays a hollow ring until confirmed.
- Tickets: the section's two rows; the field rests.
- Choices: up to four small-caps verbs, replacing the last set under the rule.
- Sources: a label from page ids, "sample data" forced by any
placeholderrecord, and the link to the standard page.
Fallbacks: off_topic gets one unnumbered line, lights still; not_in_snapshot is sourced "not yet published"; emptied components drop; errors keep the prototype's codes and copy and return the lights. With the proxy down or the budget spent the verbs still answer; without JavaScript they link to static answer pages.
The assistant in the chrome
- The rule: below the hero it rides the bottom edge, the same hairline and caret at 16 px: 600 characters,
enterkeyhint="send",[ stop ]while streaming,/anywhere; its rect joins the cartographic mask. - The edge-parked card: an answer asked on a standard page opens the right edge's vertical "asked on this page" line into a 360 px column, knocked back by the mask, not framed, and folds back on Escape; the reading column never moves. Records on the page light in place (
mergeIntoPage()). - The state line: the hero's instrument line, elsewhere the rule's right end;
role="status", written three times: "02 · asking", "02 · one moment" after 2 s, "02 · composed · 4 sessions, Tuesday".
Data, performance and accessibility
The fixture covers every component: 77 speakers (59 photos, 36 bios), 50 sessions, four tiers with base and fee prices, the venue gap and its pin, partners, FAQ, placeholder flags.
Whova and WordPress must add coordinates for event, venue and hotel, rooms, session ids keyed to Whova (slugs embed day and time, so a retimed session loses its links and its light), and a curated "asked on this page" list, since visitor text is never logged.
Motion budget: one 30 fps loop paused when hidden, two draw calls, a 127-entry attribute upload per component; sampling and the Gulf search move to a worker. Reduced motion: no twinkle, band or flights; lights brighten in place. Keyboard: the verbs become buttons (spans today), day tabs get arrow keys. Screen readers: a one-sentence map alternative, a silent clock, answers announced once via summarize().
Build plan
Carries over: server.py's stream, sanitizer, sessions, budget, guards and cached prefix; the fixture; the catalogue, grown from seven components to the brief's reconciled set, with sources and coverage; the renderer's reconcile(), summarize(), error copy and mergeIntoPage(), retemplated; the concept's field, mask and placeAnswer(). New: the record-to-light index, per-point targets, the band, the live cartouche, the chrome, per-zoom pages, precomputed answers. Effort: a local demo in four days; this front end about four weeks for one developer, beside the shared backend.
Risks
- The band can read as a radar ping: brighten existing lights, never draw a ring.
- Short screens lack open water for four components: cap at two, park the rest in the edge card.
- The prototype prices with fees ($907.78), the concept without ($849): pick one.
- An ETS26-sized programme swells the blaze to about 215 points: scale point size so Austin stays a blaze, not a disc.