@glissade/scene 0.20.0-pre.3 → 0.20.0-pre.4

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.
@@ -50,7 +50,8 @@ const NODE_CONSTRUCTION_PROP_NAMES = {
50
50
  "fontWeight",
51
51
  "fontStyle",
52
52
  "align",
53
- "lineHeight"
53
+ "lineHeight",
54
+ "fontVariationSettings"
54
55
  ],
55
56
  Image: ["assetId"],
56
57
  Video: [
@@ -95,7 +95,8 @@ interface ApiManifest {
95
95
  /**
96
96
  * The curated helper/factory surface (0.20) — `createPlayer`/`mount`,
97
97
  * `motionPath`/`followPath`, `clip`/`clipList`, `renderToDataURL`/`snapshotCanvas`,
98
- * `splitText`. Every `name` is also a `window.glissade.<name>` global on the IIFE.
98
+ * `splitText`, `Grid`, and the `Stack`/`Row`/`Column` layout factories. Every
99
+ * `name` is also a `window.glissade.<name>` global on the IIFE.
99
100
  */
100
101
  helpers: DescribedHelper[];
101
102
  createScene: string;
package/dist/describe.js CHANGED
@@ -23,7 +23,7 @@ import { easings, listValueTypes } from "@glissade/core";
23
23
  * never pulled onto the base embed path — a scene that never calls `describe()`
24
24
  * pays zero bytes for it.
25
25
  */
26
- const RAW_VERSION = "0.20.0-pre.3";
26
+ const RAW_VERSION = "0.20.0-pre.4";
27
27
  const PACKAGE_VERSION = RAW_VERSION.includes("GLISSADE_".concat("VERSION")) ? "0.0.0-dev" : RAW_VERSION;
28
28
  /** Arity of a value type's numeric repr: vec2/vec2-arc → 2, number → 1; others (color/paint/path/string/boolean) carry no scalar arity. */
29
29
  function arityOf(type) {
@@ -74,7 +74,8 @@ const CONSTRUCTION_PROP_META = {
74
74
  fontWeight: { type: "number" },
75
75
  fontStyle: { type: "'normal'|'italic'" },
76
76
  align: { type: "'left'|'center'|'right'" },
77
- lineHeight: { type: "number" }
77
+ lineHeight: { type: "number" },
78
+ fontVariationSettings: { type: "string" }
78
79
  },
79
80
  Image: { assetId: {
80
81
  type: "string",
@@ -330,6 +331,30 @@ const HELPERS = [
330
331
  summary: "Split a Text node into per-word / per-char parts you can animate individually (kinetic typography). Tree-shaken off the base scene index.",
331
332
  import: "@glissade/scene/type",
332
333
  usage: "splitText(text: Text, opts?: { by?: 'word'|'char' }): Node[]"
334
+ },
335
+ {
336
+ name: "Grid",
337
+ summary: "Build-time CSS-grid-style track resolver: position plain children into a column grid (fr/px tracks + gaps), returning a Group. Pure fan-out (no Yoga, no new target) — the goldens hold by construction. Tree-shaken off the base scene index.",
338
+ import: "@glissade/scene/grid",
339
+ usage: "Grid({ columns: number | (number | { fr })[], children: Node[], gap?, columnGap?, rowGap?, cellHeight?, width? }): Group — child[i] → row floor(i/cols), col i%cols"
340
+ },
341
+ {
342
+ name: "Stack",
343
+ summary: "Yoga-flexbox layout factory (column by default) — a Layout subclass that stacks children with gap/padding/justify/align. Needs loadYogaLayoutEngine() before mount/render. On the @glissade/scene/layout subpath.",
344
+ import: "@glissade/scene/layout",
345
+ usage: "Stack({ children, direction?: 'row'|'column', gap?, padding?, justify?, align? }): Layout"
346
+ },
347
+ {
348
+ name: "Row",
349
+ summary: "Yoga-flexbox layout factory pinned to direction:\"row\" — children laid out horizontally. Needs loadYogaLayoutEngine() before mount/render. On the @glissade/scene/layout subpath.",
350
+ import: "@glissade/scene/layout",
351
+ usage: "Row({ children, gap?, padding?, justify?, align? }): Layout"
352
+ },
353
+ {
354
+ name: "Column",
355
+ summary: "Yoga-flexbox layout factory pinned to direction:\"column\" — children laid out vertically. Needs loadYogaLayoutEngine() before mount/render. On the @glissade/scene/layout subpath.",
356
+ import: "@glissade/scene/layout",
357
+ usage: "Column({ children, gap?, padding?, justify?, align? }): Layout"
333
358
  }
334
359
  ];
335
360
  /** One-line "what's there" for each documented tree-shakeable subpath entry. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissade/scene",
3
- "version": "0.20.0-pre.3",
3
+ "version": "0.20.0-pre.4",
4
4
  "description": "glissade scene graph: nodes, transforms, DisplayList emission. Renderer-agnostic; zero DOM/Node dependencies.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -55,7 +55,7 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "yoga-layout": "^3.2.1",
58
- "@glissade/core": "0.20.0-pre.3"
58
+ "@glissade/core": "0.20.0-pre.4"
59
59
  },
60
60
  "repository": {
61
61
  "type": "git",