You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(web): the real captures replace the pending plates
The §02 loop and two stills (a click, a frame) and the §03 pins still,
recorded from AnnotKitDemo, land in public/captures and the manifest flips
each slot from pending to ready with intrinsic sizes and the build hash.
The loop predates the notes-file rename and is stamped accordingly.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: web/public/captures/README.md
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,19 @@ While a shot is missing, `src/captures.ts` marks it `pending` and the page
8
8
renders a labelled empty plate naming the shot. That is deliberate: the hole
9
9
is honest, a fake screenshot is not.
10
10
11
-
## The shot list (L4)
11
+
## The shots
12
12
13
-
| File |Shot| Notes |
13
+
| File |Where| Notes |
14
14
|---|---|---|
15
-
|`annotate-loop.webm` + `annotate-loop.png`| §02 lead — click a control, composer opens, note submitted | Muted, ≤ ~1.5 MB, one take, no cuts. The `.png` is the poster frame. |
|`annotkit-notes.avif` / `.webp` / `.png`| §03 — the `ANNOTKIT_NOTES.md` the run wrote | Plain editor, no chrome in the crop. |
15
+
|`annotate-loop.mp4` + `annotate-loop-poster.png`| §02 lead | 22 s, muted, H.264, 1274×820, 465 KB. The poster is shown to reduced-motion readers, who get a play control instead of autoplay. |
16
+
|`annotate-click.png`| §02 | A click on the avatar: selector chip and composer. |
17
+
|`annotate-frame.png`| §02 | A frame around the heading and Profile card, composer waiting. |
18
+
|`notes-pins.png`| §03 | Five pins placed, copy button under the pointer. |
19
+
|`annotate-hover.png`| unused | The Profile card under hover, chip `Settings.Profile`. Kept for a future slot. |
20
+
21
+
Stills recorded from `task demo` at `b5f58cf`; the loop at `4db8fc6` (its help text still says `AGENTATION_NOTES.md`, so re-shoot it when convenient). The stills are PNG at 2×; re-encode
22
+
to AVIF/WebP if the page's weight budget ever needs it (`Figure` takes a single
"`task demo` → click Save → composer opens → type a note → submit. Muted webm, ≤ 1.5 MB, with a poster frame. One loop, no cuts.",
64
+
status: "ready",
65
+
kind: "loop",
66
+
src: "/captures/annotate-loop.mp4",
67
+
poster: "/captures/annotate-loop-poster.png",
68
+
alt: "AnnotKitDemo, a dark macOS settings window. Annotate is pressed, a control is clicked, a note is typed into the composer and sent; a numbered pin lands on the control.",
69
+
width: 1274,
70
+
height: 820,
71
+
caption: "AnnotKitDemo: press Annotate, click a control, type a note, send. 22 seconds, muted.",
72
+
buildHash: LOOP_HASH,
73
+
};
74
+
75
+
/** §02 support still — a click, the composer, the resolved selector. */
76
+
exportconstannotateClick: Capture={
77
+
status: "ready",
78
+
kind: "still",
79
+
src: "/captures/annotate-click.png",
80
+
alt: "The demo window after a click on the avatar. A chip above it reads Settings.Profile.Avatar and the composer below holds the note “Change the background color to green”.",
81
+
width: 1428,
82
+
height: 1378,
83
+
caption: "A click on the avatar. The chip is the resolved selector, `Settings.Profile.Avatar`; the composer opens under it.",
84
+
buildHash: HASH,
63
85
};
64
86
65
-
/** §02 support still — the pin and the composer, close in. */
66
-
exportconstannotatePin: Capture={
67
-
status: "pending",
68
-
caption: "The pin and the composer, drawn over the app being annotated.",
69
-
shot: "Still · pin + composer detail",
70
-
direction:
71
-
"`task demo` → place a pin on `Settings.Profile.Save` → screenshot the composer with the resolved selector visible.",
87
+
/** §02 support still — a frame, and what it bound to. */
88
+
exportconstannotateFrame: Capture={
89
+
status: "ready",
90
+
kind: "still",
91
+
src: "/captures/annotate-frame.png",
92
+
alt: "The demo window with a frame drawn around the heading and the Profile card. The composer title reads Frame → Settings… and waits for a note.",
93
+
width: 1498,
94
+
height: 1286,
95
+
caption: "A frame drawn around the heading and the Profile card. The largest element it surrounds wins, not the labels inside.",
96
+
buildHash: HASH,
72
97
};
73
98
74
-
/** §03 support still — the notes file the run produced. */
75
-
exportconstnotesFile: Capture={
76
-
status: "pending",
77
-
caption: "The `ANNOTKIT_NOTES.md` the run above wrote.",
78
-
shot: "Still · `ANNOTKIT_NOTES.md` in an editor",
79
-
direction:
80
-
"Open the `ANNOTKIT_NOTES.md` written by the demo run and screenshot it. Plain editor, no window chrome in the crop.",
99
+
/** §03 support still — the notes, pinned in the app, before export. */
100
+
exportconstnotesPins: Capture={
101
+
status: "ready",
102
+
kind: "still",
103
+
src: "/captures/notes-pins.png",
104
+
alt: "The demo window with five numbered blue pins on its controls and the toolbar’s copy button under the pointer, captioned Copy notes (Markdown).",
105
+
width: 1570,
106
+
height: 1350,
107
+
caption: "Five notes pinned. Save writes them all to one `ANNOTKIT_NOTES.md`; the toolbar copies the same markdown.",
0 commit comments