fix(design-motion): seek story transitions from their own frame

- capture: an animation first seen in a frame where window.__mark did not
  move (a story's class toggle) is seeked from that frame instead of the
  last mark, so it eases in the export instead of popping ~100 ms ahead
- encode: an empty numeric option is refused instead of read as 0
- figma: only fill a file key and node id that look like Figma's
- tests: class-toggled transition mid-fade at its midpoint, blank --min-db

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
garrytanandcapy-ai[bot] committed 2026-10-26 02:39:54 +00:00
1 parent 3aa44719b6
commit fc8264ce9f
8 files changed
+39 -9

No files matched your search

+1 -1
View File
@@ -81,7 +81,7 @@ function run(args: string[]) {
function num(flag: string, fallback: number): number {
const raw = flags.get(flag);
if (raw === undefined) return fallback;
const v = Number(raw);
const v = raw.trim() === '' ? NaN : Number(raw);
if (!Number.isFinite(v) || v < 0) die(2, `gstack-motion-encode: ${flag} must be a non-negative number, got '${raw}'`);
return v;
}