demobite 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/record.mjs +15 -3
- package/skill/SKILL.md +1 -0
package/package.json
CHANGED
package/scripts/record.mjs
CHANGED
|
@@ -427,6 +427,13 @@ const pushWide = (tStart, tEnd, label, extra) =>
|
|
|
427
427
|
// spans the whole landing — the line "you land on the report" plays over it.
|
|
428
428
|
let wideAfter = null; // { tStart, label, extra }
|
|
429
429
|
const wantsWide = (step) => step.frame === "wide";
|
|
430
|
+
// Every click keeps its close shot this long past the click (founder
|
|
431
|
+
// 2026-09-29). The export FINISHES a pull-out at the shot's end, so a close
|
|
432
|
+
// shot ending 0.3 s after the click started pulling out ~0.7 s BEFORE it: the
|
|
433
|
+
// last click of bite 1110 (the pause switch) played at 1.12x. 1.1 s puts the
|
|
434
|
+
// whole pull-out after the click lands. A click framed wide (option 2) hands
|
|
435
|
+
// over to its wide landing at the same moment.
|
|
436
|
+
const LANDING_PULL_OUT = 1.1;
|
|
430
437
|
const wantsClose = (step) => step.frame === "close";
|
|
431
438
|
// The page as a signature, so a submit that swaps the page IN PLACE (a search
|
|
432
439
|
// that re-renders a list, a client-side route change) counts as a landing
|
|
@@ -967,9 +974,14 @@ try {
|
|
|
967
974
|
await page.evaluate(([a, b]) => window.__recSetCursor?.(a, b), [cx, cy]);
|
|
968
975
|
}
|
|
969
976
|
// Shot one: the control — beginning near ARRIVAL (see the camera
|
|
970
|
-
// choreography law above), never spanning the approach glide.
|
|
971
|
-
|
|
972
|
-
|
|
977
|
+
// choreography law above), never spanning the approach glide. A click
|
|
978
|
+
// framed `wide` (its line is about where it leads) is STILL filmed
|
|
979
|
+
// close on the click; the landing after it is the wide shot. Before
|
|
980
|
+
// 2026-09-29 the whole step went wide from arrival, so the viewer saw
|
|
981
|
+
// a tiny cursor click a tiny item (bite 1117: all three clicks).
|
|
982
|
+
const closeEnd = Math.max(t() + 0.3, rec.click_at + LANDING_PULL_OUT);
|
|
983
|
+
pushShot(userShotBox(step, box), Math.max(shotStart, arrivalT - 0.3), closeEnd, step.label, { n: rec.n, glide: { t_start: Math.round(shotStart * 100) / 100, t_end: Math.round(arrivalT * 100) / 100 } });
|
|
984
|
+
if (stepWide) wideAfter = { tStart: closeEnd, label: `${step.label ?? "click"}, landing`, extra: { n: rec.n, revealed: true } };
|
|
973
985
|
// LAW (press physics, founder 2026-08-09): a press has a down and an
|
|
974
986
|
// up — but the up only exists if the clicked surface is still there.
|
|
975
987
|
// A menu item or modal button that DESTROYS itself on click gets a
|
package/skill/SKILL.md
CHANGED
|
@@ -172,6 +172,7 @@ Framing is our job, never the customer's (founder, 2026-09-27). Decide it from t
|
|
|
172
172
|
- A field, a button, a menu item, a toggle, a badge, a row = `"close"`.
|
|
173
173
|
- Landing on a page, a report, a chart, a table, a dashboard, a list of results = `"wide"`. So is every line that says "here is", "you see", "you land on", "the whole".
|
|
174
174
|
- A `type` step with `enter` is close for the typing. What Enter reveals is wide by itself; the recorder sees the new page. Do not add a beat for it.
|
|
175
|
+
- A `click` whose line is about where it leads ("pick it, and you are on the right screen") = `"wide"`. The recorder still films the click itself close, then goes wide on the landing from the moment of the click (founder, 2026-09-29). The viewer always sees what was clicked, then where it led.
|
|
175
176
|
- A bare `settle` right after a navigation is wide by itself.
|
|
176
177
|
- Two consecutive wides on the same page are one shot. Write both; the server joins them.
|
|
177
178
|
- Never more than 4 seconds of close on a static screen. When the line runs longer, the beat is wide.
|