// Caret landing — Section 2 (the loop it removes) + Section 3 (the demo, a Mac-window faux recording) function SectionHead({ eyebrow, title, sub, center, light }) { return (
{eyebrow}

{title}

{sub &&

{sub}

}
); } // ——— Section 2 — the loop it removes ——— function TheLoop() { const before = [ 'Copy the text', '⌘Tab to ChatGPT', '⌘V, type a prompt', 'Wait. Read. ⌘C', '⌘Tab back, ⌘V', ]; return (
Before
{before.map((b, i) => (
{String(i + 1).padStart(2, '0')} {b}
))}
Lose your place. Repeat 30× a day.
After
ss
I just wanted to quickly circle back and follow up on the thing we discussed…
Following up on last week's timeline — any further thoughts?
Never leave the app.
); } // ——— Section 3 — the demo (animated Mac window) ——— const DEMO_A = 'Following up on last week\u2019s timeline — any further thoughts?'.split(' '); const DEMO_B = 'Matches an E.164 phone number: an optional +, a non-zero first digit, then up to 14 more digits.'.split(' '); const DEMO_INIT = { app: 'mail', visible: false, query: '', showCursor: false, mode: 'list', activeAlias: null, result: '', streaming: false, keyflash: null, mailReplaced: false, resultLabel: 'Summarize · result' }; const DEMO_STATIC = { app: 'code', visible: true, query: 'ex', showCursor: false, mode: 'result', activeAlias: 'ex', result: DEMO_B.join(' '), streaming: false, keyflash: null, mailReplaced: true, resultLabel: 'Explain this · result' }; const DEMO_EVENTS = [ // scene A — summarize a paragraph in Mail { t: 400, patch: { keyflash: 'summon' } }, { t: 650, patch: { visible: true, showCursor: true } }, { t: 1050, patch: { keyflash: null } }, { t: 1350, patch: { query: 's', keyflash: 'type' } }, { t: 1500, patch: { query: 'ss', activeAlias: 'ss' } }, { t: 1800, patch: { keyflash: null } }, { t: 2100, patch: { keyflash: 'run' } }, { t: 2280, patch: { mode: 'result', streaming: true, showCursor: false, result: '', resultLabel: 'Summarize · result' } }, ...streamEvents(DEMO_A, 2420, 90), { t: 2700, patch: { keyflash: null } }, { t: 3650, patch: { streaming: false } }, { t: 4250, patch: { keyflash: 'replace' } }, { t: 4450, patch: { mailReplaced: true } }, { t: 4900, patch: { visible: false, keyflash: null, mode: 'list', query: '', activeAlias: null } }, // scene B — explain a regex in code { t: 5400, patch: { app: 'code', result: '' } }, { t: 5550, patch: { keyflash: 'summon', visible: true, showCursor: true } }, { t: 5950, patch: { keyflash: null } }, { t: 6250, patch: { query: 'e', keyflash: 'typeB' } }, { t: 6400, patch: { query: 'ex', activeAlias: 'ex' } }, { t: 6700, patch: { keyflash: null } }, { t: 7000, patch: { keyflash: 'run' } }, { t: 7180, patch: { mode: 'result', streaming: true, showCursor: false, result: '', resultLabel: 'Explain this · result' } }, ...streamEvents(DEMO_B, 7320, 80), { t: 7600, patch: { keyflash: null } }, { t: 8900, patch: { streaming: false } }, { t: 9700, patch: { visible: false, keyflash: null } }, // reset { t: 10200, patch: { app: 'mail', mailReplaced: false, mode: 'list', query: '', activeAlias: null, result: '' } }, ]; const DEMO_LOOP = 10900; function MailDoc({ replaced }) { return (
Reply to Dana Cole
Re: Q3 timeline

{replaced ? 'Following up on last week\u2019s timeline — any further thoughts?' : 'I just wanted to quickly circle back and follow up on the thing we discussed last week regarding the timeline, and see whether you had any further thoughts you wanted to share at this point.'}

); } function CodeDoc() { const c = { kw: '#FF7AB6', fn: '#79C0FF', str: '#7EE787', def: '#E6EDF3', cm: '#8B949E', num: '#FFA657' }; const lines = [ [['function ', c.kw], ['validatePhone', c.fn], ['(input) {', c.def]], [[' const ', c.kw], ['re', c.def], [' = ', c.def], ['/^\\+?[1-9]\\d{1,14}$/', c.num], [';', c.def]], [[' return ', c.kw], ['re', c.def], ['.test(input.trim());', c.def]], [['}', c.def]], ]; return (
{lines.map((ln, i) => (
{i + 1} {ln.map(([t, col], j) => {t})}
))}
); } function DemoWindow({ reduced }) { const s = useTimeline(DEMO_EVENTS, DEMO_INIT, DEMO_LOOP, !reduced, DEMO_STATIC); const isMail = s.app === 'mail'; return (
{isMail ? 'Mail — Reply' : 'phone.js — caret-demo'}
{isMail ? 'Mail' : 'Code'} FileEditView Caret
{isMail ? : } {/* the floating panel inside the window */}
); } function DemoSection({ reduced }) { return (

Illustrated AI walkthrough · Explore everyday features →

); } Object.assign(window, { SectionHead, TheLoop, DemoSection });