@appinternalleads/ui 0.4.1 → 0.4.2

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 (70) hide show
  1. package/README.md +92 -0
  2. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +25 -2
  3. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
  4. package/dist/cjs/motion/typesurface/config.js +21 -1
  5. package/dist/cjs/motion/typesurface/config.js.map +1 -1
  6. package/dist/cjs/motion/typesurface/construct.js +875 -0
  7. package/dist/cjs/motion/typesurface/construct.js.map +1 -0
  8. package/dist/cjs/motion/typesurface/engine.js +28 -4
  9. package/dist/cjs/motion/typesurface/engine.js.map +1 -1
  10. package/dist/cjs/motion/typesurface/index.js +9 -1
  11. package/dist/cjs/motion/typesurface/index.js.map +1 -1
  12. package/dist/cjs/motion/typesurface/presets.js +69 -2
  13. package/dist/cjs/motion/typesurface/presets.js.map +1 -1
  14. package/dist/cjs/motion/typesurface/renderer.js +81 -15
  15. package/dist/cjs/motion/typesurface/renderer.js.map +1 -1
  16. package/dist/cjs/motion/typesurface/shaders.js +23 -1
  17. package/dist/cjs/motion/typesurface/shaders.js.map +1 -1
  18. package/dist/cjs/motion/typesurface/surfaces.js +69 -0
  19. package/dist/cjs/motion/typesurface/surfaces.js.map +1 -1
  20. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +11 -1
  21. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -1
  22. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +25 -2
  23. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
  24. package/dist/esm/motion/typesurface/config.d.ts +13 -2
  25. package/dist/esm/motion/typesurface/config.d.ts.map +1 -1
  26. package/dist/esm/motion/typesurface/config.js +21 -1
  27. package/dist/esm/motion/typesurface/config.js.map +1 -1
  28. package/dist/esm/motion/typesurface/construct.d.ts +284 -0
  29. package/dist/esm/motion/typesurface/construct.d.ts.map +1 -0
  30. package/dist/esm/motion/typesurface/construct.js +866 -0
  31. package/dist/esm/motion/typesurface/construct.js.map +1 -0
  32. package/dist/esm/motion/typesurface/engine.d.ts +8 -0
  33. package/dist/esm/motion/typesurface/engine.d.ts.map +1 -1
  34. package/dist/esm/motion/typesurface/engine.js +28 -4
  35. package/dist/esm/motion/typesurface/engine.js.map +1 -1
  36. package/dist/esm/motion/typesurface/index.d.ts +7 -3
  37. package/dist/esm/motion/typesurface/index.d.ts.map +1 -1
  38. package/dist/esm/motion/typesurface/index.js +6 -2
  39. package/dist/esm/motion/typesurface/index.js.map +1 -1
  40. package/dist/esm/motion/typesurface/presets.d.ts +18 -0
  41. package/dist/esm/motion/typesurface/presets.d.ts.map +1 -1
  42. package/dist/esm/motion/typesurface/presets.js +68 -3
  43. package/dist/esm/motion/typesurface/presets.js.map +1 -1
  44. package/dist/esm/motion/typesurface/renderer.d.ts +10 -0
  45. package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -1
  46. package/dist/esm/motion/typesurface/renderer.js +82 -16
  47. package/dist/esm/motion/typesurface/renderer.js.map +1 -1
  48. package/dist/esm/motion/typesurface/shaders.d.ts +1 -1
  49. package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -1
  50. package/dist/esm/motion/typesurface/shaders.js +23 -1
  51. package/dist/esm/motion/typesurface/shaders.js.map +1 -1
  52. package/dist/esm/motion/typesurface/surfaces.d.ts +28 -1
  53. package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -1
  54. package/dist/esm/motion/typesurface/surfaces.js +67 -0
  55. package/dist/esm/motion/typesurface/surfaces.js.map +1 -1
  56. package/docs/TYPE-SURFACE.md +183 -0
  57. package/package.json +4 -2
  58. package/src/motion/typesurface/TypeSurfaceCanvas.tsx +30 -2
  59. package/src/motion/typesurface/config.ts +29 -3
  60. package/src/motion/typesurface/construct.ts +828 -0
  61. package/src/motion/typesurface/engine.ts +31 -5
  62. package/src/motion/typesurface/index.ts +7 -3
  63. package/src/motion/typesurface/presets.ts +75 -3
  64. package/src/motion/typesurface/renderer.ts +77 -17
  65. package/src/motion/typesurface/shaders.ts +23 -1
  66. package/src/motion/typesurface/surfaces.ts +78 -1
  67. package/tools/ask/dist/components.mjs +1138 -57
  68. package/tools/ask/dist/neon.js +69 -0
  69. package/tools/ask/mcp.mjs +90 -5
  70. package/tools/ask/neon-render.mjs +143 -0
package/README.md CHANGED
@@ -259,6 +259,91 @@ 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
+
262
347
  ## Asking from a CLI
263
348
 
264
349
  **A terminal cannot draw a slider, and the thing that most often needs to ask has no window at
@@ -286,6 +371,13 @@ node tools/ask/cli.mjs 17-card-picker | jq '.answers.keep'
286
371
  claude mcp add comppack-ask -- npx -y comppack-ask
287
372
  ```
288
373
 
374
+ **The same server renders neon signs to video.** `render_neon_sign` takes the sign as data (text,
375
+ emoji or artwork elements, each with its own colour and font, flicker and glitch levels, the brick
376
+ wall, duration, fps, format) and writes an MP4, WebM or GIF with the package's own `NeonCanvas`. It
377
+ needs Playwright in the project and `ffmpeg` on `PATH`, and says so when either is missing.
378
+ `neon-sign` is also listed by `list_animations`, described by `describe_animation` and checked by
379
+ `check_animation_request`, beside the motion templates.
380
+
289
381
  The `question` argument's schema is [`spec/question.generate.json`](./spec/question.generate.json)
290
382
  — the **generation profile**, not the validator. `question.schema.json` is 23 KB with 26 `if` and
291
383
  ten self-references and cannot be a tool's `inputSchema`; the profile is flat, 8 KB on the wire,
@@ -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":";AAAA,YAAY,CAAC;;AAyBb,8CA+CC;;AAtED,iCAAwE;AACxE,qCAAuE;AACvE,yCAAiF;AACjF,yCAAsC;AAetC;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAA0B;IAC7H,MAAM,MAAM,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,cAAM,EAA6B,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,CAAC;IAE9D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAC5B,MAAM,CAAC,GAAG,IAAI,8BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACrB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE;YACV,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC;gBAAE,IAAA,2BAAgB,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,iCAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,qBAAmB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,eAAa,IAAI,aACpI,mCAAQ,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAc,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAC,KAAK,GAAG,EACpL,mCAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,wBAAgB,EACpI,KAAK,CAAC,CAAC,CAAC,8BAAG,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAG,KAAK,GAAK,CAAC,CAAC,CAAC,IAAI,IACtK,CACP,CAAC;AACJ,CAAC"}
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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"}