Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 26 additions & 76 deletions docs/cloud-messaging.md

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion docs/cloud-motion.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The particular amplitudes and timing below are design decisions for Pilot, not u

## Motion map

- **Hero:** a seven-pixel photo float over eight seconds, gentle puppy movement, and a short initial drawing/arrival for the plan and doodle. Headline, explanation, and main action stay still.
- **Hero:** a seven-pixel photo float over eight seconds. The complete hypothetical time question stays still. The earlier hero puppy/plan/doodle overlays were removed for the link narrative.
- **Sections:** one entrance of up to 18px over 650ms. Parallel cards stagger by 85ms. Text stays at full opacity throughout; the underlying HTML is visible and no animation completion is required to reveal content. Entrances are skipped while the page is hidden.
- **Demo:** the first example plays once when its conversation is in view. User-selected scenarios and replay remain explicit controls. The conversation reserves its height during playback to avoid moving surrounding content. Pause restores all messages immediately.
- **Identity:** changing AI animates the changed connection and gives the puppy a small greeting. Handle, link, and circles stay unchanged.
Expand Down Expand Up @@ -75,3 +75,7 @@ Updated the preview branch to the current main branch before publication. The st
- Exercised all four example selectors, ChatGPT identity switching, and FAQ expansion. The footer motion control pauses the page, persists after reload, and resumes. Browser reduced-motion emulation pauses the page and disables the control. This was browser emulation, not a changed OS setting.
- Strict TypeScript checking passes for all three new motion modules. The repository-wide TypeScript command still reports diagnostics in unchanged Cloudflare functions, analytics, and worker files, plus the local untracked film project. These files are outside this publication change.
- The film project, its exports and music, and `.context/` are excluded from the website commit.

### Link-story revision — 25 October 2026

Learn more now follows the teaser’s seven-part narrative. Its header stays hidden until the Pilot-link reveal enters the viewport; no navigation was added. The illustrative demo now shows inbound coffee, introduction, group-plan and informational requests. The existing pause/reduced-motion, height-reservation, identity selection and cleanup logic remains. Historical counts and browser checks above apply to their named earlier revisions; current release checks are recorded in `cloud-teaser.md` and `pilot-film.md`.
51 changes: 30 additions & 21 deletions docs/cloud-teaser.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,52 @@

Standalone route: `/cloud-teaser`. This noindex preview is excluded from the sitemap and does not replace `/cloud` or `/cloud-landing`.

## Five-scene story
## Seven-scene story

1. **The last chore you’ll ever do.** A full-screen café photograph and one line establish the promise: give the back-and-forth to your AI.
2. **Bring your AI.** Muse, Dots, Grok Bot, Hermes, and OpenClaw surround Pilot. MCP-compatible chat apps remain an explicit alternative.
3. **Your friend group, on autopilot.** Muse and Priya’s Dots arrange one dinner. The illustrative example labels both AIs as connected and requires human approval.
4. **New AI. Same handle.** The visitor can switch the example AI while the handle and link remain. The example is not a real profile.
5. **Less planning. More see you soon.** A reunion photograph closes on the human outcome. Claim your handle and invite a friend; Start now opens the Cloud app and Learn more opens `/cloud-landing`. Both people connect an AI.
1. **What would you do with 20% more time?** A complete hypothetical question over café photography. It is not a claim about measured time lost or Pilot savings. No product marks appear yet.
2. **How does a “quick question” turn into 30 minutes?** Eight conversational asks appear together: coffee, an introduction, availability, work, feedback, a plumber, a designer and a pitch. The question is rhetorical, not a measured average.
3. **Let us help.** “Make this the last time you do these chores.” The campaign turn follows the request wall.
4. **One link. That’s it.** The URL prefix and @maya share one visual container. Your handle gives people a way to reach your agent. You connect your AI, share the link and decide who gets in. Supported-agent marks and the both-people-connect qualification remain.
5. **Put the back-and-forth on autopilot.** Priya’s agent asks yours for coffee. You approve the proposal. This local illustration sends no messages and books nothing.
6. **Put your link everywhere.** Bio, email and a message show the same handle. The teaser no longer includes an AI-switching demonstration.
7. **Take your life back.** Claim a handle, connect your AI and share your link. Final links go to the Cloud app and Learn more.

