@appinternalleads/ui 0.4.1 → 0.4.3

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.
Files changed (76) hide show
  1. package/README.md +108 -0
  2. package/dist/cjs/motion/player.js +3 -0
  3. package/dist/cjs/motion/player.js.map +1 -1
  4. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +25 -2
  5. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
  6. package/dist/cjs/motion/typesurface/config.js +21 -1
  7. package/dist/cjs/motion/typesurface/config.js.map +1 -1
  8. package/dist/cjs/motion/typesurface/construct.js +875 -0
  9. package/dist/cjs/motion/typesurface/construct.js.map +1 -0
  10. package/dist/cjs/motion/typesurface/engine.js +28 -4
  11. package/dist/cjs/motion/typesurface/engine.js.map +1 -1
  12. package/dist/cjs/motion/typesurface/index.js +9 -1
  13. package/dist/cjs/motion/typesurface/index.js.map +1 -1
  14. package/dist/cjs/motion/typesurface/presets.js +69 -2
  15. package/dist/cjs/motion/typesurface/presets.js.map +1 -1
  16. package/dist/cjs/motion/typesurface/renderer.js +81 -15
  17. package/dist/cjs/motion/typesurface/renderer.js.map +1 -1
  18. package/dist/cjs/motion/typesurface/shaders.js +23 -1
  19. package/dist/cjs/motion/typesurface/shaders.js.map +1 -1
  20. package/dist/cjs/motion/typesurface/surfaces.js +69 -0
  21. package/dist/cjs/motion/typesurface/surfaces.js.map +1 -1
  22. package/dist/esm/motion/player.d.ts.map +1 -1
  23. package/dist/esm/motion/player.js +3 -0
  24. package/dist/esm/motion/player.js.map +1 -1
  25. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +11 -1
  26. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -1
  27. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +25 -2
  28. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
  29. package/dist/esm/motion/typesurface/config.d.ts +13 -2
  30. package/dist/esm/motion/typesurface/config.d.ts.map +1 -1
  31. package/dist/esm/motion/typesurface/config.js +21 -1
  32. package/dist/esm/motion/typesurface/config.js.map +1 -1
  33. package/dist/esm/motion/typesurface/construct.d.ts +284 -0
  34. package/dist/esm/motion/typesurface/construct.d.ts.map +1 -0
  35. package/dist/esm/motion/typesurface/construct.js +866 -0
  36. package/dist/esm/motion/typesurface/construct.js.map +1 -0
  37. package/dist/esm/motion/typesurface/engine.d.ts +8 -0
  38. package/dist/esm/motion/typesurface/engine.d.ts.map +1 -1
  39. package/dist/esm/motion/typesurface/engine.js +28 -4
  40. package/dist/esm/motion/typesurface/engine.js.map +1 -1
  41. package/dist/esm/motion/typesurface/index.d.ts +7 -3
  42. package/dist/esm/motion/typesurface/index.d.ts.map +1 -1
  43. package/dist/esm/motion/typesurface/index.js +6 -2
  44. package/dist/esm/motion/typesurface/index.js.map +1 -1
  45. package/dist/esm/motion/typesurface/presets.d.ts +18 -0
  46. package/dist/esm/motion/typesurface/presets.d.ts.map +1 -1
  47. package/dist/esm/motion/typesurface/presets.js +68 -3
  48. package/dist/esm/motion/typesurface/presets.js.map +1 -1
  49. package/dist/esm/motion/typesurface/renderer.d.ts +10 -0
  50. package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -1
  51. package/dist/esm/motion/typesurface/renderer.js +82 -16
  52. package/dist/esm/motion/typesurface/renderer.js.map +1 -1
  53. package/dist/esm/motion/typesurface/shaders.d.ts +1 -1
  54. package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -1
  55. package/dist/esm/motion/typesurface/shaders.js +23 -1
  56. package/dist/esm/motion/typesurface/shaders.js.map +1 -1
  57. package/dist/esm/motion/typesurface/surfaces.d.ts +28 -1
  58. package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -1
  59. package/dist/esm/motion/typesurface/surfaces.js +67 -0
  60. package/dist/esm/motion/typesurface/surfaces.js.map +1 -1
  61. package/docs/TYPE-SURFACE.md +188 -0
  62. package/package.json +4 -2
  63. package/src/motion/player.ts +3 -0
  64. package/src/motion/typesurface/TypeSurfaceCanvas.tsx +30 -2
  65. package/src/motion/typesurface/config.ts +29 -3
  66. package/src/motion/typesurface/construct.ts +828 -0
  67. package/src/motion/typesurface/engine.ts +31 -5
  68. package/src/motion/typesurface/index.ts +7 -3
  69. package/src/motion/typesurface/presets.ts +75 -3
  70. package/src/motion/typesurface/renderer.ts +77 -17
  71. package/src/motion/typesurface/shaders.ts +23 -1
  72. package/src/motion/typesurface/surfaces.ts +78 -1
  73. package/tools/ask/dist/components.mjs +4235 -908
  74. package/tools/ask/dist/render.js +589 -0
  75. package/tools/ask/mcp.mjs +261 -7
  76. package/tools/ask/render.mjs +248 -0
