@fundamental-engine/elements 0.5.1 → 0.8.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 +2 -2
- package/custom-elements.json +456 -6
- package/dist/index.d.ts +44 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +129 -9
- package/dist/index.js.map +1 -1
- package/dist/platform-runtime.d.ts +2 -2
- package/dist/platform-runtime.d.ts.map +1 -1
- package/dist/platform-runtime.js +8 -4
- package/dist/platform-runtime.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -105,14 +105,14 @@ when you want one field across a whole page regardless of framework.
|
|
|
105
105
|
## Recipes & data binding
|
|
106
106
|
|
|
107
107
|
To apply a named recipe over your markup (or bind data to it) rather than wire bodies by hand, use
|
|
108
|
-
`applyRecipe()` / `bindData()` from [`@fundamental-engine/
|
|
108
|
+
`applyRecipe()` / `bindData()` from [`@fundamental-engine/dom`](../dom); browse all 64 recipes at
|
|
109
109
|
[`/docs/gallery`](https://fundamental-engine.com/docs/gallery). The starter app in
|
|
110
110
|
[`apps/starter`](../../apps/starter) shows the declarative element, `applyRecipe`, and `bindData`
|
|
111
111
|
together.
|
|
112
112
|
|
|
113
113
|
## Related
|
|
114
114
|
|
|
115
|
-
[`@fundamental-engine/core`](../core) · [`@fundamental-engine/
|
|
115
|
+
[`@fundamental-engine/core`](../core) · [`@fundamental-engine/dom`](../dom) · [`@fundamental-engine/react`](../react) ·
|
|
116
116
|
[`@fundamental-engine/vanilla`](../vanilla) · the [documentation map](../../docs/README.md).
|
|
117
117
|
|
|
118
118
|
## License
|
package/custom-elements.json
CHANGED
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
"privacy": "private",
|
|
369
369
|
"static": true,
|
|
370
370
|
"readonly": true,
|
|
371
|
-
"default": "[ { key: 'density', attr: 'density', read: (el) => el.density }, { key: 'waves', attr: 'waves', read: (el) => el.waves }, { key: 'depth', attr: 'depth', read: (el) => el.depth }, { key: 'background', attr: 'background', read: (el) => el.background }, { key: 'render', attr: 'render', read: (el) => el.renderMode }, { key: 'overlay', attr: 'overlay', read: (el) => el.overlay }, { key: 'palette', attr: 'palette', read: (el) => el.palette }, { key: 'mass', attr: 'mass', read: (el) => el.mass }, { key: 'attention', attr: 'attention', read: (el) => el.attention }, { key: 'causality', attr: 'causality', read: (el) => el.causality }, { key: 'heatmap', attr: 'heatmap', read: (el) => el.heatmap }, { key: 'dprCap', attr: 'dpr-cap', read: (el) => el.dprCap }, ]",
|
|
371
|
+
"default": "[ { key: 'density', attr: 'density', read: (el) => el.density }, { key: 'waves', attr: 'waves', read: (el) => el.waves }, { key: 'depth', attr: 'depth', read: (el) => el.depth }, { key: 'background', attr: 'background', read: (el) => el.background }, { key: 'render', attr: 'render', read: (el) => el.renderMode }, { key: 'overlay', attr: 'overlay', read: (el) => el.overlay }, { key: 'palette', attr: 'palette', read: (el) => el.palette }, { key: 'mass', attr: 'mass', read: (el) => el.mass }, { key: 'attention', attr: 'attention', read: (el) => el.attention }, { key: 'causality', attr: 'causality', read: (el) => el.causality }, { key: 'heatmap', attr: 'heatmap', read: (el) => el.heatmap }, { key: 'dprCap', attr: 'dpr-cap', read: (el) => el.dprCap }, { key: 'gridWarp', attr: 'grid-warp', read: (el) => el.gridWarp }, { key: 'gridIntensity', attr: 'grid-intensity', read: (el) => el.gridIntensity }, { key: 'theme', attr: 'theme', read: (el) => el.theme }, { key: 'gradientCool', attr: 'gradient-cool', read: (el) => el.gradientCool }, { key: 'gradientWarm', attr: 'gradient-warm', read: (el) => el.gradientWarm }, { key: 'waveBaseline', attr: 'wave-baseline', read: (el) => el.waveBaseline }, ]",
|
|
372
372
|
"description": "The engine options `<field-root>` forwards to `createBrowserField`, as ONE declarative table —\nthe single source of truth for the option object built in `start()`, so a new forwarded\n`FieldOption` can never be silently dropped from forwarding the way `depth` once was. `accent`\n(raw passthrough so a `palette` with no `accent` adopts the palette stop) and\n`overlayCanvas`/`feedbackSink` (managed internally) are special-cased in `start()` and absent here.\n\n`observedAttributes` stays an explicit literal below — the Custom-Elements-Manifest analyzer reads\nit statically and can't enumerate a computed array — but the `option-attrs-observed` test pins it\nto this table (every `attr` here must be observed), so the two lists can't drift apart."
|
|
373
373
|
},
|
|
374
374
|
{
|
|
@@ -388,6 +388,16 @@
|
|
|
388
388
|
},
|
|
389
389
|
"privacy": "private"
|
|
390
390
|
},
|
|
391
|
+
{
|
|
392
|
+
"kind": "field",
|
|
393
|
+
"name": "reflecting",
|
|
394
|
+
"type": {
|
|
395
|
+
"text": "boolean"
|
|
396
|
+
},
|
|
397
|
+
"privacy": "private",
|
|
398
|
+
"default": "false",
|
|
399
|
+
"description": "guard: true while an imperative setter is reflecting its value back to an attribute, so the\nresulting attributeChangedCallback skips re-applying it (no double-apply / feedback loop) — #541."
|
|
400
|
+
},
|
|
391
401
|
{
|
|
392
402
|
"kind": "field",
|
|
393
403
|
"name": "overlayCanvas",
|
|
@@ -429,7 +439,7 @@
|
|
|
429
439
|
"type": {
|
|
430
440
|
"text": "FieldPlatform | undefined"
|
|
431
441
|
},
|
|
432
|
-
"description": "The live `@fundamental-engine/
|
|
442
|
+
"description": "The live `@fundamental-engine/dom` instance backing this field (Phase D default), or `undefined` on\nthe legacy path. Read-only introspection for tools like the Inspector — the registries here are\nthe real running state (measurements, state, feedback bindings, relationships, overlays, lint).\nRead with `measure.last()` etc.; don't call `measure.measure()` off the read phase.",
|
|
433
443
|
"readonly": true
|
|
434
444
|
},
|
|
435
445
|
{
|
|
@@ -465,7 +475,7 @@
|
|
|
465
475
|
"type": {
|
|
466
476
|
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
467
477
|
},
|
|
468
|
-
"description": "render mode (§20.6); `none`
|
|
478
|
+
"description": "render mode (§20.6); the DEFAULT is `none` (#538) — the signals-only engine: simulate + feed back,\nnever draw (#297). Set `render=\"dots\"` (or another drawing mode) to get a visible surface.",
|
|
469
479
|
"readonly": true
|
|
470
480
|
},
|
|
471
481
|
{
|
|
@@ -549,6 +559,103 @@
|
|
|
549
559
|
"description": "`depth` — optional z-volume; undefined (engine default 0, the flat field) if absent/invalid.",
|
|
550
560
|
"readonly": true
|
|
551
561
|
},
|
|
562
|
+
{
|
|
563
|
+
"kind": "field",
|
|
564
|
+
"name": "gridWarp",
|
|
565
|
+
"type": {
|
|
566
|
+
"text": "number | undefined"
|
|
567
|
+
},
|
|
568
|
+
"description": "`grid-warp` — `grid` overlay distortion multiplier; undefined (engine default 1) if absent/invalid.\n`0` is valid (a flat, undistorted lattice).",
|
|
569
|
+
"readonly": true
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"kind": "field",
|
|
573
|
+
"name": "gridIntensity",
|
|
574
|
+
"type": {
|
|
575
|
+
"text": "number | undefined"
|
|
576
|
+
},
|
|
577
|
+
"description": "`grid-intensity` — `grid` overlay stroke opacity ∈ [0,1]; undefined (engine default 0.16, the faint\ndiagnostic) if absent/invalid. Raise it (≈0.5) to make the warped lattice a visual centerpiece.",
|
|
578
|
+
"readonly": true
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"kind": "field",
|
|
582
|
+
"name": "theme",
|
|
583
|
+
"type": {
|
|
584
|
+
"text": "string | undefined"
|
|
585
|
+
},
|
|
586
|
+
"description": "`theme` — ambient palette preset (`warm` (default) | `cool` | `mono`); undefined if absent (#529).",
|
|
587
|
+
"readonly": true
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"kind": "field",
|
|
591
|
+
"name": "gradientCool",
|
|
592
|
+
"type": {
|
|
593
|
+
"text": "string | undefined"
|
|
594
|
+
},
|
|
595
|
+
"description": "`gradient-cool` — hex for the cool end of the heat ramp; overrides the theme (#529).",
|
|
596
|
+
"readonly": true
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"kind": "field",
|
|
600
|
+
"name": "gradientWarm",
|
|
601
|
+
"type": {
|
|
602
|
+
"text": "string | undefined"
|
|
603
|
+
},
|
|
604
|
+
"description": "`gradient-warm` — hex for the warm end of the heat ramp; overrides the theme (#529).",
|
|
605
|
+
"readonly": true
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"kind": "field",
|
|
609
|
+
"name": "waveBaseline",
|
|
610
|
+
"type": {
|
|
611
|
+
"text": "readonly string[] | undefined"
|
|
612
|
+
},
|
|
613
|
+
"description": "`wave-baseline` — space-separated hex stops for the wave baseline; overrides the theme (#529).",
|
|
614
|
+
"readonly": true
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"kind": "field",
|
|
618
|
+
"name": "formation",
|
|
619
|
+
"type": {
|
|
620
|
+
"text": "string | undefined"
|
|
621
|
+
},
|
|
622
|
+
"description": "`formation` — the global formation (§7), applied live; undefined if absent. Unlike the other\nattributes this is post-construction (set via `setFormation`), but it round-trips: the attribute\ndrives the field and `setFormation` reflects back to it (#541).",
|
|
623
|
+
"readonly": true
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"kind": "field",
|
|
627
|
+
"name": "handle",
|
|
628
|
+
"type": {
|
|
629
|
+
"text": "FieldHandle | undefined"
|
|
630
|
+
},
|
|
631
|
+
"description": "the live `FieldHandle` this element drives, or `undefined` before mount / after teardown (#542).\nEvery method below is forwarded for convenience, but `.handle` is the escape hatch for the full\nsurface and for passing the field to `bindData` / `applyRecipe` (both from `@fundamental-engine/dom`):\n`import { bindData } from '@fundamental-engine/dom'; bindData(el.handle, rows, spec);`",
|
|
632
|
+
"readonly": true
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"kind": "method",
|
|
636
|
+
"name": "reflect",
|
|
637
|
+
"privacy": "private",
|
|
638
|
+
"return": {
|
|
639
|
+
"type": {
|
|
640
|
+
"text": "void"
|
|
641
|
+
}
|
|
642
|
+
},
|
|
643
|
+
"parameters": [
|
|
644
|
+
{
|
|
645
|
+
"name": "attr",
|
|
646
|
+
"type": {
|
|
647
|
+
"text": "string"
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"name": "value",
|
|
652
|
+
"type": {
|
|
653
|
+
"text": "string | null"
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
],
|
|
657
|
+
"description": "reflect an imperative setter's value back to its attribute, so attribute-based debugging shows the\nLIVE state (the bug from #541 was a stale `render=\"none\"` after `setRender`). Guarded so the\nresulting attributeChangedCallback does not re-apply it. Pass `null` to remove the attribute."
|
|
658
|
+
},
|
|
552
659
|
{
|
|
553
660
|
"kind": "method",
|
|
554
661
|
"name": "scan",
|
|
@@ -713,6 +820,24 @@
|
|
|
713
820
|
],
|
|
714
821
|
"description": "lower/raise the backing-store DPR ceiling at runtime (the dominant fill-rate lever)."
|
|
715
822
|
},
|
|
823
|
+
{
|
|
824
|
+
"kind": "method",
|
|
825
|
+
"name": "setQualityTier",
|
|
826
|
+
"return": {
|
|
827
|
+
"type": {
|
|
828
|
+
"text": "void"
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"parameters": [
|
|
832
|
+
{
|
|
833
|
+
"name": "tier",
|
|
834
|
+
"type": {
|
|
835
|
+
"text": "number"
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
"description": "apply an adaptive quality tier 0–3 (#413) — the platform runtime forwards the governor's tier."
|
|
840
|
+
},
|
|
716
841
|
{
|
|
717
842
|
"kind": "method",
|
|
718
843
|
"name": "setRender",
|
|
@@ -1175,6 +1300,43 @@
|
|
|
1175
1300
|
],
|
|
1176
1301
|
"description": "subscribe to a discrete field event (absorb/release/settle); a no-op unsubscribe until the field starts."
|
|
1177
1302
|
},
|
|
1303
|
+
{
|
|
1304
|
+
"kind": "field",
|
|
1305
|
+
"name": "version",
|
|
1306
|
+
"type": {
|
|
1307
|
+
"text": "string"
|
|
1308
|
+
},
|
|
1309
|
+
"description": "the running engine version (`FIELD_VERSION`) — available before mount too.",
|
|
1310
|
+
"readonly": true
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"kind": "method",
|
|
1314
|
+
"name": "scrollV",
|
|
1315
|
+
"return": {
|
|
1316
|
+
"type": {
|
|
1317
|
+
"text": "number"
|
|
1318
|
+
}
|
|
1319
|
+
},
|
|
1320
|
+
"description": "the page's scroll velocity the engine tracks (drives `--field-scroll-v`); 0 before mount."
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
"kind": "method",
|
|
1324
|
+
"name": "setVisible",
|
|
1325
|
+
"return": {
|
|
1326
|
+
"type": {
|
|
1327
|
+
"text": "void"
|
|
1328
|
+
}
|
|
1329
|
+
},
|
|
1330
|
+
"parameters": [
|
|
1331
|
+
{
|
|
1332
|
+
"name": "on",
|
|
1333
|
+
"type": {
|
|
1334
|
+
"text": "boolean"
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
],
|
|
1338
|
+
"description": "pause/resume drawing (the simulation keeps running) — the element also does this automatically\nfrom its IntersectionObserver, so a manual call is for explicit control."
|
|
1339
|
+
},
|
|
1178
1340
|
{
|
|
1179
1341
|
"kind": "method",
|
|
1180
1342
|
"name": "start",
|
|
@@ -1228,8 +1390,29 @@
|
|
|
1228
1390
|
{
|
|
1229
1391
|
"name": "dpr-cap"
|
|
1230
1392
|
},
|
|
1393
|
+
{
|
|
1394
|
+
"name": "grid-warp"
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"name": "grid-intensity"
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"name": "theme"
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"name": "gradient-cool"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"name": "gradient-warm"
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
"name": "wave-baseline"
|
|
1410
|
+
},
|
|
1231
1411
|
{
|
|
1232
1412
|
"name": "background"
|
|
1413
|
+
},
|
|
1414
|
+
{
|
|
1415
|
+
"name": "formation"
|
|
1233
1416
|
}
|
|
1234
1417
|
],
|
|
1235
1418
|
"superclass": {
|
|
@@ -1341,12 +1524,61 @@
|
|
|
1341
1524
|
"module": "src/index.ts"
|
|
1342
1525
|
}
|
|
1343
1526
|
},
|
|
1527
|
+
{
|
|
1528
|
+
"name": "grid-warp",
|
|
1529
|
+
"inheritedFrom": {
|
|
1530
|
+
"name": "FieldField",
|
|
1531
|
+
"module": "src/index.ts"
|
|
1532
|
+
}
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"name": "grid-intensity",
|
|
1536
|
+
"inheritedFrom": {
|
|
1537
|
+
"name": "FieldField",
|
|
1538
|
+
"module": "src/index.ts"
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"name": "theme",
|
|
1543
|
+
"inheritedFrom": {
|
|
1544
|
+
"name": "FieldField",
|
|
1545
|
+
"module": "src/index.ts"
|
|
1546
|
+
}
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"name": "gradient-cool",
|
|
1550
|
+
"inheritedFrom": {
|
|
1551
|
+
"name": "FieldField",
|
|
1552
|
+
"module": "src/index.ts"
|
|
1553
|
+
}
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
"name": "gradient-warm",
|
|
1557
|
+
"inheritedFrom": {
|
|
1558
|
+
"name": "FieldField",
|
|
1559
|
+
"module": "src/index.ts"
|
|
1560
|
+
}
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"name": "wave-baseline",
|
|
1564
|
+
"inheritedFrom": {
|
|
1565
|
+
"name": "FieldField",
|
|
1566
|
+
"module": "src/index.ts"
|
|
1567
|
+
}
|
|
1568
|
+
},
|
|
1344
1569
|
{
|
|
1345
1570
|
"name": "background",
|
|
1346
1571
|
"inheritedFrom": {
|
|
1347
1572
|
"name": "FieldField",
|
|
1348
1573
|
"module": "src/index.ts"
|
|
1349
1574
|
}
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"name": "formation",
|
|
1578
|
+
"inheritedFrom": {
|
|
1579
|
+
"name": "FieldField",
|
|
1580
|
+
"module": "src/index.ts"
|
|
1581
|
+
}
|
|
1350
1582
|
}
|
|
1351
1583
|
],
|
|
1352
1584
|
"members": [
|
|
@@ -1359,7 +1591,7 @@
|
|
|
1359
1591
|
"privacy": "private",
|
|
1360
1592
|
"static": true,
|
|
1361
1593
|
"readonly": true,
|
|
1362
|
-
"default": "[ { key: 'density', attr: 'density', read: (el) => el.density }, { key: 'waves', attr: 'waves', read: (el) => el.waves }, { key: 'depth', attr: 'depth', read: (el) => el.depth }, { key: 'background', attr: 'background', read: (el) => el.background }, { key: 'render', attr: 'render', read: (el) => el.renderMode }, { key: 'overlay', attr: 'overlay', read: (el) => el.overlay }, { key: 'palette', attr: 'palette', read: (el) => el.palette }, { key: 'mass', attr: 'mass', read: (el) => el.mass }, { key: 'attention', attr: 'attention', read: (el) => el.attention }, { key: 'causality', attr: 'causality', read: (el) => el.causality }, { key: 'heatmap', attr: 'heatmap', read: (el) => el.heatmap }, { key: 'dprCap', attr: 'dpr-cap', read: (el) => el.dprCap }, ]",
|
|
1594
|
+
"default": "[ { key: 'density', attr: 'density', read: (el) => el.density }, { key: 'waves', attr: 'waves', read: (el) => el.waves }, { key: 'depth', attr: 'depth', read: (el) => el.depth }, { key: 'background', attr: 'background', read: (el) => el.background }, { key: 'render', attr: 'render', read: (el) => el.renderMode }, { key: 'overlay', attr: 'overlay', read: (el) => el.overlay }, { key: 'palette', attr: 'palette', read: (el) => el.palette }, { key: 'mass', attr: 'mass', read: (el) => el.mass }, { key: 'attention', attr: 'attention', read: (el) => el.attention }, { key: 'causality', attr: 'causality', read: (el) => el.causality }, { key: 'heatmap', attr: 'heatmap', read: (el) => el.heatmap }, { key: 'dprCap', attr: 'dpr-cap', read: (el) => el.dprCap }, { key: 'gridWarp', attr: 'grid-warp', read: (el) => el.gridWarp }, { key: 'gridIntensity', attr: 'grid-intensity', read: (el) => el.gridIntensity }, { key: 'theme', attr: 'theme', read: (el) => el.theme }, { key: 'gradientCool', attr: 'gradient-cool', read: (el) => el.gradientCool }, { key: 'gradientWarm', attr: 'gradient-warm', read: (el) => el.gradientWarm }, { key: 'waveBaseline', attr: 'wave-baseline', read: (el) => el.waveBaseline }, ]",
|
|
1363
1595
|
"description": "The engine options `<field-root>` forwards to `createBrowserField`, as ONE declarative table —\nthe single source of truth for the option object built in `start()`, so a new forwarded\n`FieldOption` can never be silently dropped from forwarding the way `depth` once was. `accent`\n(raw passthrough so a `palette` with no `accent` adopts the palette stop) and\n`overlayCanvas`/`feedbackSink` (managed internally) are special-cased in `start()` and absent here.\n\n`observedAttributes` stays an explicit literal below — the Custom-Elements-Manifest analyzer reads\nit statically and can't enumerate a computed array — but the `option-attrs-observed` test pins it\nto this table (every `attr` here must be observed), so the two lists can't drift apart.",
|
|
1364
1596
|
"inheritedFrom": {
|
|
1365
1597
|
"name": "FieldField",
|
|
@@ -1391,6 +1623,20 @@
|
|
|
1391
1623
|
"module": "src/index.ts"
|
|
1392
1624
|
}
|
|
1393
1625
|
},
|
|
1626
|
+
{
|
|
1627
|
+
"kind": "field",
|
|
1628
|
+
"name": "reflecting",
|
|
1629
|
+
"type": {
|
|
1630
|
+
"text": "boolean"
|
|
1631
|
+
},
|
|
1632
|
+
"privacy": "private",
|
|
1633
|
+
"default": "false",
|
|
1634
|
+
"description": "guard: true while an imperative setter is reflecting its value back to an attribute, so the\nresulting attributeChangedCallback skips re-applying it (no double-apply / feedback loop) — #541.",
|
|
1635
|
+
"inheritedFrom": {
|
|
1636
|
+
"name": "FieldField",
|
|
1637
|
+
"module": "src/index.ts"
|
|
1638
|
+
}
|
|
1639
|
+
},
|
|
1394
1640
|
{
|
|
1395
1641
|
"kind": "field",
|
|
1396
1642
|
"name": "overlayCanvas",
|
|
@@ -1448,7 +1694,7 @@
|
|
|
1448
1694
|
"type": {
|
|
1449
1695
|
"text": "FieldPlatform | undefined"
|
|
1450
1696
|
},
|
|
1451
|
-
"description": "The live `@fundamental-engine/
|
|
1697
|
+
"description": "The live `@fundamental-engine/dom` instance backing this field (Phase D default), or `undefined` on\nthe legacy path. Read-only introspection for tools like the Inspector — the registries here are\nthe real running state (measurements, state, feedback bindings, relationships, overlays, lint).\nRead with `measure.last()` etc.; don't call `measure.measure()` off the read phase.",
|
|
1452
1698
|
"readonly": true,
|
|
1453
1699
|
"inheritedFrom": {
|
|
1454
1700
|
"name": "FieldField",
|
|
@@ -1500,7 +1746,7 @@
|
|
|
1500
1746
|
"type": {
|
|
1501
1747
|
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
1502
1748
|
},
|
|
1503
|
-
"description": "render mode (§20.6); `none`
|
|
1749
|
+
"description": "render mode (§20.6); the DEFAULT is `none` (#538) — the signals-only engine: simulate + feed back,\nnever draw (#297). Set `render=\"dots\"` (or another drawing mode) to get a visible surface.",
|
|
1504
1750
|
"readonly": true,
|
|
1505
1751
|
"inheritedFrom": {
|
|
1506
1752
|
"name": "FieldField",
|
|
@@ -1624,6 +1870,139 @@
|
|
|
1624
1870
|
"module": "src/index.ts"
|
|
1625
1871
|
}
|
|
1626
1872
|
},
|
|
1873
|
+
{
|
|
1874
|
+
"kind": "field",
|
|
1875
|
+
"name": "gridWarp",
|
|
1876
|
+
"type": {
|
|
1877
|
+
"text": "number | undefined"
|
|
1878
|
+
},
|
|
1879
|
+
"description": "`grid-warp` — `grid` overlay distortion multiplier; undefined (engine default 1) if absent/invalid.\n`0` is valid (a flat, undistorted lattice).",
|
|
1880
|
+
"readonly": true,
|
|
1881
|
+
"inheritedFrom": {
|
|
1882
|
+
"name": "FieldField",
|
|
1883
|
+
"module": "src/index.ts"
|
|
1884
|
+
}
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
"kind": "field",
|
|
1888
|
+
"name": "gridIntensity",
|
|
1889
|
+
"type": {
|
|
1890
|
+
"text": "number | undefined"
|
|
1891
|
+
},
|
|
1892
|
+
"description": "`grid-intensity` — `grid` overlay stroke opacity ∈ [0,1]; undefined (engine default 0.16, the faint\ndiagnostic) if absent/invalid. Raise it (≈0.5) to make the warped lattice a visual centerpiece.",
|
|
1893
|
+
"readonly": true,
|
|
1894
|
+
"inheritedFrom": {
|
|
1895
|
+
"name": "FieldField",
|
|
1896
|
+
"module": "src/index.ts"
|
|
1897
|
+
}
|
|
1898
|
+
},
|
|
1899
|
+
{
|
|
1900
|
+
"kind": "field",
|
|
1901
|
+
"name": "theme",
|
|
1902
|
+
"type": {
|
|
1903
|
+
"text": "string | undefined"
|
|
1904
|
+
},
|
|
1905
|
+
"description": "`theme` — ambient palette preset (`warm` (default) | `cool` | `mono`); undefined if absent (#529).",
|
|
1906
|
+
"readonly": true,
|
|
1907
|
+
"inheritedFrom": {
|
|
1908
|
+
"name": "FieldField",
|
|
1909
|
+
"module": "src/index.ts"
|
|
1910
|
+
}
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"kind": "field",
|
|
1914
|
+
"name": "gradientCool",
|
|
1915
|
+
"type": {
|
|
1916
|
+
"text": "string | undefined"
|
|
1917
|
+
},
|
|
1918
|
+
"description": "`gradient-cool` — hex for the cool end of the heat ramp; overrides the theme (#529).",
|
|
1919
|
+
"readonly": true,
|
|
1920
|
+
"inheritedFrom": {
|
|
1921
|
+
"name": "FieldField",
|
|
1922
|
+
"module": "src/index.ts"
|
|
1923
|
+
}
|
|
1924
|
+
},
|
|
1925
|
+
{
|
|
1926
|
+
"kind": "field",
|
|
1927
|
+
"name": "gradientWarm",
|
|
1928
|
+
"type": {
|
|
1929
|
+
"text": "string | undefined"
|
|
1930
|
+
},
|
|
1931
|
+
"description": "`gradient-warm` — hex for the warm end of the heat ramp; overrides the theme (#529).",
|
|
1932
|
+
"readonly": true,
|
|
1933
|
+
"inheritedFrom": {
|
|
1934
|
+
"name": "FieldField",
|
|
1935
|
+
"module": "src/index.ts"
|
|
1936
|
+
}
|
|
1937
|
+
},
|
|
1938
|
+
{
|
|
1939
|
+
"kind": "field",
|
|
1940
|
+
"name": "waveBaseline",
|
|
1941
|
+
"type": {
|
|
1942
|
+
"text": "readonly string[] | undefined"
|
|
1943
|
+
},
|
|
1944
|
+
"description": "`wave-baseline` — space-separated hex stops for the wave baseline; overrides the theme (#529).",
|
|
1945
|
+
"readonly": true,
|
|
1946
|
+
"inheritedFrom": {
|
|
1947
|
+
"name": "FieldField",
|
|
1948
|
+
"module": "src/index.ts"
|
|
1949
|
+
}
|
|
1950
|
+
},
|
|
1951
|
+
{
|
|
1952
|
+
"kind": "field",
|
|
1953
|
+
"name": "formation",
|
|
1954
|
+
"type": {
|
|
1955
|
+
"text": "string | undefined"
|
|
1956
|
+
},
|
|
1957
|
+
"description": "`formation` — the global formation (§7), applied live; undefined if absent. Unlike the other\nattributes this is post-construction (set via `setFormation`), but it round-trips: the attribute\ndrives the field and `setFormation` reflects back to it (#541).",
|
|
1958
|
+
"readonly": true,
|
|
1959
|
+
"inheritedFrom": {
|
|
1960
|
+
"name": "FieldField",
|
|
1961
|
+
"module": "src/index.ts"
|
|
1962
|
+
}
|
|
1963
|
+
},
|
|
1964
|
+
{
|
|
1965
|
+
"kind": "field",
|
|
1966
|
+
"name": "handle",
|
|
1967
|
+
"type": {
|
|
1968
|
+
"text": "FieldHandle | undefined"
|
|
1969
|
+
},
|
|
1970
|
+
"description": "the live `FieldHandle` this element drives, or `undefined` before mount / after teardown (#542).\nEvery method below is forwarded for convenience, but `.handle` is the escape hatch for the full\nsurface and for passing the field to `bindData` / `applyRecipe` (both from `@fundamental-engine/dom`):\n`import { bindData } from '@fundamental-engine/dom'; bindData(el.handle, rows, spec);`",
|
|
1971
|
+
"readonly": true,
|
|
1972
|
+
"inheritedFrom": {
|
|
1973
|
+
"name": "FieldField",
|
|
1974
|
+
"module": "src/index.ts"
|
|
1975
|
+
}
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
"kind": "method",
|
|
1979
|
+
"name": "reflect",
|
|
1980
|
+
"privacy": "private",
|
|
1981
|
+
"return": {
|
|
1982
|
+
"type": {
|
|
1983
|
+
"text": "void"
|
|
1984
|
+
}
|
|
1985
|
+
},
|
|
1986
|
+
"parameters": [
|
|
1987
|
+
{
|
|
1988
|
+
"name": "attr",
|
|
1989
|
+
"type": {
|
|
1990
|
+
"text": "string"
|
|
1991
|
+
}
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"name": "value",
|
|
1995
|
+
"type": {
|
|
1996
|
+
"text": "string | null"
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
],
|
|
2000
|
+
"description": "reflect an imperative setter's value back to its attribute, so attribute-based debugging shows the\nLIVE state (the bug from #541 was a stale `render=\"none\"` after `setRender`). Guarded so the\nresulting attributeChangedCallback does not re-apply it. Pass `null` to remove the attribute.",
|
|
2001
|
+
"inheritedFrom": {
|
|
2002
|
+
"name": "FieldField",
|
|
2003
|
+
"module": "src/index.ts"
|
|
2004
|
+
}
|
|
2005
|
+
},
|
|
1627
2006
|
{
|
|
1628
2007
|
"kind": "method",
|
|
1629
2008
|
"name": "scan",
|
|
@@ -1828,6 +2207,28 @@
|
|
|
1828
2207
|
"module": "src/index.ts"
|
|
1829
2208
|
}
|
|
1830
2209
|
},
|
|
2210
|
+
{
|
|
2211
|
+
"kind": "method",
|
|
2212
|
+
"name": "setQualityTier",
|
|
2213
|
+
"return": {
|
|
2214
|
+
"type": {
|
|
2215
|
+
"text": "void"
|
|
2216
|
+
}
|
|
2217
|
+
},
|
|
2218
|
+
"parameters": [
|
|
2219
|
+
{
|
|
2220
|
+
"name": "tier",
|
|
2221
|
+
"type": {
|
|
2222
|
+
"text": "number"
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
],
|
|
2226
|
+
"description": "apply an adaptive quality tier 0–3 (#413) — the platform runtime forwards the governor's tier.",
|
|
2227
|
+
"inheritedFrom": {
|
|
2228
|
+
"name": "FieldField",
|
|
2229
|
+
"module": "src/index.ts"
|
|
2230
|
+
}
|
|
2231
|
+
},
|
|
1831
2232
|
{
|
|
1832
2233
|
"kind": "method",
|
|
1833
2234
|
"name": "setRender",
|
|
@@ -2382,6 +2783,55 @@
|
|
|
2382
2783
|
"module": "src/index.ts"
|
|
2383
2784
|
}
|
|
2384
2785
|
},
|
|
2786
|
+
{
|
|
2787
|
+
"kind": "field",
|
|
2788
|
+
"name": "version",
|
|
2789
|
+
"type": {
|
|
2790
|
+
"text": "string"
|
|
2791
|
+
},
|
|
2792
|
+
"description": "the running engine version (`FIELD_VERSION`) — available before mount too.",
|
|
2793
|
+
"readonly": true,
|
|
2794
|
+
"inheritedFrom": {
|
|
2795
|
+
"name": "FieldField",
|
|
2796
|
+
"module": "src/index.ts"
|
|
2797
|
+
}
|
|
2798
|
+
},
|
|
2799
|
+
{
|
|
2800
|
+
"kind": "method",
|
|
2801
|
+
"name": "scrollV",
|
|
2802
|
+
"return": {
|
|
2803
|
+
"type": {
|
|
2804
|
+
"text": "number"
|
|
2805
|
+
}
|
|
2806
|
+
},
|
|
2807
|
+
"description": "the page's scroll velocity the engine tracks (drives `--field-scroll-v`); 0 before mount.",
|
|
2808
|
+
"inheritedFrom": {
|
|
2809
|
+
"name": "FieldField",
|
|
2810
|
+
"module": "src/index.ts"
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
{
|
|
2814
|
+
"kind": "method",
|
|
2815
|
+
"name": "setVisible",
|
|
2816
|
+
"return": {
|
|
2817
|
+
"type": {
|
|
2818
|
+
"text": "void"
|
|
2819
|
+
}
|
|
2820
|
+
},
|
|
2821
|
+
"parameters": [
|
|
2822
|
+
{
|
|
2823
|
+
"name": "on",
|
|
2824
|
+
"type": {
|
|
2825
|
+
"text": "boolean"
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
],
|
|
2829
|
+
"description": "pause/resume drawing (the simulation keeps running) — the element also does this automatically\nfrom its IntersectionObserver, so a manual call is for explicit control.",
|
|
2830
|
+
"inheritedFrom": {
|
|
2831
|
+
"name": "FieldField",
|
|
2832
|
+
"module": "src/index.ts"
|
|
2833
|
+
}
|
|
2834
|
+
},
|
|
2385
2835
|
{
|
|
2386
2836
|
"kind": "method",
|
|
2387
2837
|
"name": "start",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type AgentHandle, type AgentSpec, type AtomPayload, type ThreadLink, type FlowOptions, type OverlayInput, type ScalarGrid, type FieldEventType, type FieldEventMap, type BodySpec, type BodyHandle, type FieldChannelHandle } from '@fundamental-engine/core';
|
|
2
|
-
import { type FieldPlatform } from '@fundamental-engine/
|
|
1
|
+
import { type AgentHandle, type AgentSpec, type AtomPayload, type FieldHandle, type ThreadLink, type FlowOptions, type OverlayInput, type ScalarGrid, type FieldEventType, type FieldEventMap, type BodySpec, type BodyHandle, type FieldChannelHandle } from '@fundamental-engine/core';
|
|
2
|
+
import { type FieldPlatform } from '@fundamental-engine/dom';
|
|
3
3
|
import { HTMLElementBase } from './base.ts';
|
|
4
4
|
import { type PlatformRuntime } from './platform-runtime.ts';
|
|
5
5
|
export { usePlatformRuntime, isPlatformRuntimeDefault, shouldUsePlatformRuntime, startPlatformRuntime } from './platform-runtime.ts';
|
|
@@ -20,6 +20,9 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
20
20
|
static readonly observedAttributes: string[];
|
|
21
21
|
private readonly canvas;
|
|
22
22
|
private field?;
|
|
23
|
+
/** guard: true while an imperative setter is reflecting its value back to an attribute, so the
|
|
24
|
+
* resulting attributeChangedCallback skips re-applying it (no double-apply / feedback loop) — #541. */
|
|
25
|
+
private reflecting;
|
|
23
26
|
/** Field Surfaces: the optional front overlay surface (light-DOM, above content). */
|
|
24
27
|
private overlayCanvas?;
|
|
25
28
|
/** element-level visibility: pages can hide the field (display:none) — skip draw work then. */
|
|
@@ -28,7 +31,7 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
28
31
|
/** experimental platform runtime (Phase D); present only when the flag is on. */
|
|
29
32
|
platformRuntime?: PlatformRuntime;
|
|
30
33
|
/**
|
|
31
|
-
* The live `@fundamental-engine/
|
|
34
|
+
* The live `@fundamental-engine/dom` instance backing this field (Phase D default), or `undefined` on
|
|
32
35
|
* the legacy path. Read-only introspection for tools like the Inspector — the registries here are
|
|
33
36
|
* the real running state (measurements, state, feedback bindings, relationships, overlays, lint).
|
|
34
37
|
* Read with `measure.last()` etc.; don't call `measure.measure()` off the read phase.
|
|
@@ -41,7 +44,8 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
41
44
|
get density(): number;
|
|
42
45
|
/** draw the background Currents (§24). */
|
|
43
46
|
get waves(): boolean;
|
|
44
|
-
/** render mode (§20.6); `none`
|
|
47
|
+
/** render mode (§20.6); the DEFAULT is `none` (#538) — the signals-only engine: simulate + feed back,
|
|
48
|
+
* never draw (#297). Set `render="dots"` (or another drawing mode) to get a visible surface. */
|
|
45
49
|
get renderMode(): 'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none';
|
|
46
50
|
/** substrate background: `transparent` (present and not `"false"`) clears to transparent so the
|
|
47
51
|
* underlay composites over light content; default `opaque` paints the near-black substrate. */
|
|
@@ -62,6 +66,33 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
62
66
|
get dprCap(): number | undefined;
|
|
63
67
|
/** `depth` — optional z-volume; undefined (engine default 0, the flat field) if absent/invalid. */
|
|
64
68
|
get depth(): number | undefined;
|
|
69
|
+
/** `grid-warp` — `grid` overlay distortion multiplier; undefined (engine default 1) if absent/invalid.
|
|
70
|
+
* `0` is valid (a flat, undistorted lattice). */
|
|
71
|
+
get gridWarp(): number | undefined;
|
|
72
|
+
/** `grid-intensity` — `grid` overlay stroke opacity ∈ [0,1]; undefined (engine default 0.16, the faint
|
|
73
|
+
* diagnostic) if absent/invalid. Raise it (≈0.5) to make the warped lattice a visual centerpiece. */
|
|
74
|
+
get gridIntensity(): number | undefined;
|
|
75
|
+
/** `theme` — ambient palette preset (`warm` (default) | `cool` | `mono`); undefined if absent (#529). */
|
|
76
|
+
get theme(): string | undefined;
|
|
77
|
+
/** `gradient-cool` — hex for the cool end of the heat ramp; overrides the theme (#529). */
|
|
78
|
+
get gradientCool(): string | undefined;
|
|
79
|
+
/** `gradient-warm` — hex for the warm end of the heat ramp; overrides the theme (#529). */
|
|
80
|
+
get gradientWarm(): string | undefined;
|
|
81
|
+
/** `wave-baseline` — space-separated hex stops for the wave baseline; overrides the theme (#529). */
|
|
82
|
+
get waveBaseline(): readonly string[] | undefined;
|
|
83
|
+
/** `formation` — the global formation (§7), applied live; undefined if absent. Unlike the other
|
|
84
|
+
* attributes this is post-construction (set via `setFormation`), but it round-trips: the attribute
|
|
85
|
+
* drives the field and `setFormation` reflects back to it (#541). */
|
|
86
|
+
get formation(): string | undefined;
|
|
87
|
+
/** the live `FieldHandle` this element drives, or `undefined` before mount / after teardown (#542).
|
|
88
|
+
* Every method below is forwarded for convenience, but `.handle` is the escape hatch for the full
|
|
89
|
+
* surface and for passing the field to `bindData` / `applyRecipe` (both from `@fundamental-engine/dom`):
|
|
90
|
+
* `import { bindData } from '@fundamental-engine/dom'; bindData(el.handle, rows, spec);` */
|
|
91
|
+
get handle(): FieldHandle | undefined;
|
|
92
|
+
/** reflect an imperative setter's value back to its attribute, so attribute-based debugging shows the
|
|
93
|
+
* LIVE state (the bug from #541 was a stale `render="none"` after `setRender`). Guarded so the
|
|
94
|
+
* resulting attributeChangedCallback does not re-apply it. Pass `null` to remove the attribute. */
|
|
95
|
+
private reflect;
|
|
65
96
|
/** re-scan the document for `[data-body]` bodies after a DOM change. */
|
|
66
97
|
scan(): void;
|
|
67
98
|
/** alias of `scan`. */
|
|
@@ -82,6 +113,8 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
82
113
|
setHeatmap(on: boolean): void;
|
|
83
114
|
/** lower/raise the backing-store DPR ceiling at runtime (the dominant fill-rate lever). */
|
|
84
115
|
setDprCap(cap: number): void;
|
|
116
|
+
/** apply an adaptive quality tier 0–3 (#413) — the platform runtime forwards the governor's tier. */
|
|
117
|
+
setQualityTier(tier: number): void;
|
|
85
118
|
/** switch the underlay render mode (§20.6) live; `none` = signals-only — stop drawing, keep the signals (#297). */
|
|
86
119
|
setRender(mode: 'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'): void;
|
|
87
120
|
/** render field readings on the overlay surface (Field Surfaces — in front of content); one mode or an additive stack. */
|
|
@@ -141,6 +174,13 @@ export declare class FieldField extends HTMLElementBase {
|
|
|
141
174
|
grid(name: string): ScalarGrid;
|
|
142
175
|
/** subscribe to a discrete field event (absorb/release/settle); a no-op unsubscribe until the field starts. */
|
|
143
176
|
on<K extends FieldEventType>(type: K, cb: (e: FieldEventMap[K]) => void): () => void;
|
|
177
|
+
/** the running engine version (`FIELD_VERSION`) — available before mount too. */
|
|
178
|
+
get version(): string;
|
|
179
|
+
/** the page's scroll velocity the engine tracks (drives `--field-scroll-v`); 0 before mount. */
|
|
180
|
+
scrollV(): number;
|
|
181
|
+
/** pause/resume drawing (the simulation keeps running) — the element also does this automatically
|
|
182
|
+
* from its IntersectionObserver, so a manual call is for explicit control. */
|
|
183
|
+
setVisible(on: boolean): void;
|
|
144
184
|
connectedCallback(): void;
|
|
145
185
|
disconnectedCallback(): void;
|
|
146
186
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PALETTE } from '@fundamental-engine/core';
|
|
2
|
-
import { createBrowserField } from '@fundamental-engine/
|
|
1
|
+
import { PALETTE, FIELD_VERSION } from '@fundamental-engine/core';
|
|
2
|
+
import { createBrowserField } from '@fundamental-engine/dom';
|
|
3
3
|
import { HTMLElementBase } from "./base.js";
|
|
4
4
|
import { shouldUsePlatformRuntime, startPlatformRuntime, makeFeedbackSink } from "./platform-runtime.js";
|
|
5
5
|
// Experimental platform runtime (Phase D). Re-exported so apps can opt in globally.
|
|
@@ -24,14 +24,20 @@ export { usePlatformRuntime, isPlatformRuntimeDefault, shouldUsePlatformRuntime,
|
|
|
24
24
|
* @attr {string} accent - Accent color (hex) the field draws particles and overlay in.
|
|
25
25
|
* @attr {number} density - Particle-density multiplier (default `1`; `0.5` halves the count).
|
|
26
26
|
* @attr {number} waves - Intensity of the resting wave currents (the ambient drift).
|
|
27
|
-
* @attr {string} render - Underlay render mode (Field Surfaces, behind content): `dots` | `trails` | `links` | `metaballs` | `voronoi` | `streamlines` | `none`. `none`
|
|
27
|
+
* @attr {string} render - Underlay render mode (Field Surfaces, behind content): `dots` | `trails` | `links` | `metaballs` | `voronoi` | `streamlines` | `none`. The DEFAULT is `none` (#538) — the signals-only engine (#297): the simulation and feedback signals run, but no canvas context is acquired and nothing is ever drawn. Set `render="dots"` for the particle surface.
|
|
28
28
|
* @attr {string} overlay - Overlay readings (Field Surfaces, in front of content): `off` | `streamlines` | `force-vectors` | `field-lines` | `grid` | `temperature` | `energy` | `path` | `data` — or a space-separated stack (readings are additive, drawn in order).
|
|
29
29
|
* @attr {string} palette - Named color palette for the field.
|
|
30
|
+
* @attr {string} theme - Ambient theme preset (#529): `warm` (default) | `cool` | `mono` — the heat ramp + wave baseline.
|
|
31
|
+
* @attr {string} gradient-cool - Hex for the cool end of the heat ramp; overrides the theme (#529).
|
|
32
|
+
* @attr {string} gradient-warm - Hex for the warm end of the heat ramp; overrides the theme (#529).
|
|
33
|
+
* @attr {string} wave-baseline - Space-separated hex stops for the wave baseline; overrides the theme (#529).
|
|
30
34
|
* @attr {number} mass - Global mass scaling applied to bodies.
|
|
31
35
|
* @attr {boolean} attention - Enables the conserved-attention behaviour (one finite budget, redistributed).
|
|
32
36
|
* @attr {boolean} causality - Enables the causality demo behaviour.
|
|
33
37
|
* @attr {string} background - Substrate background: `transparent` clears to transparent so the underlay composites over light content (an image, a 3D scene, a light page); default `opaque` paints the near-black substrate.
|
|
34
38
|
* @attr {number} depth - Optional z-volume (default `0`, the flat field). `> 0` opens a shallow depth the matter drifts through, projected as a size/alpha recession. Construction-time — changing it rebuilds.
|
|
39
|
+
* @attr {number} grid-warp - Distortion multiplier for the `grid` overlay's lattice (default `1`, the calibrated amount). `2`–`3` exaggerates the deformation; `0` flattens it. Only affects the `grid` overlay mode.
|
|
40
|
+
* @attr {number} grid-intensity - Stroke opacity ∈ [0,1] for the `grid` overlay lines (default `0.16`, the faint diagnostic). Raise it (≈`0.5`) to make the warped lattice a visual centerpiece. Only affects the `grid` overlay mode.
|
|
35
41
|
*/
|
|
36
42
|
/** A no-op scalar grid returned by `grid()` before the element's field has started. */
|
|
37
43
|
const NULL_GRID = {
|
|
@@ -66,6 +72,12 @@ export class FieldField extends HTMLElementBase {
|
|
|
66
72
|
{ key: 'causality', attr: 'causality', read: (el) => el.causality },
|
|
67
73
|
{ key: 'heatmap', attr: 'heatmap', read: (el) => el.heatmap },
|
|
68
74
|
{ key: 'dprCap', attr: 'dpr-cap', read: (el) => el.dprCap },
|
|
75
|
+
{ key: 'gridWarp', attr: 'grid-warp', read: (el) => el.gridWarp },
|
|
76
|
+
{ key: 'gridIntensity', attr: 'grid-intensity', read: (el) => el.gridIntensity },
|
|
77
|
+
{ key: 'theme', attr: 'theme', read: (el) => el.theme },
|
|
78
|
+
{ key: 'gradientCool', attr: 'gradient-cool', read: (el) => el.gradientCool },
|
|
79
|
+
{ key: 'gradientWarm', attr: 'gradient-warm', read: (el) => el.gradientWarm },
|
|
80
|
+
{ key: 'waveBaseline', attr: 'wave-baseline', read: (el) => el.waveBaseline },
|
|
69
81
|
];
|
|
70
82
|
// Literal (not computed) so the CEM analyzer can enumerate it; the test keeps it in sync with OPTIONS.
|
|
71
83
|
static observedAttributes = [
|
|
@@ -81,10 +93,20 @@ export class FieldField extends HTMLElementBase {
|
|
|
81
93
|
'causality',
|
|
82
94
|
'heatmap',
|
|
83
95
|
'dpr-cap',
|
|
96
|
+
'grid-warp',
|
|
97
|
+
'grid-intensity',
|
|
98
|
+
'theme',
|
|
99
|
+
'gradient-cool',
|
|
100
|
+
'gradient-warm',
|
|
101
|
+
'wave-baseline',
|
|
84
102
|
'background',
|
|
103
|
+
'formation',
|
|
85
104
|
];
|
|
86
105
|
canvas;
|
|
87
106
|
field;
|
|
107
|
+
/** guard: true while an imperative setter is reflecting its value back to an attribute, so the
|
|
108
|
+
* resulting attributeChangedCallback skips re-applying it (no double-apply / feedback loop) — #541. */
|
|
109
|
+
reflecting = false;
|
|
88
110
|
/** Field Surfaces: the optional front overlay surface (light-DOM, above content). */
|
|
89
111
|
overlayCanvas;
|
|
90
112
|
/** element-level visibility: pages can hide the field (display:none) — skip draw work then. */
|
|
@@ -93,7 +115,7 @@ export class FieldField extends HTMLElementBase {
|
|
|
93
115
|
/** experimental platform runtime (Phase D); present only when the flag is on. */
|
|
94
116
|
platformRuntime;
|
|
95
117
|
/**
|
|
96
|
-
* The live `@fundamental-engine/
|
|
118
|
+
* The live `@fundamental-engine/dom` instance backing this field (Phase D default), or `undefined` on
|
|
97
119
|
* the legacy path. Read-only introspection for tools like the Inspector — the registries here are
|
|
98
120
|
* the real running state (measurements, state, feedback bindings, relationships, overlays, lint).
|
|
99
121
|
* Read with `measure.last()` etc.; don't call `measure.measure()` off the read phase.
|
|
@@ -124,12 +146,13 @@ export class FieldField extends HTMLElementBase {
|
|
|
124
146
|
get waves() {
|
|
125
147
|
return this.getAttribute('waves') !== 'false';
|
|
126
148
|
}
|
|
127
|
-
/** render mode (§20.6); `none`
|
|
149
|
+
/** render mode (§20.6); the DEFAULT is `none` (#538) — the signals-only engine: simulate + feed back,
|
|
150
|
+
* never draw (#297). Set `render="dots"` (or another drawing mode) to get a visible surface. */
|
|
128
151
|
get renderMode() {
|
|
129
152
|
const v = this.getAttribute('render');
|
|
130
|
-
return v === '
|
|
153
|
+
return v === 'dots' || v === 'trails' || v === 'links' || v === 'metaballs' || v === 'voronoi' || v === 'streamlines' || v === 'flow'
|
|
131
154
|
? v
|
|
132
|
-
: '
|
|
155
|
+
: 'none';
|
|
133
156
|
}
|
|
134
157
|
/** substrate background: `transparent` (present and not `"false"`) clears to transparent so the
|
|
135
158
|
* underlay composites over light content; default `opaque` paints the near-black substrate. */
|
|
@@ -179,14 +202,67 @@ export class FieldField extends HTMLElementBase {
|
|
|
179
202
|
/** `dpr-cap` — backing-store DPR ceiling (#410); undefined (engine default 2) if absent/invalid. */
|
|
180
203
|
get dprCap() {
|
|
181
204
|
const v = Number(this.getAttribute('dpr-cap'));
|
|
182
|
-
return v > 0 ? v : undefined;
|
|
205
|
+
return Number.isFinite(v) && v > 0 ? v : undefined;
|
|
183
206
|
}
|
|
184
207
|
/** `depth` — optional z-volume; undefined (engine default 0, the flat field) if absent/invalid. */
|
|
185
208
|
get depth() {
|
|
186
209
|
const v = Number(this.getAttribute('depth'));
|
|
187
210
|
return Number.isFinite(v) && v > 0 ? v : undefined;
|
|
188
211
|
}
|
|
212
|
+
/** `grid-warp` — `grid` overlay distortion multiplier; undefined (engine default 1) if absent/invalid.
|
|
213
|
+
* `0` is valid (a flat, undistorted lattice). */
|
|
214
|
+
get gridWarp() {
|
|
215
|
+
const v = Number(this.getAttribute('grid-warp'));
|
|
216
|
+
return Number.isFinite(v) && v >= 0 ? v : undefined;
|
|
217
|
+
}
|
|
218
|
+
/** `grid-intensity` — `grid` overlay stroke opacity ∈ [0,1]; undefined (engine default 0.16, the faint
|
|
219
|
+
* diagnostic) if absent/invalid. Raise it (≈0.5) to make the warped lattice a visual centerpiece. */
|
|
220
|
+
get gridIntensity() {
|
|
221
|
+
const v = Number(this.getAttribute('grid-intensity'));
|
|
222
|
+
return Number.isFinite(v) && v >= 0 ? v : undefined;
|
|
223
|
+
}
|
|
224
|
+
/** `theme` — ambient palette preset (`warm` (default) | `cool` | `mono`); undefined if absent (#529). */
|
|
225
|
+
get theme() {
|
|
226
|
+
return this.getAttribute('theme') ?? undefined;
|
|
227
|
+
}
|
|
228
|
+
/** `gradient-cool` — hex for the cool end of the heat ramp; overrides the theme (#529). */
|
|
229
|
+
get gradientCool() {
|
|
230
|
+
return this.getAttribute('gradient-cool') ?? undefined;
|
|
231
|
+
}
|
|
232
|
+
/** `gradient-warm` — hex for the warm end of the heat ramp; overrides the theme (#529). */
|
|
233
|
+
get gradientWarm() {
|
|
234
|
+
return this.getAttribute('gradient-warm') ?? undefined;
|
|
235
|
+
}
|
|
236
|
+
/** `wave-baseline` — space-separated hex stops for the wave baseline; overrides the theme (#529). */
|
|
237
|
+
get waveBaseline() {
|
|
238
|
+
const list = (this.getAttribute('wave-baseline') ?? '').split(/\s+/).filter(Boolean);
|
|
239
|
+
return list.length ? list : undefined;
|
|
240
|
+
}
|
|
241
|
+
/** `formation` — the global formation (§7), applied live; undefined if absent. Unlike the other
|
|
242
|
+
* attributes this is post-construction (set via `setFormation`), but it round-trips: the attribute
|
|
243
|
+
* drives the field and `setFormation` reflects back to it (#541). */
|
|
244
|
+
get formation() {
|
|
245
|
+
return this.getAttribute('formation') ?? undefined;
|
|
246
|
+
}
|
|
189
247
|
// ── the FieldHandle surface, proxied onto the element (§13) ────────────────
|
|
248
|
+
/** the live `FieldHandle` this element drives, or `undefined` before mount / after teardown (#542).
|
|
249
|
+
* Every method below is forwarded for convenience, but `.handle` is the escape hatch for the full
|
|
250
|
+
* surface and for passing the field to `bindData` / `applyRecipe` (both from `@fundamental-engine/dom`):
|
|
251
|
+
* `import { bindData } from '@fundamental-engine/dom'; bindData(el.handle, rows, spec);` */
|
|
252
|
+
get handle() {
|
|
253
|
+
return this.field;
|
|
254
|
+
}
|
|
255
|
+
/** reflect an imperative setter's value back to its attribute, so attribute-based debugging shows the
|
|
256
|
+
* LIVE state (the bug from #541 was a stale `render="none"` after `setRender`). Guarded so the
|
|
257
|
+
* resulting attributeChangedCallback does not re-apply it. Pass `null` to remove the attribute. */
|
|
258
|
+
reflect(attr, value) {
|
|
259
|
+
this.reflecting = true;
|
|
260
|
+
if (value === null)
|
|
261
|
+
this.removeAttribute(attr);
|
|
262
|
+
else
|
|
263
|
+
this.setAttribute(attr, value);
|
|
264
|
+
this.reflecting = false;
|
|
265
|
+
}
|
|
190
266
|
/** re-scan the document for `[data-body]` bodies after a DOM change. */
|
|
191
267
|
scan() {
|
|
192
268
|
this.field?.scan();
|
|
@@ -198,43 +274,61 @@ export class FieldField extends HTMLElementBase {
|
|
|
198
274
|
/** recolor the travelling accent (§9). */
|
|
199
275
|
setAccent(hex) {
|
|
200
276
|
this.field?.setAccent(hex);
|
|
277
|
+
this.reflect('accent', hex);
|
|
201
278
|
}
|
|
202
279
|
/** swap the accent color template live (§9). */
|
|
203
280
|
setPalette(palette) {
|
|
204
281
|
this.field?.setPalette(palette);
|
|
282
|
+
// only a named palette has an attribute form; a custom hex-stop array is driven imperatively.
|
|
283
|
+
if (typeof palette === 'string')
|
|
284
|
+
this.reflect('palette', palette);
|
|
205
285
|
}
|
|
206
286
|
/** switch the global formation (§7). */
|
|
207
287
|
setFormation(name) {
|
|
208
288
|
this.field?.setFormation(name);
|
|
289
|
+
this.reflect('formation', name);
|
|
209
290
|
}
|
|
210
291
|
/** toggle conserved attention (§2.4) live. */
|
|
211
292
|
setAttention(on) {
|
|
212
293
|
this.field?.setAttention(on);
|
|
294
|
+
this.reflect('attention', on ? 'true' : 'false');
|
|
213
295
|
}
|
|
214
296
|
/** toggle cross-boundary causality (Concept 4) live. */
|
|
215
297
|
setCausality(on) {
|
|
216
298
|
this.field?.setCausality(on);
|
|
299
|
+
this.reflect('causality', on ? 'true' : 'false');
|
|
217
300
|
}
|
|
218
301
|
/** switch the substrate background live: `transparent` composites the underlay over light content. */
|
|
219
302
|
setBackground(mode) {
|
|
220
303
|
this.field?.setBackground(mode);
|
|
304
|
+
this.reflect('background', mode);
|
|
221
305
|
}
|
|
222
306
|
/** toggle the density heatmap layer (field-systems H1) live. */
|
|
223
307
|
setHeatmap(on) {
|
|
224
308
|
this.field?.setHeatmap(on);
|
|
309
|
+
this.reflect('heatmap', on ? 'true' : 'false');
|
|
225
310
|
}
|
|
226
311
|
/** lower/raise the backing-store DPR ceiling at runtime (the dominant fill-rate lever). */
|
|
227
312
|
setDprCap(cap) {
|
|
228
313
|
this.field?.setDprCap(cap);
|
|
229
314
|
}
|
|
315
|
+
/** apply an adaptive quality tier 0–3 (#413) — the platform runtime forwards the governor's tier. */
|
|
316
|
+
setQualityTier(tier) {
|
|
317
|
+
this.field?.setQualityTier(tier);
|
|
318
|
+
}
|
|
230
319
|
/** switch the underlay render mode (§20.6) live; `none` = signals-only — stop drawing, keep the signals (#297). */
|
|
231
320
|
setRender(mode) {
|
|
232
321
|
this.field?.setRender(mode);
|
|
322
|
+
this.reflect('render', mode);
|
|
233
323
|
}
|
|
234
324
|
/** render field readings on the overlay surface (Field Surfaces — in front of content); one mode or an additive stack. */
|
|
235
325
|
setOverlay(mode) {
|
|
236
326
|
this.field?.setOverlay(mode);
|
|
237
327
|
syncOverlaySurface(this.overlayCanvas, mode);
|
|
328
|
+
// serialize to the attribute form the `overlay` getter parses: a space-separated stack, or remove
|
|
329
|
+
// it for 'off'/empty (the getter returns 'off' when no known token is present).
|
|
330
|
+
const serial = mode === 'off' ? null : typeof mode === 'string' ? mode : mode.join(' ') || null;
|
|
331
|
+
this.reflect('overlay', serial);
|
|
238
332
|
}
|
|
239
333
|
/** wire glowing connector lines between a set, or clear with null (§10). */
|
|
240
334
|
threads(list) {
|
|
@@ -322,6 +416,19 @@ export class FieldField extends HTMLElementBase {
|
|
|
322
416
|
on(type, cb) {
|
|
323
417
|
return this.field?.on(type, cb) ?? (() => { });
|
|
324
418
|
}
|
|
419
|
+
/** the running engine version (`FIELD_VERSION`) — available before mount too. */
|
|
420
|
+
get version() {
|
|
421
|
+
return this.field?.version ?? FIELD_VERSION;
|
|
422
|
+
}
|
|
423
|
+
/** the page's scroll velocity the engine tracks (drives `--field-scroll-v`); 0 before mount. */
|
|
424
|
+
scrollV() {
|
|
425
|
+
return this.field?.scrollV() ?? 0;
|
|
426
|
+
}
|
|
427
|
+
/** pause/resume drawing (the simulation keeps running) — the element also does this automatically
|
|
428
|
+
* from its IntersectionObserver, so a manual call is for explicit control. */
|
|
429
|
+
setVisible(on) {
|
|
430
|
+
this.field?.setVisible(on);
|
|
431
|
+
}
|
|
325
432
|
connectedCallback() {
|
|
326
433
|
// the field is decorative ambiance — hide it from assistive tech (§18 a11y).
|
|
327
434
|
if (!this.hasAttribute('aria-hidden'))
|
|
@@ -357,7 +464,9 @@ export class FieldField extends HTMLElementBase {
|
|
|
357
464
|
* `this.field` guard skips — the first mount reads every attribute itself.
|
|
358
465
|
*/
|
|
359
466
|
attributeChangedCallback(name, oldVal, newVal) {
|
|
360
|
-
|
|
467
|
+
// skip when an imperative setter is reflecting its own value back here (#541) — the field was
|
|
468
|
+
// already updated by that setter; re-applying would be a redundant double-apply.
|
|
469
|
+
if (!this.field || oldVal === newVal || this.reflecting)
|
|
361
470
|
return;
|
|
362
471
|
switch (name) {
|
|
363
472
|
case 'accent':
|
|
@@ -388,6 +497,10 @@ export class FieldField extends HTMLElementBase {
|
|
|
388
497
|
case 'background':
|
|
389
498
|
this.field.setBackground(this.background);
|
|
390
499
|
break;
|
|
500
|
+
case 'formation':
|
|
501
|
+
if (this.formation)
|
|
502
|
+
this.field.setFormation(this.formation);
|
|
503
|
+
break;
|
|
391
504
|
default: // density / waves / mass are construction-time → rebuild
|
|
392
505
|
this.field.destroy();
|
|
393
506
|
this.start();
|
|
@@ -413,6 +526,9 @@ export class FieldField extends HTMLElementBase {
|
|
|
413
526
|
if (!this.overlayCanvas && typeof document !== 'undefined') {
|
|
414
527
|
const oc = document.createElement('canvas');
|
|
415
528
|
oc.setAttribute('aria-hidden', 'true');
|
|
529
|
+
// marked so a consumer can target the overlay surface (e.g. a scroll-driven opacity fade) without
|
|
530
|
+
// reaching into the shadow internals — it's the only canvas Fundamental adds to the light DOM.
|
|
531
|
+
oc.setAttribute('data-field-overlay', '');
|
|
416
532
|
oc.style.cssText =
|
|
417
533
|
'position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;mix-blend-mode:screen';
|
|
418
534
|
document.body.appendChild(oc);
|
|
@@ -429,6 +545,10 @@ export class FieldField extends HTMLElementBase {
|
|
|
429
545
|
for (const o of FieldField.OPTIONS)
|
|
430
546
|
opts[o.key] = o.read(this);
|
|
431
547
|
this.field = createBrowserField(this.canvas, opts);
|
|
548
|
+
// formation is post-construction (not a FieldOption), so apply the initial attribute here so
|
|
549
|
+
// `<field-root formation="wells">` works at mount, not only via setFormation (#541).
|
|
550
|
+
if (this.formation)
|
|
551
|
+
this.field.setFormation(this.formation);
|
|
432
552
|
// attach the handle so the platform write phase can read scrollV → --field-scroll-v
|
|
433
553
|
// and the quality governor can monitor frame duration
|
|
434
554
|
this.platformRuntime?.attachHandle(this.field);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Experimental platform-backed runtime for `<field-root>` (Phase D: runtime platform unification).
|
|
3
3
|
*
|
|
4
4
|
* D1 establishes the *path*, not the migration: when the experimental flag is on, the element starts
|
|
5
|
-
* a `@fundamental-engine/
|
|
5
|
+
* a `@fundamental-engine/dom` runtime alongside the legacy `createField` engine. For now it only measures
|
|
6
6
|
* the scan root each frame on the six-phase scheduler — a foothold the later phases fill in (D2 moves
|
|
7
7
|
* body scanning onto MeasurementRegistry, D3 feedback onto FeedbackRegistry, D4 shadow, D5
|
|
8
8
|
* relationships). Default is OFF, so behavior is unchanged until D6 flips it.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* The legacy engine still owns everything visible in D1; the platform adds nothing observable, which
|
|
11
11
|
* is exactly the parity guarantee: flag on and flag off render identically.
|
|
12
12
|
*/
|
|
13
|
-
import { type FieldPlatform } from '@fundamental-engine/
|
|
13
|
+
import { type FieldPlatform } from '@fundamental-engine/dom';
|
|
14
14
|
import type { FieldHandle } from '@fundamental-engine/core';
|
|
15
15
|
import { type FeedbackSink, type RegisterBodyDetail } from '@fundamental-engine/core';
|
|
16
16
|
/** A minimal view of MeasurementRegistry — what body syncing + shadow registration need. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-runtime.d.ts","sourceRoot":"","sources":["../src/platform-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"platform-runtime.d.ts","sourceRoot":"","sources":["../src/platform-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,4FAA4F;AAC5F,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/E,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAStE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI,CAElG;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI,CAEpG;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAE9E;AAUD,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,EAAE,UAAO,GAAG,IAAI,CAElD;AAED,2DAA2D;AAC3D,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE;IAAE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,GAAG,UAAiB,GAAG,OAAO,CAG9J;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CA4BtE;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAoHnE"}
|
package/dist/platform-runtime.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Experimental platform-backed runtime for `<field-root>` (Phase D: runtime platform unification).
|
|
3
3
|
*
|
|
4
4
|
* D1 establishes the *path*, not the migration: when the experimental flag is on, the element starts
|
|
5
|
-
* a `@fundamental-engine/
|
|
5
|
+
* a `@fundamental-engine/dom` runtime alongside the legacy `createField` engine. For now it only measures
|
|
6
6
|
* the scan root each frame on the six-phase scheduler — a foothold the later phases fill in (D2 moves
|
|
7
7
|
* body scanning onto MeasurementRegistry, D3 feedback onto FeedbackRegistry, D4 shadow, D5
|
|
8
8
|
* relationships). Default is OFF, so behavior is unchanged until D6 flips it.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* The legacy engine still owns everything visible in D1; the platform adds nothing observable, which
|
|
11
11
|
* is exactly the parity guarantee: flag on and flag off render identically.
|
|
12
12
|
*/
|
|
13
|
-
import { createFieldPlatform, QualityGovernor } from '@fundamental-engine/
|
|
13
|
+
import { createFieldPlatform, QualityGovernor } from '@fundamental-engine/dom';
|
|
14
14
|
import { bodyElements, REGISTER_BODY, UNREGISTER_BODY, } from '@fundamental-engine/core';
|
|
15
15
|
/**
|
|
16
16
|
* Sync the scan root's body elements into the MeasurementRegistry (D2). New `[data-body]` /
|
|
@@ -202,14 +202,18 @@ export function startPlatformRuntime(root) {
|
|
|
202
202
|
// Tier 2/3 degradation (the governor's built-in consumer): throttle the platform's own tick
|
|
203
203
|
// — measurement, feedback writes, relationship discovery — to every 2nd / 4th frame. The
|
|
204
204
|
// engine keeps simulating at full rate; only the platform's DOM read/write cadence drops.
|
|
205
|
-
// Engine-side responses (
|
|
206
|
-
//
|
|
205
|
+
// Engine-side responses (DPR cap + heatmap drop) are now applied automatically via
|
|
206
|
+
// handle.setQualityTier on each tier change (#413); the field:quality-tier event still fires
|
|
207
|
+
// so an embedder can layer additional responses on top.
|
|
207
208
|
const stride = governor.tier >= 3 ? 4 : governor.tier === 2 ? 2 : 1;
|
|
208
209
|
if (frame % stride === 0)
|
|
209
210
|
platform.tick(t, { width: window.innerWidth, height: window.innerHeight });
|
|
210
211
|
if (duration > 0 && duration < DISCONTINUITY_MS && handle) {
|
|
211
212
|
const newTier = governor.feed(duration);
|
|
212
213
|
if (newTier !== undefined) {
|
|
214
|
+
// #413: apply the engine-side quality response automatically (DPR cap + heatmap at 2+),
|
|
215
|
+
// then still emit the event so an embedder can layer its own responses on top.
|
|
216
|
+
handle.setQualityTier(newTier);
|
|
213
217
|
root.dispatchEvent(new CustomEvent('field:quality-tier', {
|
|
214
218
|
bubbles: true, composed: true,
|
|
215
219
|
detail: { tier: newTier, durationMs: Math.round(duration) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-runtime.js","sourceRoot":"","sources":["../src/platform-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"platform-runtime.js","sourceRoot":"","sources":["../src/platform-runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-engine/elements",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Web-component keystone for Fundamental — the <field-root> custom element + declarative data-body bodies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@fundamental-engine/
|
|
52
|
-
"@fundamental-engine/
|
|
53
|
-
"@fundamental-engine/
|
|
51
|
+
"@fundamental-engine/dom": "0.8.0",
|
|
52
|
+
"@fundamental-engine/core": "0.8.0",
|
|
53
|
+
"@fundamental-engine/vanilla": "0.8.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"typescript": "^5.9.3"
|