Earnings, future business coverage, and ecosystem expansion are omitted. Their conditions need more room than a teaser affords. Product qualifications follow `docs/cloud-messaging.md`.
Pilot and agents enter only after the desire, request pile and last-chore turn. Earnings, future business coverage and ecosystem expansion are omitted. Product qualifications follow `docs/cloud-messaging.md`. The link is a profile and connection entry point, not account-free guest chat; connection acceptance and both AIs being connected remain explicit.

The 20% figure is an imagined amount in a question, not an empirical statistic. The [BLS 2025 time-use table](https://www.bls.gov/news.release/atus.t01.htm) measures household activities, not these coordination requests. [McKinsey’s 2012 social-economy report](https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/the-social-economy) estimates workweek email/information-search time, not 20% of life. Neither supports the proposed factual hook. No savings chart, citation or badge suggests otherwise.

## Design and performance

One Inter Tight typeface, cream/clay colors, unframed photography, and sparse scenes replace the denser six-panel version. The café photograph is licensed stock; the reunion still comes from the existing Higgsfield film footage. Provenance is in `public/cloud/teaser/CREDITS.md`.
One Inter Tight typeface, cream/clay colors, unframed photography, and seven concise chapters carry the link story. The café photograph is licensed stock; the reunion still comes from the existing Higgsfield film footage. Provenance is in `public/cloud/teaser/CREDITS.md`.

Native vertical document scrolling moves the story horizontally. Mandatory CSS snap points settle on full chapters; there is no wheel or touch interception, synthetic momentum, timed advance, background video, or soundtrack. Previous/next buttons and Left/Right keys are available. Inactive chapters are inert.

Supported desktop browsers drive the track with a native CSS scroll timeline. Touch devices always use the measured document scroll position, writing only the track transform once per animation frame. This avoids relying on CSS syntax support as evidence that the sticky track actually advances on iPhone Safari. Other unsupported browsers use the same transform path. The previous inherited per-panel custom-property writes and decorative parallax were removed. Chapter state changes only at boundaries; the progress bar does not animate on touch devices.
Supported desktop browsers drive the track with a native CSS scroll timeline. Touch devices always use the measured document scroll position, writing only the track transform once per animation frame. This avoids relying on CSS syntax support as evidence that the sticky track actually advances on iPhone Safari. Other unsupported browsers use the same transform path. The previous inherited per-panel custom-property writes and decorative parallax were removed. Chapter state changes only at boundaries; the progress marker updates once per chapter on touch devices, rather than animating continuously.

The stage uses stable small-viewport height. Height-only resize events on touch devices no longer rebuild the layout or call scrollTo when browser chrome expands or collapses. Real width changes remeasure after a short debounce. The final chapter reserves large-viewport scroll space. These changes address identifiable sources of lag; no physical-phone frame-rate measurement is claimed.

Reduced motion, short windows, or content that cannot fit automatically use the ordinary vertical page. All chapters are measured before horizontal enhancement enables. There is no reading-mode toggle. Without JavaScript, the complete story and destination links remain available. Local demo controls do not send messages or book anything.

Implementation references: [WebKit scroll-driven animations](https://webkit.org/blog/17101/a-guide-to-scroll-driven-animations-with-just-css/), [Chrome scroll-driven animations](https://developer.chrome.com/docs/css-ui/scroll-driven-animations), [MDN scroll snapping](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/scroll-snap-type), and [MDN reduced motion](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@media/prefers-reduced-motion).

## Verification — 25 October 2026
## Verification

The seven-chapter regression harness checks actual touch transforms with and without advertised CSS timeline support, desktop native/fallback modes, toolbar resizing, width changes and reduced motion. It verifies the last chapter remains reachable. Existing phone compatibility behavior is preserved.

Current visual and build checks are recorded with the release. Browser emulation is not physical iPhone testing. The founder’s earlier symptom was a counter advancing while the image stayed frozen; touch devices consequently bypass CSS scroll timelines and use one transform write per animation frame. Physical-iPhone confirmation remains pending.

### Link-story release checks — 25 October 2026

- Production build, plain coverage, site integrity, scroll regression and targeted TypeScript checks pass. Built markup has no navigation elements, duplicate IDs or missing local images in either campaign page. All signup links say “Claim your handle”.
- Chrome device emulation at 375×667: visually reviewed all seven teaser chapters, including the full opening question, four requests, link requirements, approval disclosure, link placements and final actions. Native scrolling visibly changes the slide and settles on a chapter. The long page’s opening, requests, product reveal, interactive examples, placement cards and setup were also reviewed at this size.
- At 1280×800, inspected the opening, product reveal, agent exchange and distribution compositions. The local approval state changes after pressing Looks good; switching Muse to Dots keeps the same handle and placement links. All four Learn more scenarios were selected.
- Reduced-motion and short-window fallbacks are covered by the controller harness. No fresh physical-iPhone performance measurement or OS-level reduced-motion test is claimed. Native browser-control interruptions prevented completing the latter as a new visual check.
- DevTools showed development-server logging; one earlier back/forward navigation caused a Vite WebSocket cache warning, cleared on a new load. It is a dev-server connection, not the published controller.

- Production build passes: 335 Astro pages plus generated error documents.
- Plain coverage passes: 100 required pairs.
- Site integrity passes: 339 HTML files and 24,447 internal references.
- `check:teaser` exercises the actual TypeScript controller in both native/fallback modes: 50 height-only mobile resize events cause no reconfiguration or scrollTo; 30 scroll frames cause zero native transform writes and exactly one per frame in the fallback; width changes preserve the chapter; reduced motion removes horizontal mode and inert states. The regression check runs in CI.
- Chrome desktop and 390×844 compositions were visually inspected. The 375×667 view fits all five scenes, including the dinner disclosure and final CTA. Native scrolling reaches complete chapters; the Muse-to-Dots switch retains the handle. The root class confirms the native scroll-timeline path is active.
- Chrome’s reduced-motion emulation exposes the full vertical story and removes chapter controls; the preference was restored afterward.
- Console inspection showed development-server messages, without application errors.
- The separate `/pilot-film` page was checked at 375×667 in both formats. It starts paused and provides downloads and the full transcript. No film asset loads on the teaser.
The new progress marker follows touch chapters with a single boundary update, preserving the one-track-transform-per-frame scrolling path.

Browser checks include Chrome device emulation, not physical iPhone/Safari testing. The previous version’s 320×568 check is not claimed as a fresh visual check of this revision; the same short-window fallback remains covered by the controller logic.
### Conversational revision and height correction

### iPhone Safari frozen-slide follow-up
The expanded request wall and conversational wording follow the approved quick draft. At 1352×667, the prior distribution composition exceeded its grid content area and switched the whole story into vertical fallback. Compact desktop spacing and height-aware display type restore horizontal mode while retaining the accessibility fallback. The repaired distribution slide and reachable 07/07 were visually checked before this copy revision. Current controller regression covers all seven chapters. A fresh complete physical-phone check is not claimed.

The founder reported that the new design loaded but stayed on its first slide while scrolling in iPhone Safari. Touch devices now bypass CSS scroll timelines even when CSS.supports returns true. The scroll handler directly positions the track using one transform per frame; it retains native scroll snapping and the height-only resize protection. The regression check now covers touch browsers both with and without advertised CSS timeline support, verifies the actual transform at every chapter, and confirms that the final CTA remains reachable after a width change. Desktop native/fallback paths and reduced motion still pass. This is a targeted compatibility fix; physical-iPhone confirmation remains with the reporter.
Current conversational revision: fresh Chrome checks at 1352×667 and 375×667 show the expanded request wall fits and horizontal mode remains active. Mobile checks covered the grouped link, autopilot example, distribution and 07/07 final action. Native scrolling visibly advances both slide and counter. Browser emulation only; no new physical-iPhone claim.
20 changes: 16 additions & 4 deletions docs/pilot-film.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,22 @@

`/pilot-film` is a separate noindex viewing page with widescreen/vertical selection, ordinary video controls, downloads, and a text transcript. It has no autoplay. The teaser loads no film files.

Revision 14: 23.083 seconds at 60fps; 1920×1080 and 1080×1920. The film uses the exact website Inter Tight font, a matching puppy/Pilot lockup, cream/clay/ink palette, Muse and Priya’s Dots, a persistent handle, and the Start now CTA. Original scene boundaries and the one-interval 0:05 scene are retained. Human connection and plan approval remain explicit. Product scenes are labeled illustrative.
Revision 16: 26.917 seconds at 60fps; 1920×1080 and 1080×1920. Both formats follow the same seven-part story as `/cloud-teaser` and `/cloud-landing`: a hypothetical time question, everyday requests, the last chore, the Pilot link, agents coordinating with approval, the same link everywhere, and taking your life back. Pilot and agents enter at 11.750 seconds. The primary action is Claim your handle; setup is Claim, Connect, Share.

Picture: existing illustrated components and Higgsfield reunion footage (wide job `43933a0b-8a7f-4269-8c5b-6da310ebea55`, vertical job `43a9edd7-b165-4cc2-8980-34a3ed8b14d2`). Typeface and brand marks are reused from the website.
The opening is the complete question “What would you do with 20% more time?” It is not a measured time-use statistic or a promised saving. The link reveal uses the real handle URL format. Priya’s agent reaches Maya’s agent, after Maya accepts the connection. The proposed coffee time is confirmed only after human approval. Both connected AIs and the illustrative nature of the demonstration are labeled. The same link stays in the same screen position through bio, email-signature and message match cuts.

Audio: user-supplied first seven seconds of Imagine Dragons’ “Believer”, arranged into the existing drum loop, with the retained final fade. No narration. The user requested deployment of all work. This document records provenance, not a representation of a music license.
Picture: the existing café photograph, illustrated components, and Higgsfield reunion footage (wide job `43933a0b-8a7f-4269-8c5b-6da310ebea55`, vertical job `43a9edd7-b165-4cc2-8980-34a3ed8b14d2`). Typeface and brand marks are reused from the website. One Inter Tight family, cream/clay/ink palette, and a single human ending align all three surfaces.

Both final files fully decode, contain 1,385 frames, end with black video and zero final-10ms audio RMS, and have 0.999876 correlation to the retained source waveform. This is numerical verification, not independent listening. The production source, previous cuts, generation records, and independent visual review stay in the local `launch-video/drums/output/rhythm-v14/` archive. Only final MP4s, posters, and transcript are published.
Audio: user-supplied first seven seconds of Imagine Dragons’ “Believer”, arranged into the existing drum loop at the original tempo. The approved waveform is sample-identical through the first 21 seconds; an existing complete loop extends the cut, with a final two-second fade to silence. No narration or new effects. Picture fades over the final 1.05 seconds. This records provenance, not a representation of a music license.

Scene transitions and component changes are quantized from measured audio attacks, not an assumed BPM grid. The production source, full text/timings, audio provenance, previous cuts and independent reviews stay in the local `launch-video/drums/output/rhythm-v16/` archive. Only final MP4s, posters and the full transcript are published.

## Release verification

Both exports fully decode and contain 1,615 frames at 60fps. The picture ends black. Encoded audio starts at zero alongside video; correlation to the arranged WAV is 0.999874. Peak sample magnitude is 0.593, and final-10ms RMS is approximately 0.000059 (about −84.5dBFS). The AAC container includes a small codec tail; picture duration is 26.916667s and container duration 26.923s. These are numerical audio checks, not an independent listening test.

Twenty-five major cuts/state changes were compared against the unchanged measured waveform attacks. Maximum offset is 10.667ms, below one 60fps frame. The complete hypothetical question remains visible from frame zero; the permission line remains through the final fade. Earlier reviews corrected a wide handle/footer collision and outgoing-profile clipping. Revision 16 adds an eight-request wall and grouped handle link; independent render review is archived beside the exports.

## Conversational revision

Eight requests and the 30-minute question replace the four-card wall. The request screen now lasts 5.75s. “Let us help” precedes the grouped URL/handle reveal; “Put the back-and-forth on autopilot” heads the coffee example. The sharing sequence contains no AI-switching copy. The last CTA remains fully present for 2.6s before the picture fade. Approved audio is unchanged byte-for-byte; picture changes are retimed to that existing measured loop. Final review and measured sync are archived with revision 16. Intentional reading holds follow the user's slower-pacing direction and are an exception to the skill's 0.6s stillness target.
Binary file modified public/cloud/film/pilot-vertical.mp4
Binary file not shown.
Binary file modified public/cloud/film/pilot-wide.mp4
Binary file not shown.
Binary file modified public/cloud/film/poster-vertical.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/cloud/film/poster-wide.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading