@fundamental-engine/dom 0.9.2 → 0.9.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.
Files changed (51) hide show
  1. package/dist/apply-recipe.d.ts +14 -6
  2. package/dist/apply-recipe.d.ts.map +1 -1
  3. package/dist/apply-recipe.js +3 -1
  4. package/dist/apply-recipe.js.map +1 -1
  5. package/dist/browser-host.js.map +1 -1
  6. package/dist/container-host.d.ts +1 -1
  7. package/dist/container-host.d.ts.map +1 -1
  8. package/dist/container-host.js +16 -0
  9. package/dist/container-host.js.map +1 -1
  10. package/dist/dev-warn.d.ts +16 -0
  11. package/dist/dev-warn.d.ts.map +1 -0
  12. package/dist/dev-warn.js +53 -0
  13. package/dist/dev-warn.js.map +1 -0
  14. package/dist/feedback.d.ts +5 -0
  15. package/dist/feedback.d.ts.map +1 -1
  16. package/dist/feedback.js +22 -0
  17. package/dist/feedback.js.map +1 -1
  18. package/dist/governor.d.ts +6 -2
  19. package/dist/governor.d.ts.map +1 -1
  20. package/dist/governor.js +6 -2
  21. package/dist/governor.js.map +1 -1
  22. package/dist/lint.d.ts +30 -1
  23. package/dist/lint.d.ts.map +1 -1
  24. package/dist/lint.js +147 -0
  25. package/dist/lint.js.map +1 -1
  26. package/dist/measurement.d.ts +8 -1
  27. package/dist/measurement.d.ts.map +1 -1
  28. package/dist/measurement.js +15 -4
  29. package/dist/measurement.js.map +1 -1
  30. package/dist/relationships.d.ts.map +1 -1
  31. package/dist/relationships.js +5 -0
  32. package/dist/relationships.js.map +1 -1
  33. package/dist/state.d.ts +3 -0
  34. package/dist/state.d.ts.map +1 -1
  35. package/dist/state.js +6 -0
  36. package/dist/state.js.map +1 -1
  37. package/dist/visual-bindings.d.ts +0 -24
  38. package/dist/visual-bindings.d.ts.map +1 -1
  39. package/dist/visual-bindings.js +7 -2
  40. package/dist/visual-bindings.js.map +1 -1
  41. package/dist/worker/offthread-bridge.d.ts.map +1 -1
  42. package/dist/worker/offthread-bridge.js +31 -8
  43. package/dist/worker/offthread-bridge.js.map +1 -1
  44. package/dist/worker/render-worker.d.ts +3 -2
  45. package/dist/worker/render-worker.d.ts.map +1 -1
  46. package/dist/worker/render-worker.js +9 -3
  47. package/dist/worker/render-worker.js.map +1 -1
  48. package/dist/x-ray.d.ts.map +1 -1
  49. package/dist/x-ray.js +73 -13
  50. package/dist/x-ray.js.map +1 -1
  51. package/package.json +2 -2
@@ -10,8 +10,8 @@
10
10
  */
11
11
  import { type FieldPlatform } from './platform.ts';
12
12
  import { type FieldRecipe, type CompiledRecipe } from '@fundamental-engine/core';