package/README.md CHANGED
@@ -259,6 +259,92 @@ the steps if you want the registry later.
259
259
 
260
260
  ---
261
261
 
262
+ ## Animation
263
+
264
+ **Everything animated ships from `@comppack/ui/motion`, and every frame is a pure function of a
265
+ config and a time.** Nothing in it uses CSS animations, so the same code drives a live player, a
266
+ scrubber and a Remotion render.
267
+
268
+ ```tsx
269
+ import { MotionPlayer, wordMotion, PaperFoldPlayer, Cat, validateMotionRequest } from '@comppack/ui/motion';
270
+
271
+ <MotionPlayer template={wordMotion} width={360} content={{ scenes: [{ text: 'build' }, { text: 'ship.' }] }} />
272
+ <PaperFoldPlayer width={360} config={{ content: { top: { headline: 'Summer events are here' } } }} />
273
+ <Cat timeMs={t} tailWiggleAmount={8} />
274
+ ```
275
+
276
+ | What | Import | You change | Timing |
277
+ |---|---|---|---|
278
+ | `hey-template`, `word-motion` | `MotionPlayer` + the template | Text slots, theme colours, beats | Fixed in generated keyframes |
279
+ | `replication-2` | `Replication2Player` | 218 controls, 7 presets | In the config |
280
+ | `promo-product-showcase` | `PromoShowcasePlayer` | 430 config fields, 7 presets | In the config |
281
+ | `paper-fold-promo` | `PaperFoldPlayer`, `PaperFold` | 567 config fields, 5 presets | In the config |
282
+ | Cat rig | `Cat`, `CatPlayer`, `CatRig` | Pose, colours, a `cat-rig-animation/1` document | In the document |
283
+ | Neon | `NeonText`, `NeonCanvas`, `Neon` | Look, flicker and glitch rates, seed, scene elements | Procedural; you pass `timeMs` |
284
+ | Type surface | `TypeSurfaceCanvas`, `TypeSurface` | 119 controls, `stages[]`, 10 presets | You pass `progress` |
285
+
286
+ **An agent sends one request shape**, `motion/1`, and gets back either a checked config with its
287
+ length or a list of `{ path, message }` errors:
288
+
289
+ ```ts
290
+ validateMotionRequest({ schema: 'motion/1', template: 'paper-fold-promo', content: {},
291
+ patch: { 'content.top.headline': 'Hello', 'folds.top.peakAngle': 170 } });
292
+ ```
293
+
294
+ `listMotionTemplates()` and `describeMotionTemplate(id)` return every control with its type, range
295
+ and default. They cover the five registered templates; the cat, neon and type surface validate
296
+ through their own namespaces (`CatRig.validateCatConfig`, `Neon.validateNeonScene`,
297
+ `TypeSurface.validateTypeSurface`).
298
+
299
+ **Video comes from `remotion-prototype/`**, which calls the same engines: `npm run
300
+ paperfold:render:portrait`, `promo:render:landscape`, `replication2:render:landscape`, `cat:render`.
301
+ Its tests are a separate suite — `cd remotion-prototype && npm test`, plus `npm run test:render`
302
+ for real frames — and root `npm test` does not run them.
303
+
304
+ **UI components animate through hooks, not config**: `usePresence`, `useTween`, `useSwap`,
305
+ `useTick` and `useLoop` from `@comppack/ui`, timed by the `MOTION` tokens. No component takes a
306
+ duration or an easing.
307
+
308
+ How each animation actually works, what is geometry and what is a trick, 63 review findings and
309
+ what an agent can and cannot change:
310
+ [`docs/reviews/animation-mechanics/animation-mechanics-review.pdf`](./docs/reviews/animation-mechanics/animation-mechanics-review.pdf).
311
+ The same inventory as data:
312
+ [`animation-inventory.json`](./docs/reviews/animation-mechanics/animation-inventory.json).
313
+ Template authoring: [`docs/MOTION-TEMPLATES.md`](./docs/MOTION-TEMPLATES.md).
314
+
315
+ ---
316
+
317
+ ## Text on objects built from parts (TypeSurface)
318
+
319
+ `@comppack/ui/motion` exports `TypeSurface` and `TypeSurfaceCanvas`: text that wraps a surface, drawn with WebGL2 in the browser.
320
+ There is no catalogue of objects. An object is composed from primitives (cylinder, sphere, ring, revolve, tube, box), manipulators
321
+ (taper, flare, bulge, twist, bend, scale) and materials, as JSON in the config's `object` field.
322
+
323
+ ```tsx
324
+ import { TypeSurface, TypeSurfaceCanvas } from '@comppack/ui/motion';
325
+
326
+ TypeSurface.describeConstruction(); // the manifest: every primitive, manipulator and material, with ranges, recipes and limits
327
+
328
+ const config = TypeSurface.createTypeSurface({ text: 'Tushar', object: 'tumbler', objectMaterial: 'metal', objectColor: '#C9CDD3', color: '#1B1D20' });
329
+ config.object.parts.push({ id: 'lid', shape: 'cylinder', params: { radius: 0.39, height: 0.09 }, ops: [],
330
+ material: { type: 'matte', color: '#1B1D20' }, at: [0, 1.5, 0], rotate: [0, 0, 0] });
331
+ TypeSurface.validateTypeSurface(config); // [] or [{ path, message }]; never throws
332
+
333
+ <TypeSurfaceCanvas config={config} timeMs={0} style={{ width: 600, height: 600 }} onReady={() => { /* fonts loaded, frame drawn */ }} />
334
+ ```
335
+
336
+ - `object` may be a recipe name (`tumbler`, `mug`, `can`, `bottle`) or a whole spec for something with no recipe.
337
+ - **Text size:** `createTypeSurface({ object })` sizes the text to the part's front face and inks it to read on the part. After editing
338
+ the text or the object, call `TypeSurface.fitObjectText(config)` again. The rule is in the manifest (`text.sizing`).
339
+ - **Looking at it:** turn the object, not the camera: `TypeSurface.applySurfaceState(config, 'tipped')` (also `lying`, `turned`), or
340
+ `deformation.tiltX` / `tiltY`. Leave `view.yaw` and `view.pitch` at 0 (manifest: `view`).
341
+ - **Fonts:** a lab font (`TypeSurface.TS_FONTS`: Anton, Oswald, Playfair Display…) is fetched from Google Fonts by the canvas when the
342
+ page has not declared it; pass `loadFonts={false}` to load fonts yourself. Ready waits for the font either way.
343
+ - **A PNG:** wait for `onReady`, or for the element's `data-ts-ready="true"` (`page.waitForSelector('[data-ts-ready="true"]')`), then
344
+ screenshot or call `canvas.toDataURL()`. The canvas keeps its drawing buffer.
345
+ - Full guide: `docs/TYPE-SURFACE.md` in this package.
346
+ - Over MCP: `describe_object_construction`, `check_object_request` and `render_object` on the `comppack-ask` server (below).
347
+
262
348
  ## Asking from a CLI
