# Astra implementation and acceptance This is an isolated snapshot of `/Users/josephanady/Code/thatstupidcomputer-website`, recorded in git before edits. The operator's checkout is actively changing. Integrate only reviewed changes against a fresh snapshot; never copy this whole tree over that checkout. ## Intended result Preserve the full viewport illustrated workshop, original CRT and five mobile rigs. Make their existing acting vocabulary useful through finite, visitor controlled stories, clear scene navigation and a more compact privacy choice. Keep the eleven public routes, direct email contract, real public truth projection and native renderer eligibility rules. The visual system comes from the actual supplied drawing: paper `#f4e5c4`, light paper `#fbf5e6`, ink `#29261f`, rust `#a44323`, muted ink `#655d4d`. Keep the existing sans serif interface and Georgia character voice. The room remains the focal point; controls sit with the caption and ordinary content below it. No floating navigation labels or new panels cover the artwork. The design is specific to the illustrated workspace, with choreography doing the expressive work. ## Work 1. Inspect public behavior, current source and source assets; verify Bubbles independently. 2. Extract scene destinations and performances into their owned animation modules. Enforce source import boundaries and public asset separation with repeatable checks. 3. Add a short guided room performance and website rescue story. Support pause, tab visibility, intersection, reduced motion, manual progression, cancellation and normal navigation. 4. Add selectable ensemble scripts to the existing mobile character stage. Preserve rig geometry, all current moves and explicit attitude consent. 5. Compact the first privacy choice while preserving equal accept/decline choices, detail access and withdrawal. Improve readable page structure without obscuring the scene. 6. Run strict typecheck, existing application suites, production-style build/asset/HTML checks and real Chromium, Firefox and WebKit engine tests with bounded workers (two for the final matrix). Inspect desktop and mobile artifacts. 7. Reconcile ongoing operator edits, stage the exact release, and verify host behavior if access is available. Document any remaining host/account limitation explicitly. ## Verification boundaries Use synthetic intercepted form responses in browser tests. Do not send live email. Do not enable analytics during tests. Never infer mailbox receipt from readiness or SMTP configuration. Local browser tests do not establish physical iPhone/Safari behavior or field performance. Existing historical proof remains historical for modified code. ## User revision: put Services on the actual board The user rejected the Services popup in their screenshot and explicitly permitted a larger board. Services and all four service-detail routes will use the room's bulletin-board prop as a full-size reading surface. Remove their popup/close-box and decorative floating scene copy. Keep actual server-rendered HTML, links, breadcrumbs and full copy. The page, not an inset panel, scrolls. Use the original paper, ink and cork palette; the bulletin-board component gains a head-on reading face while its existing room geometry remains unchanged. Notices are pinned paper on the cork, not a generic application card grid. The computer stands beside the enlarged board without covering its text. Desktop keeps glimpses of the workshop; narrow screens use the same board with a single readable column. No new renderer, new asset source or duplicate content model is needed. ```text wordmark normal navigation back to the workshop wood frame / cork bulletin board [ pinned heading and introduction ] [ service notice ] [ service notice ] [ service notice ] [ service notice ] CRT [ scope, cost and next-step notes ] normal document scroll and footer ``` Check the actual browser at 320, 390, 768, 1024 and 1440 pixels, with keyboard, reduced motion and JavaScript disabled. Existing form, focus-return and source protections must remain intact. Public cutover waits for this revision too.