13
- export interface ApplyRecipeOptions {
14
- /** existing elements (or a selector within root) to annotate as the recipe's bodies; if omitted, demo elements are created. */
13
+ export interface ApplyPatternOptions {
14
+ /** existing elements (or a selector within root) to annotate as the pattern's bodies; if omitted, demo elements are created. */
15
15
  bodies?: Element[] | string;
16
16
  /** when bodies are provided, whether to overwrite their data-body attributes with the recipe's (default true). Set false to keep caller-owned tokens (e.g. bindData) while still binding the recipe's metrics. */
17
17
  annotateBodies?: boolean;
@@ -48,7 +48,7 @@ export interface ApplyRecipeOptions {
48
48
  */
49
49
  extraMetrics?: string[];
50
50
  }
51
- export interface AppliedRecipeInspection {
51
+ export interface AppliedPatternInspection {
52
52
  id: string;
53
53
  frame: number;
54
54
  measurements: number;
@@ -69,7 +69,7 @@ export interface AppliedRecipeInspection {
69
69
  lint: number;
70
70
  reducedMotion: boolean;
71
71
  }
72
- export interface AppliedRecipe {
72
+ export interface AppliedPattern {
73
73
  id: string;
74
74
  recipe: FieldRecipe;
75
75
  compiled: CompiledRecipe;
@@ -77,10 +77,16 @@ export interface AppliedRecipe {
77
77
  root: Element;
78
78
  elements: Element[];
79
79
  reducedMotion: boolean;
80
- inspect(): AppliedRecipeInspection;
80
+ inspect(): AppliedPatternInspection;
81
81
  tick(now?: number): void;
82
82
  destroy(): void;
83
83
  }
84
+ /** @deprecated Renamed to {@link ApplyPatternOptions} (recipe → Pattern); removed at 1.0. */
85
+ export type ApplyRecipeOptions = ApplyPatternOptions;
86
+ /** @deprecated Renamed to {@link AppliedPatternInspection} (recipe → Pattern); removed at 1.0. */
87
+ export type AppliedRecipeInspection = AppliedPatternInspection;
88
+ /** @deprecated Renamed to {@link AppliedPattern} (recipe → Pattern); removed at 1.0. */
89
+ export type AppliedRecipe = AppliedPattern;
84
90
  /**
85
91
  * Apply a recipe to a root element. Validates, compiles, registers bodies, binds metrics, discovers
86
92
  * relationships, installs the reduced-motion output, and returns a destroyable, inspectable handle.
@@ -97,7 +103,9 @@ export declare function driveRenderPlan(field: RecipeFieldTarget, plan: {
97
103
  overlay: string[];
98
104
  heatmap: boolean;
99
105
  }): void;
100
- export declare function applyRecipe(root: Element, recipe: FieldRecipe, options?: ApplyRecipeOptions): AppliedRecipe;
106
+ /** @deprecated Renamed to {@link applyPattern} (recipe → Pattern); removed at 1.0. */
107
+ export declare const applyRecipe: typeof applyPattern;
108
+ export declare function applyPattern(root: Element, recipe: FieldRecipe, options?: ApplyPatternOptions): AppliedPattern;
101
109
  /** Tear down an applied recipe (alias of `applied.destroy()`). */
102
110
  export declare function destroyRecipe(applied: AppliedRecipe): void;
103
111
  //# sourceMappingURL=apply-recipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-recipe.d.ts","sourceRoot":"","sources":["../src/apply-recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-recipe.d.ts","sourceRoot":"","sources":["../src/apply-recipe.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ export function driveRenderPlan(field, plan) {
30
30
  if (field.setHeatmap)
31
31
  field.setHeatmap(plan.heatmap);
32
32
  }
33
- export function applyRecipe(root, recipe, options = {}) {
33
+ /** @deprecated Renamed to {@link applyPattern} (recipe → Pattern); removed at 1.0. */
34
+ export const applyRecipe = applyPattern;
35
+ export function applyPattern(root, recipe, options = {}) {
34
36
  // Derive the effective recipe from the scoped-field options — a copy, so a shared catalog
35
37
  // recipe object is never mutated by an applied run (`renderless` strips the render stack;
36
38
  // `extraMetrics` appends + dedupes metric lanes). No options → the input recipe, untouched.
@@ -1 +1 @@
1
- {"version":3,"file":"apply-recipe.js","sourceRoot":"","sources":["../src/apply-recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-recipe.js","sourceRoot":"","sources":["../src/apply-recipe.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-host.js","sourceRoot":"","sources":["../src/browser-host.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAEhF,yDAAyD;AACzD,MAAM,UAAU,WAAW;IACzB,+FAA+F;IAC/F,gGAAgG;IAChG,uBAAuB,EAAE,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAC7G,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY;QACzD,aAAa,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;YACnB,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,OAAO,GAAG,EAAE;gBACV,KAAK,MAAM,EAAE,IAAI,YAAY;oBAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YACxB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"browser-host.js","sourceRoot":"","sources":["../src/browser-host.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAEhF,yDAAyD;AACzD,MAAM,UAAU,WAAW;IACzB,+FAA+F;IAC/F,gGAAgG;IAChG,uBAAuB,EAAE,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAC7G,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY;QACzD,aAAa,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QACpD,QAAQ,EAAE,CAAC,EAAc,EAAE,EAAE;YAC3B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,EAAE,CAAC,EAAc,EAAE,EAAE;YAC3B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,YAAY,EAAE,CAAC,EAAc,EAAE,EAAE;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;YAC1B,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,OAAO,GAAG,EAAE;gBACV,KAAK,MAAM,EAAE,IAAI,YAAY;oBAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,CAAC,IAAY,EAAE,EAAsB,EAAE,EAAE;YACpD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * CONTAINED, card-sized field — pass `bounds: el` to `createField`/`FieldField`, or wire it directly:
7
7
  * `createField(canvas, { host: containerHost(card) })`. The first concrete `FieldSurface` (#539).
8
8
  */
9
- import type { FieldHost } from '@fundamental-engine/core';
9
+ import { type FieldHost } from '@fundamental-engine/core';
10
10
  /** Build a FieldHost scoped to `el` — a contained field in the element's local coordinate space. */
11
11
  export declare function containerHost(el: HTMLElement): FieldHost;
12
12
  //# sourceMappingURL=container-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-host.d.ts","sourceRoot":"","sources":["../src/container-host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAK1D,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CAqDxD"}
1
+ {"version":3,"file":"container-host.d.ts","sourceRoot":"","sources":["../src/container-host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAK/E,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CA4DxD"}
@@ -1,9 +1,25 @@
1
+ /**
2
+ * containerHost — a {@link FieldHost} scoped to a single element instead of the window (#540). The
3
+ * field, its bodies, and its canvas all live in the container's local coordinate space: `viewport()`
4
+ * returns the element's size + its `left,top` as the field-space origin, `root` scans only inside the
5
+ * element, and scroll/resize/input are observed on the element. This is the supported way to render a
6
+ * CONTAINED, card-sized field — pass `bounds: el` to `createField`/`FieldField`, or wire it directly:
7
+ * `createField(canvas, { host: containerHost(card) })`. The first concrete `FieldSurface` (#539).
8
+ */
9
+ import { FIELD_BOUNDARY_ATTR } from '@fundamental-engine/core';
1
10
  import { prefersReducedMotion, pageHidden } from "./env.js";
2
11
  const INPUT_EVENTS = ['pointerdown', 'wheel', 'keydown', 'touchstart'];
3
12
  /** Build a FieldHost scoped to `el` — a contained field in the element's local coordinate space. */
4
13
  export function containerHost(el) {
14
+ // Nearest-enclosing-field ownership (#980): mark the bounds element as a field boundary at
15
+ // attach, so an OUTER field's scan (the page `<field-root>` scans `document`) skips the bodies
16
+ // this contained field owns — two engines writing `--d` on the same elements is the per-frame
17
+ // flicker this prevents. Idempotent (setting an already-set marker is a no-op; a re-attach after
18
+ // destroy simply re-marks); `detach()` removes it so the outer field re-adopts on rescan.
19
+ el.setAttribute(FIELD_BOUNDARY_ATTR, '');
5
20
  return {
6
21
  root: el,
22
+ detach: () => el.removeAttribute(FIELD_BOUNDARY_ATTR),
7
23
  viewport: () => {
8
24
  const r = el.getBoundingClientRect();
9
25
  // originX/Y = the container's viewport position → bodies/threads/moves are measured
@@ -1 +1 @@
1
- {"version":3,"file":"container-host.js","sourceRoot":"","sources":["../src/container-host.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAEhF,oGAAoG;AACpG,MAAM,UAAU,aAAa,CAAC,EAAe;IAC3C,OAAO;QACL,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;YACrC,oFAAoF;YACpF,iGAAiG;YACjG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAClH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS;QAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY;QACnC,aAAa,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,+FAA+F;YAC/F,yCAAyC;YACzC,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;YAClC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE;gBACV,EAAE,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,6FAA6F;YAC7F,kGAAkG;YAClG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE;gBACV,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC;QACJ,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;YACnB,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,4EAA4E;YAC5E,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,OAAO,GAAG,EAAE;gBACV,KAAK,MAAM,EAAE,IAAI,YAAY;oBAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YACxB,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"container-host.js","sourceRoot":"","sources":["../src/container-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Turn dom dev warnings on or off explicitly (tests, or to silence in a specific env). */
2
+ export declare function setDomDevWarnings(on: boolean): void;
3
+ /** Dev-only, deduped `console.warn`. Deduped by `id`, so a call made every frame warns at most once. */
4
+ export declare function devWarn(id: string, message: string): void;
5
+ /** Clear the dedup set — for tests that assert a warn fires. */
6
+ export declare function resetDomDevWarnings(): void;
7
+ /**
8
+ * Track how often a named layout-traversing operation is invoked and warn ONCE if it is being called
9
+ * at frame frequency (more than `maxPerWindow` calls inside `windowMs`) — the "layout-traversal
10
+ * trap": `RelationshipRegistry.discover()` and `VisualBindingRegistry.scan()` walk the DOM with
11
+ * `querySelectorAll`, so running them every frame is a silent perf sink (they are meant to run on a
12
+ * throttle, e.g. `shouldDiscoverRelationships`'s every-30-frames cadence). Dev-only + deduped, so it
13
+ * fires at most once per `id` for the lifetime of the process. Returns nothing; never throws.
14
+ */
15
+ export declare function warnIfFrameFrequent(id: string, hint: string, maxPerWindow?: number, windowMs?: number): void;
16
+ //# sourceMappingURL=dev-warn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-warn.d.ts","sourceRoot":"","sources":["../src/dev-warn.ts"],"names":[],"mappings":"AAaA,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAEnD;AAID,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,SAAK,EAAE,QAAQ,SAAO,GAAG,IAAI,CAUtG"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Dom-package dev diagnostics — a tiny, deduped, production-stripped `console.warn`, mirroring
3
+ * core's `devWarnNoOp` (packages/core/src/contracts/guards.ts) but local to this package (core's
4
+ * guard is internal and not on the public entry). A no-op unless checks are enabled, which default
5
+ * ON outside `NODE_ENV === 'production'`, so a bundler that defines `NODE_ENV` dead-code-eliminates
6
+ * the body. Never throws — advisory only.
7
+ */
8
+ function defaultDev() {
9
+ const env = globalThis.process?.env;
10
+ return env?.NODE_ENV !== 'production';
11
+ }
12
+ let CHECKS = defaultDev();
13
+ /** Turn dom dev warnings on or off explicitly (tests, or to silence in a specific env). */
14
+ export function setDomDevWarnings(on) {
15
+ CHECKS = on;
16
+ }
17
+ const warnedOnce = new Set();
18
+ /** Dev-only, deduped `console.warn`. Deduped by `id`, so a call made every frame warns at most once. */
19
+ export function devWarn(id, message) {
20
+ if (!CHECKS)
21
+ return;
22
+ if (warnedOnce.has(id))
23
+ return;
24
+ warnedOnce.add(id);
25
+ console.warn(`[Fundamental:${id}] ${message}`);
26
+ }
27
+ /** Clear the dedup set — for tests that assert a warn fires. */
28
+ export function resetDomDevWarnings() {
29
+ warnedOnce.clear();
30
+ }
31
+ /**
32
+ * Track how often a named layout-traversing operation is invoked and warn ONCE if it is being called
33
+ * at frame frequency (more than `maxPerWindow` calls inside `windowMs`) — the "layout-traversal
34
+ * trap": `RelationshipRegistry.discover()` and `VisualBindingRegistry.scan()` walk the DOM with
35
+ * `querySelectorAll`, so running them every frame is a silent perf sink (they are meant to run on a
36
+ * throttle, e.g. `shouldDiscoverRelationships`'s every-30-frames cadence). Dev-only + deduped, so it
37
+ * fires at most once per `id` for the lifetime of the process. Returns nothing; never throws.
38
+ */
39
+ export function warnIfFrameFrequent(id, hint, maxPerWindow = 20, windowMs = 1000) {
40
+ if (!CHECKS)
41
+ return;
42
+ const now = typeof performance !== 'undefined' && performance.now ? performance.now() : Date.now();
43
+ const rec = frequency.get(id);
44
+ if (!rec || now - rec.windowStart > windowMs) {
45
+ frequency.set(id, { windowStart: now, count: 1 });
46
+ return;
47
+ }
48
+ rec.count++;
49
+ if (rec.count > maxPerWindow)
50
+ devWarn(`FREQUENT_${id}`, hint);
51
+ }
52
+ const frequency = new Map();
53
+ //# sourceMappingURL=dev-warn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-warn.js","sourceRoot":"","sources":["../src/dev-warn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,SAAS,UAAU;IACjB,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO,EAAE,GAAG,CAAC;IACpG,OAAO,GAAG,EAAE,QAAQ,KAAK,YAAY,CAAC;AACxC,CAAC;AACD,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;AAE1B,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC,wGAAwG;AACxG,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,OAAe;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO;IAC/B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB;IACjC,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,IAAY,EAAE,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,IAAI;IAC9F,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,GAAG,GAAG,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACnG,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC;QAC7C,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,GAAG,CAAC,KAAK,EAAE,CAAC;IACZ,IAAI,GAAG,CAAC,KAAK,GAAG,YAAY;QAAE,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkD,CAAC"}
@@ -66,6 +66,11 @@ export declare class FeedbackRegistry {
66
66
  * the DOM and you want immediate reclamation rather than waiting for the next flush() sweep.
67
67
  */
68
68
  unregister(element: Element): void;
69
+ /** Drop the entries for every element that left the DOM (strong-ref reclamation without a flush). */
70
+ prune(): void;
71
+ /** Drop ALL bindings, direct writes, thresholds, and activity — used on platform teardown to free
72
+ * every strong Element ref immediately rather than waiting for the registry object to be collected. */
73
+ clearAll(): void;
69
74
  /**
70
75
  * Write-phase: apply bound state → CSS vars, apply queued direct writes, and run thresholders →
71
76
  * fire edge events. `state` supplies the numeric values for bound vars + thresholds. Disconnected
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,8DAA8D;AAC9D,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6BzC,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;uGACuG;AACvG,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,mBAAmB,CAAK;IAEhC,4GAA4G;IAC5G,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAI7C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C,4FAA4F;IAC5F,SAAS,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAIxD;;;;;;OAMG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIlF;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAI5B,kEAAkE;IAClE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI;IAMlE,iGAAiG;IACjG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAU5E;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUlC;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAI,GAAG,IAAI;CA8B3C"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,8DAA8D;AAC9D,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6BzC,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;uGACuG;AACvG,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,mBAAmB,CAAK;IAEhC,4GAA4G;IAC5G,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAI7C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C,4FAA4F;IAC5F,SAAS,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAIxD;;;;;;OAMG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIlF;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAI5B,kEAAkE;IAClE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI;IAMlE,iGAAiG;IACjG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAU5E;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUlC,qGAAqG;IACrG,KAAK,IAAI,IAAI;IAMb;4GACwG;IACxG,QAAQ,IAAI,IAAI;IAOhB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAI,GAAG,IAAI;CA8B3C"}
package/dist/feedback.js CHANGED
@@ -100,6 +100,28 @@ export class FeedbackRegistry {
100
100
  this.thresholds.splice(i, 1);
101
101
  }
102
102
  }
103
+ /** Drop the entries for every element that left the DOM (strong-ref reclamation without a flush). */
104
+ prune() {
105
+ for (const el of this.bindings.keys())
106
+ if (el.isConnected === false) {
107
+ this.bindings.delete(el);
108
+ this.activity.delete(el);
109
+ }
110
+ for (const el of this.direct.keys())
111
+ if (el.isConnected === false)
112
+ this.direct.delete(el);
113
+ for (let i = this.thresholds.length - 1; i >= 0; i--)
114
+ if (!this.thresholds[i].element.isConnected)
115
+ this.thresholds.splice(i, 1);
116
+ }
117
+ /** Drop ALL bindings, direct writes, thresholds, and activity — used on platform teardown to free
118
+ * every strong Element ref immediately rather than waiting for the registry object to be collected. */
119
+ clearAll() {
120
+ this.bindings.clear();
121
+ this.direct.clear();
122
+ this.activity.clear();
123
+ this.thresholds.length = 0;
124
+ }
103
125
  /**
104
126
  * Write-phase: apply bound state → CSS vars, apply queued direct writes, and run thresholders →
105
127
  * fire edge events. `state` supplies the numeric values for bound vars + thresholds. Disconnected
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,12 @@
10
10
  *
11
11
  * Shipped consumer: the `<field-root>` platform runtime throttles its own tick cadence (the
12
12
  * measurement/feedback DOM work) to every 2nd frame at tier 2 and every 4th at tier 3, and
13
- * emits `field:quality-tier` so embedders can wire engine-side responses (render simplification,
14
- * particle caps) — those are NOT automatic yet.
13
+ * forwards each tier change to the engine via `handle.setQualityTier` (#413) — the engine then
14
+ * caps the effective backing-store DPR and drops the heatmap at tier 2+ on its own levers,
15
+ * reversibly. The `field:quality-tier` event still fires so embedders can layer further
16
+ * responses (render simplification, particle caps) on top — those remain manual. Raw
17
+ * `createField` wires NO governor: a consumer on that path constructs one and forwards
18
+ * `feed()` results to `handle.setQualityTier` itself.
15
19
  *
16
20
  * Feed it rAF-to-rAF spacing (or better, measured work time). Callers should skip discontinuity
17
21
  * frames (tab switches, system sleep) and reset() on visibilitychange — the elements runtime does.
@@ -1 +1 @@
1
- {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAgBxC,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,QAAQ,SAAQ;IAI5B,IAAI,IAAI,IAAI,WAAW,CAAuB;IAE9C;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IA0BjD,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAgBxC,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,QAAQ,SAAQ;IAI5B,IAAI,IAAI,IAAI,WAAW,CAAuB;IAE9C;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IA0BjD,KAAK,IAAI,IAAI;CAKd"}
package/dist/governor.js CHANGED
@@ -10,8 +10,12 @@
10
10
  *
11
11
  * Shipped consumer: the `<field-root>` platform runtime throttles its own tick cadence (the
12
12
  * measurement/feedback DOM work) to every 2nd frame at tier 2 and every 4th at tier 3, and
13
- * emits `field:quality-tier` so embedders can wire engine-side responses (render simplification,
14
- * particle caps) — those are NOT automatic yet.
13
+ * forwards each tier change to the engine via `handle.setQualityTier` (#413) — the engine then
14
+ * caps the effective backing-store DPR and drops the heatmap at tier 2+ on its own levers,
15
+ * reversibly. The `field:quality-tier` event still fires so embedders can layer further
16
+ * responses (render simplification, particle caps) on top — those remain manual. Raw
17
+ * `createField` wires NO governor: a consumer on that path constructs one and forwards
18
+ * `feed()` results to `handle.setQualityTier` itself.
15
19
  *
16
20
  * Feed it rAF-to-rAF spacing (or better, measured work time). Callers should skip discontinuity
17
21
  * frames (tab switches, system sleep) and reset() on visibilitychange — the elements runtime does.
@@ -1 +1 @@
1
- {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,QAAQ,GAAwB;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;CACrC,CAAC;AAEF,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,sCAAsC;AAEjE,MAAM,OAAO,eAAe;IAClB,KAAK,GAAgB,CAAC,CAAC;IACvB,aAAa,GAAG,CAAC,CAAC;IAClB,WAAW,GAAG,CAAC,CAAC;IACP,MAAM,CAAS;IAEhC,YAAY,QAAQ,GAAG,KAAK;QAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,KAAkB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9C;;;OAGG;IACH,IAAI,CAAC,UAAkB;QACrB,MAAM,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;oBACvC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAgB,CAAC;oBACxD,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAUH,MAAM,QAAQ,GAAwB;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;CACrC,CAAC;AAEF,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,sCAAsC;AAEjE,MAAM,OAAO,eAAe;IAClB,KAAK,GAAgB,CAAC,CAAC;IACvB,aAAa,GAAG,CAAC,CAAC;IAClB,WAAW,GAAG,CAAC,CAAC;IACP,MAAM,CAAS;IAEhC,YAAY,QAAQ,GAAG,KAAK;QAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,KAAkB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9C;;;OAGG;IACH,IAAI,CAAC,UAAkB;QACrB,MAAM,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;oBACvC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAgB,CAAC;oBACxD,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF"}
package/dist/lint.d.ts CHANGED
@@ -15,7 +15,7 @@ import type { RelationshipRegistry } from './relationships.ts';
15
15
  import type { VisualBindingRegistry } from './visual-bindings.ts';
16
16
  import type { FrameScheduler } from './schedule.ts';
17
17
  import type { Resolver } from './relationships.ts';
18
- export type LintCode = 'relation-target-missing' | 'visual-orphan' | 'visual-not-hidden' | 'state-unregistered' | 'overlay-without-links' | 'feedback-non-css-var' | 'measurement-off-phase' | 'sink-without-feedback' | 'feedback-vars-unwritten' | 'feedback-writes-unread' | 'feedback-reads-unwritten' | 'feedback-never-written' | 'feedback-lane-inert' | 'compositing-fill-trap';
18
+ export type LintCode = 'relation-target-missing' | 'visual-orphan' | 'visual-not-hidden' | 'state-unregistered' | 'overlay-without-links' | 'feedback-non-css-var' | 'measurement-off-phase' | 'sink-without-feedback' | 'feedback-vars-unwritten' | 'feedback-writes-unread' | 'feedback-reads-unwritten' | 'feedback-never-written' | 'feedback-lane-inert' | 'compositing-fill-trap' | 'motion-without-reduced-motion';
19
19
  export interface PlatformLintWarning {
20
20
  code: LintCode;
21
21
  severity: 'warning' | 'error';
@@ -127,6 +127,35 @@ export interface LintOptions {
127
127
  * `getComputedStyle`), matching the rest of lint.
128
128
  */
129
129
  export declare function lintCompositingPerf(root: ParentNode): PlatformLintWarning[];
130
+ /**
131
+ * The accessibility sibling of the silent-contract lint (`lintFeedbackWritesUnread`): a `[data-body]`
132
+ * that expresses **independent** motion — a CSS `@keyframes` animation, or a static (non-feedback-driven)
133
+ * `transform`/`translate`/`rotate`/`scale` — but has **no** `@media (prefers-reduced-motion: reduce)`
134
+ * companion rule that matches it. That is the a11y invariant this gate enforces: *reduced motion removes
135
+ * motion, not meaning* — a body that moves on its own must offer a still form. Without the reduced-motion
136
+ * branch, a user who asked the OS to stop animations still gets the movement.
137
+ *
138
+ * **Feedback-var-driven motion is deliberately exempt.** This engine gates motion at the ENGINE level:
139
+ * under `prefers-reduced-motion` the simulation freezes (dt=0 — the integrator early-returns), so ambient,
140
+ * sim-driven change in `--d`/`--field-*`/`--load` stops; the feedback lane stays live for direct
141
+ * engagement (pointer/focus), so what remains is a discrete interaction response, not autonomous motion —
142
+ * reduced-motion-safe, no per-body `@media` rule needed. Flagging those would be architecturally wrong
143
+ * (and would flood the site's own hundreds of feedback-driven bodies). So only genuinely independent
144
+ * motion, which the engine cannot gate, is flagged.
145
+ *
146
+ * "Has a reduced-motion equivalent" is determined structurally: some rule inside a
147
+ * `@media (prefers-reduced-motion: reduce)` block has a selector that matches the same body (after
148
+ * pseudo-class/element stripping). The author opted the body into a reduced-motion branch; the lint
149
+ * trusts that branch neutralizes the motion (it does not attempt to prove the branch is *correct* —
150
+ * that is the human AT-pass half of RC-8).
151
+ *
152
+ * **Dev-only, heuristic, browser-coupled** — like the feedback consumer lints, it walks the document's
153
+ * accessible stylesheets and no-ops where they are unreachable (SSR / tests / cross-origin), so it can
154
+ * only ever under-report, never false-positive. Scoped to `[data-body]` elements only. Bodies whose
155
+ * independent motion is expressed *inline* are also considered, and are only cleared by a matching
156
+ * reduced-motion rule — inline styles can't carry a media query.
157
+ */
158
+ export declare function lintReducedMotion(root: ParentNode): PlatformLintWarning[];
130
159
  /** Run every platform lint rule over a FieldPlatform and return the aggregated warnings. */
131
160
  export declare function lintPlatform(platform: PlatformLike, opts?: LintOptions): PlatformLintWarning[];
132
161
  //# sourceMappingURL=lint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}