263
349
 
264
350
  **A terminal cannot draw a slider, and the thing that most often needs to ask has no window at
@@ -286,6 +372,28 @@ node tools/ask/cli.mjs 17-card-picker | jq '.answers.keep'
286
372
  claude mcp add comppack-ask -- npx -y comppack-ask
287
373
  ```
288
374
 
375
+ **The same server renders.** Four tools write a file and say what it is, with one output contract:
376
+ `png` and `jpg` are one frame drawn directly (`timeSeconds` or `frame` chooses the moment); `mp4`,
377
+ `webm` and `gif` are every frame.
378
+
379
+ | Tool | Draws | Formats |
380
+ |---|---|---|
381
+ | `render_neon_sign` | A neon sign: text, emoji or artwork elements, each with its own colour and font, flicker and glitch, on a brick wall | png, jpg, mp4, webm, gif |
382
+ | `render_animation` | Any motion template, from the `motion/1` request `check_animation_request` accepts | png, jpg, mp4, webm, gif |
383
+ | `render_object` | An object built from parts with words on it | png, jpg |
384
+ | `render_surface` | Words printed on a newspaper, paper, a bottle label, a wrapper or fabric; a `motion` plays its fold, roll or crumple | png, jpg, mp4, webm, gif |
385
+
386
+ They need Playwright in the project; a video also needs `ffmpeg` on `PATH`. Each says so when
387
+ something is missing. `neon-sign` is also listed by `list_animations`, described by
388
+ `describe_animation` and checked by `check_animation_request`, beside the motion templates.
389
+
390
+ **And it builds objects with text on them.** There is no object catalogue. `describe_object_construction` returns the manifest:
391
+ primitives (cylinder, sphere, ring, revolve, tube, box), manipulators, materials, the recipes' full specs to copy and edit, and what
392
+ cannot be done. `check_object_request` validates `{ text, object }`, where `object` is a recipe name (`tumbler`, `mug`, `can`,
393
+ `bottle`) or any spec of parts, and returns the full TypeSurface config: the reusable preset. `render_object` draws the same request
394
+ to a PNG or JPG with the package's own `TypeSurfaceRenderer`. A bad spec is refused by
395
+ path, not repaired.
396
+
289
397
  The `question` argument's schema is [`spec/question.generate.json`](./spec/question.generate.json)
290
398
  — the **generation profile**, not the validator. `question.schema.json` is 23 KB with 26 `if` and
291
399
  ten self-references and cannot be a tool's `inputSchema`; the profile is flat, 8 KB on the wire,
@@ -39,6 +39,9 @@ function installMotionStyles(template, doc = document) {
39
39
  link.dataset.motionStyles = key;
40
40
  link.dataset.loaded = 'false';
41
41
  link.addEventListener('load', () => (link.dataset.loaded = 'true'), { once: true });
42
+ /* A stylesheet that failed has settled too. Left at 'false', every later mount would wait for
43
+ an event that has already fired, and stay on frame 0 with its fallback font. */
44
+ link.addEventListener('error', () => (link.dataset.loaded = 'error'), { once: true });
42
45
  doc.head.append(link);
43
46
  }
44
47
  if (link.dataset.loaded === 'false') {
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../../../src/motion/player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../../../src/motion/player.ts"],"names":[],"mappings":";;;AA4CA,kDA+BC;AAsCD,kCAgGC;AAjND;;;;;;;;GAQG;AACH,+BAAiC;AACjC,qCAAqG;AAErG,yCAA4E;AAE5E,MAAa,4BAA6B,SAAQ,KAAK;IAChC;IAArB,YAAqB,MAA4B;QAC/C,KAAK,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAD5D,WAAM,GAAN,MAAM,CAAsB;QAE/C,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AALD,oEAKC;AAkBD,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAE,CAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AAEnI;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAwB,EAAE,MAAgB,QAAQ;IACpF,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAkB,wBAAwB,GAAG,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF;8FACkF;YAClF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAK,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrI,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;SACtB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1J,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;SAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAID;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAmB,EAAE,QAAwB,EAAE,OAAgB;IACrF,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAS,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAc,gBAAgB,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAChF,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,KAAK,GAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAA2C,IAAI,EAAE,CAAC;IACvF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;QAChD,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,KAAK,SAAS;gBAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,kGAAkG;QAClG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,aAAa,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAK,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;YACzE,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,KAAK,EAAE,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAChE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACrH,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,kGAAkG;AAClG,SAAgB,WAAW,CAAC,IAAiB,EAAE,QAAwB,EAAE,OAAgB,EAAE,UAAwB,EAAE;IACnH,MAAM,MAAM,GAAG,IAAA,gCAAqB,EAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEtE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAgC,CAAC;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACtD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAA,uBAAc,EAAE,OAA8C,CAAC,KAAK,CAAC,CAAC;QAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3I,IAAI,MAAM,CAAC,QAAQ;QAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,6FAA6F;IAC7F,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK;YAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,gBAAgB,CAAC,CAAC;QAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAErJ,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAc,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,oFAAoF;IACpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC,CAAC;QACZ,MAAM,EAAE,GAAG,IAAA,gBAAO,EAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAO,EAAE,EAAG,CAAC,KAAK,EAAE,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,2FAA2F;IAC3F,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,SAAS;YAAE,OAAO;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,CAAC;QAC3E,KAAK,MAAM,EAAE,IAAI,KAAK;YAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,cAAQ,EAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;YAC3B,GAAG,GAAG,CAAC,CAAC;YACR,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC;QAC/B,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,GAAG,IAAI,SAAS;YAAE,OAAO;QAC7B,IAAI,OAAO,IAAI,gBAAgB,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC;QACjD,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC9D,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,GAAG,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,QAAQ;QAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5C,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,IAAI,KAAK,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,gBAAgB;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK;QACL,OAAO;YACL,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -7,18 +7,22 @@ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const config_1 = require("./config");
9
9
  const renderer_1 = require("./renderer");
10
+ const text_1 = require("./text");
10
11
  const timeline_1 = require("./timeline");
11
12
  /**
12
13
  * **One typography × surface experiment, drawn.** Pure with respect to its props: the same config,
13
14
  * progress and time always draw the same picture, so a playground, a scrubber or a video render can
14
15
  * drive it.
15
16
  */
16
- function TypeSurfaceCanvas({ config, progress, timeMs = 0, debug, className, style, onRenderer }) {
17
+ function TypeSurfaceCanvas({ config, progress, timeMs = 0, debug, className, style, onRenderer, onReady, loadFonts = true }) {
17
18
  const canvas = (0, react_1.useRef)(null);
18
19
  const overlay = (0, react_1.useRef)(null);
20
+ const root = (0, react_1.useRef)(null);
21
+ const notified = (0, react_1.useRef)(null);
19
22
  const renderer = (0, react_1.useRef)(null);
20
23
  const [error, setError] = (0, react_1.useState)(null);
21
24
  const [tick, setTick] = (0, react_1.useState)(0);
25
+ const [readyFor, setReadyFor] = (0, react_1.useState)(null);
22
26
  const { config: safe, invalid } = (0, config_1.sanitizeTypeSurface)(config);
23
27
  (0, react_1.useEffect)(() => {
24
28
  if (!canvas.current)
@@ -42,6 +46,18 @@ function TypeSurfaceCanvas({ config, progress, timeMs = 0, debug, className, sty
42
46
  onRenderer?.(null);
43
47
  };
44
48
  }, []);
49
+ // Ready is per text and font: new words or a new face wait for their font again.
50
+ const fontKey = `${safe.text}|${(0, text_1.cssFont)(safe.typography, 100)}`;
51
+ (0, react_1.useEffect)(() => {
52
+ const r = renderer.current;
53
+ if (!r)
54
+ return;
55
+ let live = true;
56
+ void r.whenReady(safe, loadFonts).then(() => { if (live)
57
+ setReadyFor(fontKey); });
58
+ return () => { live = false; };
59
+ }, [fontKey]);
60
+ const ready = readyFor === fontKey && !error;
45
61
  const drawn = progress === undefined ? safe : (0, timeline_1.configAt)(safe, progress);
46
62
  (0, react_1.useEffect)(() => {
47
63
  const r = renderer.current;
@@ -52,11 +68,18 @@ function TypeSurfaceCanvas({ config, progress, timeMs = 0, debug, className, sty
52
68
  const o = overlay.current?.getContext('2d');
53
69
  if (o)
54
70
  (0, renderer_1.drawDebugOverlay)(o, r, debug ?? {});
71
+ // Marked only after the frame that drew with the loaded fonts, so a watcher never captures too early.
72
+ if (root.current)
73
+ root.current.dataset.tsReady = ready ? 'true' : 'false';
74
+ if (ready && notified.current !== fontKey) {
75
+ notified.current = fontKey;
76
+ onReady?.();
77
+ }
55
78
  }
56
79
  catch (e) {
57
80
  setError(e.message);
58
81
  }
59
82
  });
60
- return ((0, jsx_runtime_1.jsxs)("div", { className: className, style: { position: 'relative', ...style }, "data-ts-invalid": invalid.join(' ') || undefined, "data-tick": tick, children: [(0, jsx_runtime_1.jsx)("canvas", { ref: canvas, style: { position: 'absolute', inset: 0, width: '100%', height: '100%', display: 'block' }, "aria-label": `“${safe.text}” on ${safe.surface.type}`, role: "img" }), (0, jsx_runtime_1.jsx)("canvas", { ref: overlay, style: { position: 'absolute', inset: 0, width: '100%', height: '100%', pointerEvents: 'none' }, "aria-hidden": true }), error ? (0, jsx_runtime_1.jsx)("p", { role: "alert", style: { position: 'absolute', inset: 0, margin: 0, display: 'grid', placeItems: 'center', padding: 16, textAlign: 'center' }, children: error }) : null] }));
83
+ return ((0, jsx_runtime_1.jsxs)("div", { ref: root, className: className, style: { position: 'relative', ...style }, "data-ts-invalid": invalid.join(' ') || undefined, "data-tick": tick, children: [(0, jsx_runtime_1.jsx)("canvas", { ref: canvas, style: { position: 'absolute', inset: 0, width: '100%', height: '100%', display: 'block' }, "aria-label": `“${safe.text}” on ${safe.surface.type}`, role: "img" }), (0, jsx_runtime_1.jsx)("canvas", { ref: overlay, style: { position: 'absolute', inset: 0, width: '100%', height: '100%', pointerEvents: 'none' }, "aria-hidden": true }), error ? (0, jsx_runtime_1.jsx)("p", { role: "alert", style: { position: 'absolute', inset: 0, margin: 0, display: 'grid', placeItems: 'center', padding: 16, textAlign: 'center' }, children: error }) : null] }));
61
84
  }
62
85
  //# sourceMappingURL=TypeSurfaceCanvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSurfaceCanvas.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/TypeSurfaceCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSurfaceCanvas.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/TypeSurfaceCanvas.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ exports.setPath = setPath;
6
6
  exports.resolveTypeSurface = resolveTypeSurface;
7
7
  exports.validateTypeSurface = validateTypeSurface;
8
8
  exports.sanitizeTypeSurface = sanitizeTypeSurface;
9
+ const construct_1 = require("./construct");
9
10
  const surfaces_1 = require("./surfaces");
10
11
  exports.TS_SURFACES = ['newspaper', 'paper', 'bottle', 'wrapper', 'fabric'];
11
12
  exports.TS_TEXT_MATERIALS = ['ink', 'print', 'foil', 'emboss'];
@@ -52,6 +53,7 @@ exports.DEFAULT_TYPE_SURFACE = {
52
53
  },
53
54
  placement: { x: 0.5, y: 0.34, rotation: 0, maxWidth: 900 },
54
55
  surface: { type: 'newspaper', state: 'flat', seed: 7, color: null },
56
+ object: null,
55
57
  deformation: { ...exports.REST_DEFORMATION, wrap: 1 },
56
58
  material: {
57
59
  type: 'ink', blend: 0.75, inkStrength: 0.9, inkSpread: 0.35, inkRoughness: 0.4, paperInfluence: 0.75, grainInfluence: 0.5, halftone: 0,
@@ -176,8 +178,9 @@ function merge(base, over) {
176
178
  if (!isObj(base) || !isObj(over))
177
179
  return (over === undefined ? base : over);
178
180
  const out = { ...base };
181
+ // An object replaces the one before it: merging two part lists means nothing.
179
182
  for (const [k, v] of Object.entries(over))
180
- out[k] = v === undefined ? out[k] : merge(base[k], v);
183
+ out[k] = v === undefined ? out[k] : k === 'object' ? v : merge(base[k], v);
181
184
  return out;
182
185
  }
183
186
  /** Defaults ← input. Pure; does not validate (see `validateTypeSurface` / `sanitizeTypeSurface`). */
@@ -239,12 +242,21 @@ function validateTypeSurface(config) {
239
242
  if (!isObj(config))
240
243
  return [{ path: '', message: 'The config must be an object.' }];
241
244
  const errors = [];
245
+ const built = config.object !== undefined && config.object !== null;
242
246
  for (const ctl of exports.TS_CONTROLS) {
247
+ // `surface.type: 'object'` says the object is the surface; it needs one.
248
+ if (ctl.path === 'surface.type' && config.surface && config.surface.type === 'object') {
249
+ if (!built)
250
+ errors.push({ path: ctl.path, message: 'Surface is “object” but the config has no object.' });
251
+ continue;
252
+ }
243
253
  const msg = checkControl(ctl, getPath(config, ctl.path));
244
254
  if (msg)
245
255
  errors.push({ path: ctl.path, message: msg });
246
256
  }
247
257
  errors.push(...checkStages(getPath(config, 'animation.stages')));
258
+ if (built)
259
+ errors.push(...(0, construct_1.sanitizeObject)(config.object).errors);
248
260
  return errors;
249
261
  }
250
262
  /**
@@ -254,6 +266,14 @@ function validateTypeSurface(config) {
254
266
  function sanitizeTypeSurface(input) {
255
267
  let config = resolveTypeSurface(isObj(input) ? input : {});
256
268
  const invalid = [];
269
+ // An object is repaired as a whole: numbers clamped, bad parts dropped, null if nothing can be drawn.
270
+ if (config.object !== null) {
271
+ const fixed = (0, construct_1.sanitizeObject)(config.object);
272
+ if (fixed.errors.length) {
273
+ config = { ...config, object: fixed.object };
274
+ invalid.push(...fixed.errors.map((e) => e.path));
275
+ }
276
+ }
257
277
  for (const err of validateTypeSurface(config)) {
258
278
  if (err.path.startsWith('animation.stages')) {
259
279
  config = { ...config, animation: { ...config.animation, stages: [] } };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/config.ts"],"names":[],"mappings":"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"}