@fundamental-engine/platform 0.4.0 → 0.6.0
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.
- package/README.md +4 -4
- package/dist/browser-host.d.ts +1 -1
- package/dist/contours.d.ts +1 -1
- package/dist/contours.js +1 -1
- package/dist/export-dom.js +1 -1
- package/dist/feedback.js +1 -1
- package/dist/field-nav.d.ts +1 -1
- package/dist/field-nav.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/measurement.d.ts +1 -1
- package/dist/overlays.d.ts +3 -0
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +7 -0
- package/dist/overlays.js.map +1 -1
- package/dist/platform.d.ts +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +12 -1
- package/dist/platform.js.map +1 -1
- package/dist/relationships.d.ts +1 -1
- package/dist/schedule.js +1 -1
- package/dist/schedule.js.map +1 -1
- package/dist/state.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/visual-bindings.d.ts +1 -1
- package/dist/visual-bindings.d.ts.map +1 -1
- package/dist/visual-bindings.js +6 -4
- package/dist/visual-bindings.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @fundamental-engine/platform
|
|
2
2
|
|
|
3
|
-
**The platform layer for [
|
|
3
|
+
**The platform layer for [Fundamental](../core)** — the native browser primitives the engine wishes
|
|
4
4
|
existed, built on the ones it has. The core is renderer-agnostic; this package owns DOM participation:
|
|
5
5
|
it supplies the browser host, the six registries that let the engine treat the DOM as a connected,
|
|
6
6
|
measurable, semantic environment, the frame scheduler that keeps reads and writes from thrashing, and
|
|
@@ -15,7 +15,7 @@ npm i @fundamental-engine/platform
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
The public surface is frozen for `0.x` (see
|
|
18
|
-
[API stability](../../docs/canonical/
|
|
18
|
+
[API stability](../../docs/canonical/api-stability.md)).
|
|
19
19
|
|
|
20
20
|
## The browser host
|
|
21
21
|
|
|
@@ -95,11 +95,11 @@ orphan visuals, …) and returns structured diagnostics. The inspector reads it
|
|
|
95
95
|
|
|
96
96
|
Strict and one-way: **`platform → core`**. The core stays renderer-agnostic and never imports this
|
|
97
97
|
package. During the migration window, writes mirror `--field-*` to `--forces-*` and `field:*` events to
|
|
98
|
-
`forces:*`. See [`docs/canonical/
|
|
98
|
+
`forces:*`. See [`docs/canonical/platform-architecture.md`](../../docs/canonical/platform-architecture.md).
|
|
99
99
|
|
|
100
100
|
## Related
|
|
101
101
|
|
|
102
|
-
[`
|
|
102
|
+
[`Fundamental`](../core) · [`@fundamental-engine/elements`](../elements) · [`@fundamental-engine/react`](../react) ·
|
|
103
103
|
[`@fundamental-engine/vanilla`](../vanilla) · the [documentation map](../../docs/README.md).
|
|
104
104
|
|
|
105
105
|
## License
|
package/dist/browser-host.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browserHost — the default {@link FieldHost}, binding the renderer-agnostic core engine to the
|
|
3
3
|
* browser (`window` / `document` / `requestAnimationFrame`). It lives in `@fundamental-engine/platform` (the DOM
|
|
4
|
-
* participation layer), NOT in `
|
|
4
|
+
* participation layer), NOT in `Fundamental` — core imports zero DOM. `createField(canvas, opts)`
|
|
5
5
|
* requires a host; pass `browserHost()` in the browser (or `createBrowserField` for the convenience),
|
|
6
6
|
* or a custom host to drive the same engine from a headless renderer / a different document / a test.
|
|
7
7
|
*/
|
package/dist/contours.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* the generated vector layer shows what that absorption means, the semantic text remains the source
|
|
5
5
|
* of meaning.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Fundamental ships no font parser (the zero-dependency rule): the caller supplies the parsed font —
|
|
8
8
|
* any object structurally matching `ContourFont`, which opentype.js's `Font` satisfies directly:
|
|
9
9
|
*
|
|
10
10
|
* import { load } from 'opentype.js';
|
package/dist/contours.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* the generated vector layer shows what that absorption means, the semantic text remains the source
|
|
5
5
|
* of meaning.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Fundamental ships no font parser (the zero-dependency rule): the caller supplies the parsed font —
|
|
8
8
|
* any object structurally matching `ContourFont`, which opentype.js's `Font` satisfies directly:
|
|
9
9
|
*
|
|
10
10
|
* import { load } from 'opentype.js';
|
package/dist/export-dom.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DOM download helpers (Phase: frontier). Triggering a file download needs `document` (an anchor
|
|
3
|
-
* click), so these live in `@fundamental-engine/platform`, not `
|
|
3
|
+
* click), so these live in `@fundamental-engine/platform`, not `Fundamental`. The pure serializers stay in
|
|
4
4
|
* core: `segmentsToSvg` (vector) and `canvasToPng` (a canvas's own `toDataURL`). Pair them here to
|
|
5
5
|
* actually save a file.
|
|
6
6
|
*/
|
package/dist/feedback.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeedbackRegistry — the write-phase. Turns held state into DOM: CSS custom properties (continuous)
|
|
3
|
-
* and thresholded, debounced events (discrete). The native primitive
|
|
3
|
+
* and thresholded, debounced events (discrete). The native primitive Fundamental wishes existed —
|
|
4
4
|
* standard feedback channels with hysteresis instead of per-frame DOM events.
|
|
5
5
|
*
|
|
6
6
|
* Writes happen only in `flush()`, after measurement + simulation reads.
|
package/dist/field-nav.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `bindFieldNav` — the navigation-chrome idiom the
|
|
2
|
+
* `bindFieldNav` — the navigation-chrome idiom the Fundamental site hand-spread across a dozen surfaces
|
|
3
3
|
* (top nav, chapter rail, docs sidebar/outline/search, breadcrumbs, pagers, footer, filter rosters),
|
|
4
4
|
* lifted into the platform. It runs a recipe SIGNALS-ONLY (`render: []`) over the `<a>` links inside a
|
|
5
5
|
* root: every link becomes a body, the current link can be pinned as the "well" (`data-field-attention
|
package/dist/field-nav.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `bindFieldNav` — the navigation-chrome idiom the
|
|
2
|
+
* `bindFieldNav` — the navigation-chrome idiom the Fundamental site hand-spread across a dozen surfaces
|
|
3
3
|
* (top nav, chapter rail, docs sidebar/outline/search, breadcrumbs, pagers, footer, filter rosters),
|
|
4
4
|
* lifted into the platform. It runs a recipe SIGNALS-ONLY (`render: []`) over the `<a>` links inside a
|
|
5
5
|
* root: every link becomes a body, the current link can be pinned as the "well" (`data-field-attention
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fundamental-engine/platform — the platform-adjacent layer: native-first registries that let the field
|
|
3
3
|
* engine treat the DOM as a connected, measurable, semantic environment. Strict dependency
|
|
4
|
-
* direction: this package depends on `
|
|
4
|
+
* direction: this package depends on `Fundamental` (core) for contracts; core never depends on it.
|
|
5
5
|
*
|
|
6
6
|
* Registries: MeasurementRegistry · StateRegistry · FeedbackRegistry · RelationshipRegistry ·
|
|
7
7
|
* VisualBindingRegistry · OverlayRegistry, bound by createFieldPlatform.
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fundamental-engine/platform — the platform-adjacent layer: native-first registries that let the field
|
|
3
3
|
* engine treat the DOM as a connected, measurable, semantic environment. Strict dependency
|
|
4
|
-
* direction: this package depends on `
|
|
4
|
+
* direction: this package depends on `Fundamental` (core) for contracts; core never depends on it.
|
|
5
5
|
*
|
|
6
6
|
* Registries: MeasurementRegistry · StateRegistry · FeedbackRegistry · RelationshipRegistry ·
|
|
7
7
|
* VisualBindingRegistry · OverlayRegistry, bound by createFieldPlatform.
|
package/dist/measurement.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MeasurementRegistry — frame-stable geometry. The native primitive
|
|
2
|
+
* MeasurementRegistry — frame-stable geometry. The native primitive Fundamental wishes existed: read
|
|
3
3
|
* every registered element's box once per frame and hand back an immutable snapshot, so the rest of
|
|
4
4
|
* the system works from one consistent set of rectangles instead of each force calling
|
|
5
5
|
* `getBoundingClientRect()` whenever it likes (which risks layout thrash).
|
package/dist/overlays.d.ts
CHANGED
|
@@ -34,6 +34,9 @@ export declare class OverlayRegistry {
|
|
|
34
34
|
/** Register an overlay (a render record — owns no relationship, mutates no physics). */
|
|
35
35
|
add(o: Omit<FieldOverlay, 'id' | 'coordinateSpace' | 'renderTarget' | 'interactive'> & Partial<FieldOverlay>): FieldOverlay;
|
|
36
36
|
remove(id: string): void;
|
|
37
|
+
/** Drop overlays referencing a detached source element — they can never resolve again, and their
|
|
38
|
+
* strong Element refs would otherwise pin removed subtrees alive. Run on a cadence by a frame loop. */
|
|
39
|
+
prune(): void;
|
|
37
40
|
all(): FieldOverlay[];
|
|
38
41
|
/**
|
|
39
42
|
* Resolve connection overlays (relationship/callout) into segments between the centres of their
|
package/dist/overlays.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../src/overlays.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AACxG,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,8FAA8F;IAC9F,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,GAAG,CAAK;IAEhB,wFAAwF;IACxF,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;IAY3H,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB,GAAG,IAAI,YAAY,EAAE;IAIrB;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,EAAE;CAWhE"}
|
|
1
|
+
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../src/overlays.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AACxG,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,8FAA8F;IAC9F,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,GAAG,CAAK;IAEhB,wFAAwF;IACxF,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;IAY3H,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB;4GACwG;IACxG,KAAK,IAAI,IAAI;IAKb,GAAG,IAAI,YAAY,EAAE;IAIrB;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,EAAE;CAWhE"}
|
package/dist/overlays.js
CHANGED
|
@@ -16,6 +16,13 @@ export class OverlayRegistry {
|
|
|
16
16
|
remove(id) {
|
|
17
17
|
this.overlays.delete(id);
|
|
18
18
|
}
|
|
19
|
+
/** Drop overlays referencing a detached source element — they can never resolve again, and their
|
|
20
|
+
* strong Element refs would otherwise pin removed subtrees alive. Run on a cadence by a frame loop. */
|
|
21
|
+
prune() {
|
|
22
|
+
for (const [id, o] of this.overlays)
|
|
23
|
+
if (o.sourceElements.some((el) => el.isConnected === false))
|
|
24
|
+
this.overlays.delete(id);
|
|
25
|
+
}
|
|
19
26
|
all() {
|
|
20
27
|
return [...this.overlays.values()];
|
|
21
28
|
}
|
package/dist/overlays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays.js","sourceRoot":"","sources":["../src/overlays.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACpD,GAAG,GAAG,CAAC,CAAC;IAEhB,wFAAwF;IACxF,GAAG,CAAC,CAAwG;QAC1G,MAAM,IAAI,GAAiB;YACzB,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;YAClB,GAAG,CAAC;YACJ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA4B;QAC1C,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"overlays.js","sourceRoot":"","sources":["../src/overlays.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACpD,GAAG,GAAG,CAAC,CAAC;IAEhB,wFAAwF;IACxF,GAAG,CAAC,CAAwG;QAC1G,MAAM,IAAI,GAAiB;YACzB,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;YAClB,GAAG,CAAC;YACJ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;4GACwG;IACxG,KAAK;QACH,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;YACjC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA4B;QAC1C,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* createFieldPlatform — the coordinator that binds the platform registries to one shared
|
|
3
|
-
* FrameScheduler. The native participation surface
|
|
3
|
+
* FrameScheduler. The native participation surface Fundamental wishes the browser exposed.
|
|
4
4
|
*
|
|
5
5
|
* The scheduler owns loop discipline: every frame walks discover → read → compute → state → write →
|
|
6
6
|
* render in order (see schedule.ts). By default the platform wires the two phases the registries own
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,6DAA6D;IAC7D,SAAS,EAAE,cAAc,CAAC;IAC1B,0GAA0G;IAC1G,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI,CAAC;IACpD,gGAAgG;IAChG,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CACtD;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;CAAG;AAE5D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,6DAA6D;IAC7D,SAAS,EAAE,cAAc,CAAC;IAC1B,0GAA0G;IAC1G,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI,CAAC;IACpD,gGAAgG;IAChG,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CACtD;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;CAAG;AAE5D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,GAAG,aAAa,CA8C5F"}
|
package/dist/platform.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* createFieldPlatform — the coordinator that binds the platform registries to one shared
|
|
3
|
-
* FrameScheduler. The native participation surface
|
|
3
|
+
* FrameScheduler. The native participation surface Fundamental wishes the browser exposed.
|
|
4
4
|
*
|
|
5
5
|
* The scheduler owns loop discipline: every frame walks discover → read → compute → state → write →
|
|
6
6
|
* render in order (see schedule.ts). By default the platform wires the two phases the registries own
|
|
@@ -34,6 +34,17 @@ export function createFieldPlatform(root, opts = {}) {
|
|
|
34
34
|
// the two phases the registries own outright. Everything else is opt-in via platform.on(...).
|
|
35
35
|
scheduler.on('read', (ctx) => measure.measure(ctx.now, ctx.viewport));
|
|
36
36
|
scheduler.on('write', (ctx) => feedback.flush(state, ctx.now));
|
|
37
|
+
// staleness sweep: the StateRegistry and OverlayRegistry both hold strong Element refs with no
|
|
38
|
+
// natural prune moment — the feedback sink writes --lit/--d/--load onto every body every frame,
|
|
39
|
+
// and overlays pin their source elements — yet nothing deletes an entry when its element leaves
|
|
40
|
+
// the DOM. Run their prune on a low cadence (every 120th frame ≈ 2s) to release detached
|
|
41
|
+
// elements for GC. Iterating an empty registry is free, so the sweep is cheap when idle.
|
|
42
|
+
scheduler.on('write', (ctx) => {
|
|
43
|
+
if (ctx.frame % 120 === 0) {
|
|
44
|
+
state.prune();
|
|
45
|
+
overlays.prune();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
37
48
|
return {
|
|
38
49
|
root,
|
|
39
50
|
measure,
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAuB/C,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,OAAwB,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IAEvE,mFAAmF;IACnF,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IAE7C,4FAA4F;IAC5F,gGAAgG;IAChG,qFAAqF;IACrF,wCAAwC;IACxC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/D,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK;QACL,QAAQ;QACR,aAAa;QACb,OAAO;QACP,QAAQ;QACR,SAAS;QACT,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,QAAmB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;KAC1E,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAuB/C,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,OAAwB,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IAEvE,mFAAmF;IACnF,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IAE7C,4FAA4F;IAC5F,gGAAgG;IAChG,qFAAqF;IACrF,wCAAwC;IACxC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/D,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,yFAAyF;IACzF,yFAAyF;IACzF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK;QACL,QAAQ;QACR,aAAa;QACb,OAAO;QACP,QAAQ;QACR,SAAS;QACT,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,QAAmB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;KAC1E,CAAC;AACJ,CAAC"}
|
package/dist/relationships.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* relationships HTML/ARIA already express (`a[href#id]`, `label[for]`, `aria-controls` /
|
|
4
4
|
* `-describedby` / `-labelledby` / `-flowto`, and `data-field-relation`/`-target`) into ONE typed
|
|
5
5
|
* relationship graph, then lets authors add expressive ones on top. Native semantics are respected
|
|
6
|
-
* first;
|
|
6
|
+
* first; Fundamental does not invent a parallel graph for links the platform already declares.
|
|
7
7
|
*
|
|
8
8
|
* Output maps to core's `RelationshipAgent` so the field engine treats relationships as agents.
|
|
9
9
|
*/
|
package/dist/schedule.js
CHANGED
|
@@ -49,7 +49,7 @@ export class FrameScheduler {
|
|
|
49
49
|
message: `"${op}" ran in the ${phase} phase; allowed only in: ${allowed.join(', ')}`,
|
|
50
50
|
};
|
|
51
51
|
if (this.strict)
|
|
52
|
-
throw new Error(`[
|
|
52
|
+
throw new Error(`[Fundamental/platform] ${v.message}`);
|
|
53
53
|
this.recorded.push(v);
|
|
54
54
|
}
|
|
55
55
|
/** A read-phase guard suitable for handing to MeasurementRegistry.setPhaseGuard. */
|
package/dist/schedule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAG3F,sGAAsG;AACtG,MAAM,CAAC,MAAM,WAAW,GAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAwClE,MAAM,OAAO,cAAc;IACR,QAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,CAAU;IAChB,QAAQ,GAAqB,EAAE,CAAC;IACzC,OAAO,GAAiB,IAAI,CAAC;IAC7B,KAAK,GAAG,CAAC,CAAC;IAElB,YAAY,OAAyB,EAAE;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,uEAAuE;IACvE,EAAE,CAAC,KAAY,EAAE,OAAqB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,gGAAgG;IAChG,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAyB,EAAE,EAAU;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,iDAAiD;QAC7E,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,MAAM,CAAC,GAAmB;YACxB,KAAK;YACL,EAAE;YACF,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACrF,CAAC;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* StateRegistry — typed, observable element state that is NOT accessibility state. The native
|
|
3
|
-
* primitive
|
|
3
|
+
* primitive Fundamental wishes existed: a place to hold numeric/boolean/vector2 channels (density,
|
|
4
4
|
* attention, lit, pull) per element, separate from ARIA, that CSS and JS can both consume. This
|
|
5
5
|
* registry only *holds* state; the FeedbackRegistry writes it to the DOM (read-phase vs write-phase).
|
|
6
6
|
*/
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fundamental-engine/platform — shared contracts for the platform-adjacent registries. These describe the
|
|
3
|
-
* native primitives
|
|
3
|
+
* native primitives Fundamental wishes the browser had (frame-stable geometry, typed element state,
|
|
4
4
|
* relationships, visual-semantic pairing) built on the ones it has. Pure data shapes; no DOM here.
|
|
5
5
|
*/
|
|
6
6
|
/** A measured rectangle in a coordinate space, with the centre precomputed. */
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fundamental-engine/platform — shared contracts for the platform-adjacent registries. These describe the
|
|
3
|
-
* native primitives
|
|
3
|
+
* native primitives Fundamental wishes the browser had (frame-stable geometry, typed element state,
|
|
4
4
|
* relationships, visual-semantic pairing) built on the ones it has. Pure data shapes; no DOM here.
|
|
5
5
|
*/
|
|
6
6
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* VisualBindingRegistry — bind an expressive visual layer (SVG, Canvas, WebGL) to its semantic DOM
|
|
3
|
-
* source without duplicating meaning or harming accessibility. The native primitive
|
|
3
|
+
* source without duplicating meaning or harming accessibility. The native primitive Fundamental wishes
|
|
4
4
|
* existed: a declarative "this visual represents that semantic element; don't double-expose it".
|
|
5
5
|
*
|
|
6
6
|
* The semantic source stays real HTML; the visual is `aria-hidden` unless it carries independent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-bindings.d.ts","sourceRoot":"","sources":["../src/visual-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,CAAC;AAOpG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,yDAAyD;QACzD,sBAAsB,EAAE,OAAO,CAAC;QAChC,6FAA6F;QAC7F,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IAC5E,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oGAAoG;AACpG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAID;+FAC+F;AAC/F,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAU9C,CAAC;AA8BF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAElE,+FAA+F;IAC/F,IAAI,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,aAAa;IAmBzF;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAU/B,6FAA6F;IAC7F,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAYhC,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAA4B,GAAG,uBAAuB;
|
|
1
|
+
{"version":3,"file":"visual-bindings.d.ts","sourceRoot":"","sources":["../src/visual-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,CAAC;AAOpG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,yDAAyD;QACzD,sBAAsB,EAAE,OAAO,CAAC;QAChC,6FAA6F;QAC7F,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IAC5E,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oGAAoG;AACpG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAID;+FAC+F;AAC/F,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAU9C,CAAC;AA8BF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAElE,+FAA+F;IAC/F,IAAI,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,aAAa;IAmBzF;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAU/B,6FAA6F;IAC7F,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAYhC,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAA4B,GAAG,uBAAuB;IAwCjH,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAI/C,GAAG,IAAI,aAAa,EAAE;IAItB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,wEAAwE;IACxE,IAAI,IAAI,iBAAiB,EAAE;CAc5B"}
|
package/dist/visual-bindings.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* VisualBindingRegistry — bind an expressive visual layer (SVG, Canvas, WebGL) to its semantic DOM
|
|
3
|
-
* source without duplicating meaning or harming accessibility. The native primitive
|
|
3
|
+
* source without duplicating meaning or harming accessibility. The native primitive Fundamental wishes
|
|
4
4
|
* existed: a declarative "this visual represents that semantic element; don't double-expose it".
|
|
5
5
|
*
|
|
6
6
|
* The semantic source stays real HTML; the visual is `aria-hidden` unless it carries independent
|
|
@@ -149,9 +149,11 @@ export class VisualBindingRegistry {
|
|
|
149
149
|
* and disconnected visuals are pruned. `resolve` defaults to a document-backed resolver.
|
|
150
150
|
*/
|
|
151
151
|
scan(root, resolve = defaultResolver(root)) {
|
|
152
|
-
// navigation hygiene: drop bindings whose visual left the DOM (and stop mirroring
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
// navigation hygiene: drop bindings whose visual OR source left the DOM (and stop mirroring
|
|
153
|
+
// them). Pruning only on the visual leaves a MutationObserver pinned to a removed source —
|
|
154
|
+
// holding that detached source subtree alive for as long as the visual stays mounted.
|
|
155
|
+
for (const [el, b] of this.bindings)
|
|
156
|
+
if (el.isConnected === false || b.semanticSource?.isConnected === false) {
|
|
155
157
|
this.unwatch(el);
|
|
156
158
|
this.bindings.delete(el);
|
|
157
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-bindings.js","sourceRoot":"","sources":["../src/visual-bindings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"visual-bindings.js","sourceRoot":"","sources":["../src/visual-bindings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-engine/platform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The platform-adjacent layer for Fundamental — native-first registries for measurement, semantic state, feedback, relationships, visual-semantic bindings, and overlays. The browser primitives Fundamental wishes existed, built on the ones it has.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@fundamental-engine/core": "0.
|
|
49
|
+
"@fundamental-engine/core": "0.6.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"typescript": "^5.9.3"
|