@fundamental-engine/elements 0.5.1
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/LICENSE +21 -0
- package/README.md +120 -0
- package/custom-elements.json +2832 -0
- package/dist/base.d.ts +9 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +12 -0
- package/dist/base.js.map +1 -0
- package/dist/cell-force.d.ts +10 -0
- package/dist/cell-force.d.ts.map +1 -0
- package/dist/cell-force.js +38 -0
- package/dist/cell-force.js.map +1 -0
- package/dist/field-cell.d.ts +62 -0
- package/dist/field-cell.d.ts.map +1 -0
- package/dist/field-cell.js +220 -0
- package/dist/field-cell.js.map +1 -0
- package/dist/index.d.ts +174 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +476 -0
- package/dist/index.js.map +1 -0
- package/dist/mount.d.ts +8 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/mount.js +7 -0
- package/dist/mount.js.map +1 -0
- package/dist/platform-runtime.d.ts +92 -0
- package/dist/platform-runtime.d.ts.map +1 -0
- package/dist/platform-runtime.js +244 -0
- package/dist/platform-runtime.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,2832 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"readme": "",
|
|
4
|
+
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "src/base.ts",
|
|
8
|
+
"declarations": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "variable",
|
|
11
|
+
"name": "HTMLElementBase",
|
|
12
|
+
"type": {
|
|
13
|
+
"text": "typeof HTMLElement"
|
|
14
|
+
},
|
|
15
|
+
"description": "SSR-safe `HTMLElement` base. In the browser it is the real `HTMLElement`; under Node — an SSR\npass, a build step, or the dist smoke check — it is an inert stand-in, so merely *importing*\nthe package never throws `HTMLElement is not defined`. The elements only do anything once a\nbrowser upgrades them (every `customElements.define` is guarded too), so the stand-in is never\nconstructed."
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"exports": [
|
|
19
|
+
{
|
|
20
|
+
"kind": "js",
|
|
21
|
+
"name": "HTMLElementBase",
|
|
22
|
+
"declaration": {
|
|
23
|
+
"name": "HTMLElementBase",
|
|
24
|
+
"module": "src/base.ts"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"kind": "javascript-module",
|
|
31
|
+
"path": "src/cell-force.ts",
|
|
32
|
+
"declarations": [
|
|
33
|
+
{
|
|
34
|
+
"kind": "function",
|
|
35
|
+
"name": "cellForce",
|
|
36
|
+
"return": {
|
|
37
|
+
"type": {
|
|
38
|
+
"text": "{ ax: number; ay: number }"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"parameters": [
|
|
42
|
+
{
|
|
43
|
+
"name": "force",
|
|
44
|
+
"type": {
|
|
45
|
+
"text": "string"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "dx",
|
|
50
|
+
"type": {
|
|
51
|
+
"text": "number"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "dy",
|
|
56
|
+
"type": {
|
|
57
|
+
"text": "number"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "reach",
|
|
62
|
+
"type": {
|
|
63
|
+
"text": "number"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"description": "The Field Cell's in-frame force math (§25.1) — a deliberately simplified,\ncentre-of-frame model for demos. NOT the canonical force math (§6); the cell is\na poster engine. `dx,dy` point from the particle TO the frame centre."
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"exports": [
|
|
71
|
+
{
|
|
72
|
+
"kind": "js",
|
|
73
|
+
"name": "cellForce",
|
|
74
|
+
"declaration": {
|
|
75
|
+
"name": "cellForce",
|
|
76
|
+
"module": "src/cell-force.ts"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"kind": "javascript-module",
|
|
83
|
+
"path": "src/field-cell.ts",
|
|
84
|
+
"declarations": [
|
|
85
|
+
{
|
|
86
|
+
"kind": "class",
|
|
87
|
+
"description": "`<field-cell force=\"swirl\" color=\"#2dd4bf\">` — an in-frame field surface (§25.1).\n\nA standalone field sized to its container that renders *one* force, with its own\nlightweight particle pool, its own pointer interaction, and a lifecycle that pauses\nwhen off-screen. It is **not** the §-engine: it's a lighter \"demo/poster\" engine,\ncompletely separate from the page `<field-root>` and the core field loop.\n\n- `ResizeObserver` re-fits the canvas (DPR-aware) and rebuilds the pool.\n- `IntersectionObserver` gates the rAF loop — paused when off-screen.\n- Honours `prefers-reduced-motion`: renders one static frame, no animation.",
|
|
88
|
+
"name": "FieldCell",
|
|
89
|
+
"members": [
|
|
90
|
+
{
|
|
91
|
+
"kind": "field",
|
|
92
|
+
"name": "canvas",
|
|
93
|
+
"type": {
|
|
94
|
+
"text": "HTMLCanvasElement"
|
|
95
|
+
},
|
|
96
|
+
"privacy": "private",
|
|
97
|
+
"readonly": true
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"kind": "field",
|
|
101
|
+
"name": "ctx",
|
|
102
|
+
"type": {
|
|
103
|
+
"text": "CanvasRenderingContext2D | null"
|
|
104
|
+
},
|
|
105
|
+
"privacy": "private",
|
|
106
|
+
"default": "null"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"kind": "field",
|
|
110
|
+
"name": "particles",
|
|
111
|
+
"type": {
|
|
112
|
+
"text": "CellParticle[]"
|
|
113
|
+
},
|
|
114
|
+
"privacy": "private",
|
|
115
|
+
"default": "[]"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"kind": "field",
|
|
119
|
+
"name": "raf",
|
|
120
|
+
"type": {
|
|
121
|
+
"text": "number"
|
|
122
|
+
},
|
|
123
|
+
"privacy": "private",
|
|
124
|
+
"default": "0"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"kind": "field",
|
|
128
|
+
"name": "resizeObserver",
|
|
129
|
+
"type": {
|
|
130
|
+
"text": "ResizeObserver | undefined"
|
|
131
|
+
},
|
|
132
|
+
"privacy": "private"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"kind": "field",
|
|
136
|
+
"name": "intersectionObserver",
|
|
137
|
+
"type": {
|
|
138
|
+
"text": "IntersectionObserver | undefined"
|
|
139
|
+
},
|
|
140
|
+
"privacy": "private"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"kind": "field",
|
|
144
|
+
"name": "boxW",
|
|
145
|
+
"type": {
|
|
146
|
+
"text": "number"
|
|
147
|
+
},
|
|
148
|
+
"privacy": "private",
|
|
149
|
+
"default": "0",
|
|
150
|
+
"description": "frame box in CSS pixels (post-DPR transform space)."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"kind": "field",
|
|
154
|
+
"name": "boxH",
|
|
155
|
+
"type": {
|
|
156
|
+
"text": "number"
|
|
157
|
+
},
|
|
158
|
+
"privacy": "private",
|
|
159
|
+
"default": "0"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"kind": "field",
|
|
163
|
+
"name": "cursorX",
|
|
164
|
+
"type": {
|
|
165
|
+
"text": "number | null"
|
|
166
|
+
},
|
|
167
|
+
"privacy": "private",
|
|
168
|
+
"default": "null",
|
|
169
|
+
"description": "cursor in frame-local CSS px, or null when absent."
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"kind": "field",
|
|
173
|
+
"name": "cursorY",
|
|
174
|
+
"type": {
|
|
175
|
+
"text": "number | null"
|
|
176
|
+
},
|
|
177
|
+
"privacy": "private",
|
|
178
|
+
"default": "null"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"kind": "field",
|
|
182
|
+
"name": "onPointerMove",
|
|
183
|
+
"type": {
|
|
184
|
+
"text": "(e: PointerEvent) => void"
|
|
185
|
+
},
|
|
186
|
+
"privacy": "private",
|
|
187
|
+
"readonly": true
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"kind": "field",
|
|
191
|
+
"name": "onPointerLeave",
|
|
192
|
+
"type": {
|
|
193
|
+
"text": "() => void"
|
|
194
|
+
},
|
|
195
|
+
"privacy": "private",
|
|
196
|
+
"readonly": true
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"kind": "field",
|
|
200
|
+
"name": "tick",
|
|
201
|
+
"type": {
|
|
202
|
+
"text": "() => void"
|
|
203
|
+
},
|
|
204
|
+
"privacy": "private",
|
|
205
|
+
"readonly": true
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"kind": "field",
|
|
209
|
+
"name": "force",
|
|
210
|
+
"type": {
|
|
211
|
+
"text": "string"
|
|
212
|
+
},
|
|
213
|
+
"description": "the force this cell demonstrates (§25.1).",
|
|
214
|
+
"readonly": true
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"kind": "field",
|
|
218
|
+
"name": "color",
|
|
219
|
+
"type": {
|
|
220
|
+
"text": "string"
|
|
221
|
+
},
|
|
222
|
+
"description": "dot color.",
|
|
223
|
+
"readonly": true
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"kind": "field",
|
|
227
|
+
"name": "count",
|
|
228
|
+
"type": {
|
|
229
|
+
"text": "number"
|
|
230
|
+
},
|
|
231
|
+
"description": "particle count; `0` (default) means auto-size to the frame area.",
|
|
232
|
+
"readonly": true
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"kind": "method",
|
|
236
|
+
"name": "isPrefersReducedMotion",
|
|
237
|
+
"privacy": "private",
|
|
238
|
+
"return": {
|
|
239
|
+
"type": {
|
|
240
|
+
"text": "boolean"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"kind": "method",
|
|
246
|
+
"name": "fit",
|
|
247
|
+
"privacy": "private",
|
|
248
|
+
"return": {
|
|
249
|
+
"type": {
|
|
250
|
+
"text": "void"
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"description": "Fit the canvas to the element box (DPR-aware) and rebuild the pool."
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"kind": "method",
|
|
257
|
+
"name": "buildPool",
|
|
258
|
+
"privacy": "private",
|
|
259
|
+
"return": {
|
|
260
|
+
"type": {
|
|
261
|
+
"text": "void"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"description": "Build the particle pool sized to the frame area."
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"kind": "method",
|
|
268
|
+
"name": "start",
|
|
269
|
+
"privacy": "private",
|
|
270
|
+
"return": {
|
|
271
|
+
"type": {
|
|
272
|
+
"text": "void"
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"kind": "method",
|
|
278
|
+
"name": "stop",
|
|
279
|
+
"privacy": "private",
|
|
280
|
+
"return": {
|
|
281
|
+
"type": {
|
|
282
|
+
"text": "void"
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"kind": "method",
|
|
288
|
+
"name": "step",
|
|
289
|
+
"privacy": "private",
|
|
290
|
+
"return": {
|
|
291
|
+
"type": {
|
|
292
|
+
"text": "void"
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
"description": "Advance + render one frame."
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"kind": "field",
|
|
299
|
+
"name": "textContent"
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"attributes": [
|
|
303
|
+
{
|
|
304
|
+
"name": "force",
|
|
305
|
+
"type": {
|
|
306
|
+
"text": "string"
|
|
307
|
+
},
|
|
308
|
+
"description": "The single force token rendered: `attract` | `repel` | `swirl` | `gravity` | `stream` | `buoyancy` | `tether`."
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "color",
|
|
312
|
+
"type": {
|
|
313
|
+
"text": "string"
|
|
314
|
+
},
|
|
315
|
+
"description": "Accent color (hex) for the cell's particles."
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"name": "count",
|
|
319
|
+
"type": {
|
|
320
|
+
"text": "number"
|
|
321
|
+
},
|
|
322
|
+
"description": "Number of particles in the cell's pool."
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
"superclass": {
|
|
326
|
+
"name": "HTMLElementBase",
|
|
327
|
+
"module": "/src/base.ts"
|
|
328
|
+
},
|
|
329
|
+
"summary": "A standalone, in-frame demo field that renders one force with its own\nparticle pool, in-view-gated. Registered as `<field-cell>`.",
|
|
330
|
+
"tagName": "field-cell",
|
|
331
|
+
"customElement": true
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"exports": [
|
|
335
|
+
{
|
|
336
|
+
"kind": "js",
|
|
337
|
+
"name": "FieldCell",
|
|
338
|
+
"declaration": {
|
|
339
|
+
"name": "FieldCell",
|
|
340
|
+
"module": "src/field-cell.ts"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"kind": "custom-element-definition",
|
|
345
|
+
"name": "field-cell",
|
|
346
|
+
"declaration": {
|
|
347
|
+
"name": "FieldCell",
|
|
348
|
+
"module": "src/field-cell.ts"
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"kind": "javascript-module",
|
|
355
|
+
"path": "src/index.ts",
|
|
356
|
+
"declarations": [
|
|
357
|
+
{
|
|
358
|
+
"kind": "class",
|
|
359
|
+
"description": "",
|
|
360
|
+
"name": "FieldField",
|
|
361
|
+
"members": [
|
|
362
|
+
{
|
|
363
|
+
"kind": "field",
|
|
364
|
+
"name": "OPTIONS",
|
|
365
|
+
"type": {
|
|
366
|
+
"text": "ReadonlyArray<{\n key: keyof FieldOptions;\n attr: string;\n read: (el: FieldField) => unknown;\n }>"
|
|
367
|
+
},
|
|
368
|
+
"privacy": "private",
|
|
369
|
+
"static": true,
|
|
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 }, ]",
|
|
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
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"kind": "field",
|
|
376
|
+
"name": "canvas",
|
|
377
|
+
"type": {
|
|
378
|
+
"text": "HTMLCanvasElement"
|
|
379
|
+
},
|
|
380
|
+
"privacy": "private",
|
|
381
|
+
"readonly": true
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"kind": "field",
|
|
385
|
+
"name": "field",
|
|
386
|
+
"type": {
|
|
387
|
+
"text": "FieldHandle | undefined"
|
|
388
|
+
},
|
|
389
|
+
"privacy": "private"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"kind": "field",
|
|
393
|
+
"name": "overlayCanvas",
|
|
394
|
+
"type": {
|
|
395
|
+
"text": "HTMLCanvasElement | undefined"
|
|
396
|
+
},
|
|
397
|
+
"privacy": "private",
|
|
398
|
+
"description": "Field Surfaces: the optional front overlay surface (light-DOM, above content)."
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"kind": "field",
|
|
402
|
+
"name": "visibilityObserver",
|
|
403
|
+
"type": {
|
|
404
|
+
"text": "IntersectionObserver | undefined"
|
|
405
|
+
},
|
|
406
|
+
"privacy": "private",
|
|
407
|
+
"description": "element-level visibility: pages can hide the field (display:none) — skip draw work then."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"kind": "field",
|
|
411
|
+
"name": "fieldVisible",
|
|
412
|
+
"type": {
|
|
413
|
+
"text": "boolean"
|
|
414
|
+
},
|
|
415
|
+
"privacy": "private",
|
|
416
|
+
"default": "true"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"kind": "field",
|
|
420
|
+
"name": "platformRuntime",
|
|
421
|
+
"type": {
|
|
422
|
+
"text": "PlatformRuntime | undefined"
|
|
423
|
+
},
|
|
424
|
+
"description": "experimental platform runtime (Phase D); present only when the flag is on."
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"kind": "field",
|
|
428
|
+
"name": "platform",
|
|
429
|
+
"type": {
|
|
430
|
+
"text": "FieldPlatform | undefined"
|
|
431
|
+
},
|
|
432
|
+
"description": "The live `@fundamental-engine/platform` 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
|
+
"readonly": true
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"kind": "field",
|
|
437
|
+
"name": "accent",
|
|
438
|
+
"type": {
|
|
439
|
+
"text": "string"
|
|
440
|
+
},
|
|
441
|
+
"description": "the travelling accent (§9); defaults to the first palette color.",
|
|
442
|
+
"readonly": true
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"kind": "field",
|
|
446
|
+
"name": "density",
|
|
447
|
+
"type": {
|
|
448
|
+
"text": "number"
|
|
449
|
+
},
|
|
450
|
+
"description": "particle-count multiplier (§2.5).",
|
|
451
|
+
"readonly": true
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"kind": "field",
|
|
455
|
+
"name": "waves",
|
|
456
|
+
"type": {
|
|
457
|
+
"text": "boolean"
|
|
458
|
+
},
|
|
459
|
+
"description": "draw the background Currents (§24).",
|
|
460
|
+
"readonly": true
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"kind": "field",
|
|
464
|
+
"name": "renderMode",
|
|
465
|
+
"type": {
|
|
466
|
+
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
467
|
+
},
|
|
468
|
+
"description": "render mode (§20.6); `none` = the signals-only engine — simulate + feed back, never draw (#297).",
|
|
469
|
+
"readonly": true
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"kind": "field",
|
|
473
|
+
"name": "background",
|
|
474
|
+
"type": {
|
|
475
|
+
"text": "'opaque' | 'transparent'"
|
|
476
|
+
},
|
|
477
|
+
"description": "substrate background: `transparent` (present and not `\"false\"`) clears to transparent so the\nunderlay composites over light content; default `opaque` paints the near-black substrate.",
|
|
478
|
+
"readonly": true
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"kind": "field",
|
|
482
|
+
"name": "overlay",
|
|
483
|
+
"type": {
|
|
484
|
+
"text": "OverlayInput"
|
|
485
|
+
},
|
|
486
|
+
"description": "Field Surfaces: the overlay reading(s) — one mode or a space-separated additive stack. Default `off`.",
|
|
487
|
+
"readonly": true
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"kind": "field",
|
|
491
|
+
"name": "palette",
|
|
492
|
+
"type": {
|
|
493
|
+
"text": "string | undefined"
|
|
494
|
+
},
|
|
495
|
+
"description": "color template name for the travelling accent (§9), or undefined for `ours`.",
|
|
496
|
+
"readonly": true
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"kind": "field",
|
|
500
|
+
"name": "attention",
|
|
501
|
+
"type": {
|
|
502
|
+
"text": "boolean"
|
|
503
|
+
},
|
|
504
|
+
"description": "conserved attention (§2.4): present and not `\"false\"` → one finite strength budget.",
|
|
505
|
+
"readonly": true
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"kind": "field",
|
|
509
|
+
"name": "causality",
|
|
510
|
+
"type": {
|
|
511
|
+
"text": "boolean"
|
|
512
|
+
},
|
|
513
|
+
"description": "cross-boundary causality (Concept 4): present and not `\"false\"` → density spills.",
|
|
514
|
+
"readonly": true
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"kind": "field",
|
|
518
|
+
"name": "mass",
|
|
519
|
+
"type": {
|
|
520
|
+
"text": "boolean"
|
|
521
|
+
},
|
|
522
|
+
"description": "first-class mass (§21.3): present and not `\"false\"` → particle mass ∝ size.",
|
|
523
|
+
"readonly": true
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"kind": "field",
|
|
527
|
+
"name": "heatmap",
|
|
528
|
+
"type": {
|
|
529
|
+
"text": "boolean"
|
|
530
|
+
},
|
|
531
|
+
"description": "density heatmap (field-systems H1): present and not `\"false\"` → the pooling glow underlay.",
|
|
532
|
+
"readonly": true
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"kind": "field",
|
|
536
|
+
"name": "dprCap",
|
|
537
|
+
"type": {
|
|
538
|
+
"text": "number | undefined"
|
|
539
|
+
},
|
|
540
|
+
"description": "`dpr-cap` — backing-store DPR ceiling (#410); undefined (engine default 2) if absent/invalid.",
|
|
541
|
+
"readonly": true
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"kind": "field",
|
|
545
|
+
"name": "depth",
|
|
546
|
+
"type": {
|
|
547
|
+
"text": "number | undefined"
|
|
548
|
+
},
|
|
549
|
+
"description": "`depth` — optional z-volume; undefined (engine default 0, the flat field) if absent/invalid.",
|
|
550
|
+
"readonly": true
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"kind": "method",
|
|
554
|
+
"name": "scan",
|
|
555
|
+
"return": {
|
|
556
|
+
"type": {
|
|
557
|
+
"text": "void"
|
|
558
|
+
}
|
|
559
|
+
},
|
|
560
|
+
"description": "re-scan the document for `[data-body]` bodies after a DOM change."
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"kind": "method",
|
|
564
|
+
"name": "rescan",
|
|
565
|
+
"return": {
|
|
566
|
+
"type": {
|
|
567
|
+
"text": "void"
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
"description": "alias of `scan`."
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"kind": "method",
|
|
574
|
+
"name": "setAccent",
|
|
575
|
+
"return": {
|
|
576
|
+
"type": {
|
|
577
|
+
"text": "void"
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
"parameters": [
|
|
581
|
+
{
|
|
582
|
+
"name": "hex",
|
|
583
|
+
"type": {
|
|
584
|
+
"text": "string"
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"description": "recolor the travelling accent (§9)."
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"kind": "method",
|
|
592
|
+
"name": "setPalette",
|
|
593
|
+
"return": {
|
|
594
|
+
"type": {
|
|
595
|
+
"text": "void"
|
|
596
|
+
}
|
|
597
|
+
},
|
|
598
|
+
"parameters": [
|
|
599
|
+
{
|
|
600
|
+
"name": "palette",
|
|
601
|
+
"type": {
|
|
602
|
+
"text": "string | readonly string[]"
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
],
|
|
606
|
+
"description": "swap the accent color template live (§9)."
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"kind": "method",
|
|
610
|
+
"name": "setFormation",
|
|
611
|
+
"return": {
|
|
612
|
+
"type": {
|
|
613
|
+
"text": "void"
|
|
614
|
+
}
|
|
615
|
+
},
|
|
616
|
+
"parameters": [
|
|
617
|
+
{
|
|
618
|
+
"name": "name",
|
|
619
|
+
"type": {
|
|
620
|
+
"text": "string"
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
],
|
|
624
|
+
"description": "switch the global formation (§7)."
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"kind": "method",
|
|
628
|
+
"name": "setAttention",
|
|
629
|
+
"return": {
|
|
630
|
+
"type": {
|
|
631
|
+
"text": "void"
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"parameters": [
|
|
635
|
+
{
|
|
636
|
+
"name": "on",
|
|
637
|
+
"type": {
|
|
638
|
+
"text": "boolean"
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
],
|
|
642
|
+
"description": "toggle conserved attention (§2.4) live."
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"kind": "method",
|
|
646
|
+
"name": "setCausality",
|
|
647
|
+
"return": {
|
|
648
|
+
"type": {
|
|
649
|
+
"text": "void"
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
"parameters": [
|
|
653
|
+
{
|
|
654
|
+
"name": "on",
|
|
655
|
+
"type": {
|
|
656
|
+
"text": "boolean"
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"description": "toggle cross-boundary causality (Concept 4) live."
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"kind": "method",
|
|
664
|
+
"name": "setBackground",
|
|
665
|
+
"return": {
|
|
666
|
+
"type": {
|
|
667
|
+
"text": "void"
|
|
668
|
+
}
|
|
669
|
+
},
|
|
670
|
+
"parameters": [
|
|
671
|
+
{
|
|
672
|
+
"name": "mode",
|
|
673
|
+
"type": {
|
|
674
|
+
"text": "'opaque' | 'transparent'"
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
],
|
|
678
|
+
"description": "switch the substrate background live: `transparent` composites the underlay over light content."
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"kind": "method",
|
|
682
|
+
"name": "setHeatmap",
|
|
683
|
+
"return": {
|
|
684
|
+
"type": {
|
|
685
|
+
"text": "void"
|
|
686
|
+
}
|
|
687
|
+
},
|
|
688
|
+
"parameters": [
|
|
689
|
+
{
|
|
690
|
+
"name": "on",
|
|
691
|
+
"type": {
|
|
692
|
+
"text": "boolean"
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
],
|
|
696
|
+
"description": "toggle the density heatmap layer (field-systems H1) live."
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"kind": "method",
|
|
700
|
+
"name": "setDprCap",
|
|
701
|
+
"return": {
|
|
702
|
+
"type": {
|
|
703
|
+
"text": "void"
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
"parameters": [
|
|
707
|
+
{
|
|
708
|
+
"name": "cap",
|
|
709
|
+
"type": {
|
|
710
|
+
"text": "number"
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
],
|
|
714
|
+
"description": "lower/raise the backing-store DPR ceiling at runtime (the dominant fill-rate lever)."
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"kind": "method",
|
|
718
|
+
"name": "setRender",
|
|
719
|
+
"return": {
|
|
720
|
+
"type": {
|
|
721
|
+
"text": "void"
|
|
722
|
+
}
|
|
723
|
+
},
|
|
724
|
+
"parameters": [
|
|
725
|
+
{
|
|
726
|
+
"name": "mode",
|
|
727
|
+
"type": {
|
|
728
|
+
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
],
|
|
732
|
+
"description": "switch the underlay render mode (§20.6) live; `none` = signals-only — stop drawing, keep the signals (#297)."
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"kind": "method",
|
|
736
|
+
"name": "setOverlay",
|
|
737
|
+
"return": {
|
|
738
|
+
"type": {
|
|
739
|
+
"text": "void"
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
"parameters": [
|
|
743
|
+
{
|
|
744
|
+
"name": "mode",
|
|
745
|
+
"type": {
|
|
746
|
+
"text": "OverlayInput"
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
],
|
|
750
|
+
"description": "render field readings on the overlay surface (Field Surfaces — in front of content); one mode or an additive stack."
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"kind": "method",
|
|
754
|
+
"name": "threads",
|
|
755
|
+
"return": {
|
|
756
|
+
"type": {
|
|
757
|
+
"text": "void"
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
"parameters": [
|
|
761
|
+
{
|
|
762
|
+
"name": "list",
|
|
763
|
+
"type": {
|
|
764
|
+
"text": "ThreadLink[] | null"
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
],
|
|
768
|
+
"description": "wire glowing connector lines between a set, or clear with null (§10)."
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"kind": "method",
|
|
772
|
+
"name": "burst",
|
|
773
|
+
"return": {
|
|
774
|
+
"type": {
|
|
775
|
+
"text": "void"
|
|
776
|
+
}
|
|
777
|
+
},
|
|
778
|
+
"parameters": [
|
|
779
|
+
{
|
|
780
|
+
"name": "x",
|
|
781
|
+
"type": {
|
|
782
|
+
"text": "number"
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
"name": "y",
|
|
787
|
+
"type": {
|
|
788
|
+
"text": "number"
|
|
789
|
+
}
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "hex",
|
|
793
|
+
"optional": true,
|
|
794
|
+
"type": {
|
|
795
|
+
"text": "string"
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
],
|
|
799
|
+
"description": "a discrete one-shot: shove + heat matter near (x, y), optionally tinting it (§11)."
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"kind": "method",
|
|
803
|
+
"name": "flowTo",
|
|
804
|
+
"return": {
|
|
805
|
+
"type": {
|
|
806
|
+
"text": "void"
|
|
807
|
+
}
|
|
808
|
+
},
|
|
809
|
+
"parameters": [
|
|
810
|
+
{
|
|
811
|
+
"name": "x",
|
|
812
|
+
"type": {
|
|
813
|
+
"text": "number"
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"name": "y",
|
|
818
|
+
"type": {
|
|
819
|
+
"text": "number"
|
|
820
|
+
}
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"name": "opts",
|
|
824
|
+
"optional": true,
|
|
825
|
+
"type": {
|
|
826
|
+
"text": "FlowOptions"
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
],
|
|
830
|
+
"description": "place/move a dynamic flow focus the field bends toward — pulls matter, curves the streamlines."
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"kind": "method",
|
|
834
|
+
"name": "clearFlow",
|
|
835
|
+
"return": {
|
|
836
|
+
"type": {
|
|
837
|
+
"text": "void"
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
"description": "remove the flow focus."
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"kind": "method",
|
|
844
|
+
"name": "seed",
|
|
845
|
+
"return": {
|
|
846
|
+
"type": {
|
|
847
|
+
"text": "void"
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
"parameters": [
|
|
851
|
+
{
|
|
852
|
+
"name": "atoms",
|
|
853
|
+
"type": {
|
|
854
|
+
"text": "readonly AtomPayload[]"
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"description": "bind a data record to each base particle (its `weight` scales mass + size); pick back with `atomAt`."
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"kind": "method",
|
|
862
|
+
"name": "addAgent",
|
|
863
|
+
"return": {
|
|
864
|
+
"type": {
|
|
865
|
+
"text": "AgentHandle"
|
|
866
|
+
}
|
|
867
|
+
},
|
|
868
|
+
"parameters": [
|
|
869
|
+
{
|
|
870
|
+
"name": "spec",
|
|
871
|
+
"type": {
|
|
872
|
+
"text": "AgentSpec"
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
],
|
|
876
|
+
"description": "add an engine-stepped agent; returns an inert no-op handle if the field hasn't started."
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"kind": "method",
|
|
880
|
+
"name": "addBody",
|
|
881
|
+
"return": {
|
|
882
|
+
"type": {
|
|
883
|
+
"text": "BodyHandle"
|
|
884
|
+
}
|
|
885
|
+
},
|
|
886
|
+
"parameters": [
|
|
887
|
+
{
|
|
888
|
+
"name": "spec",
|
|
889
|
+
"type": {
|
|
890
|
+
"text": "BodySpec"
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
],
|
|
894
|
+
"description": "add a programmatic body (no DOM) from a spec; a no-op handle until the field starts."
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"kind": "method",
|
|
898
|
+
"name": "addField",
|
|
899
|
+
"return": {
|
|
900
|
+
"type": {
|
|
901
|
+
"text": "FieldChannelHandle"
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
"parameters": [
|
|
905
|
+
{
|
|
906
|
+
"name": "name",
|
|
907
|
+
"type": {
|
|
908
|
+
"text": "string"
|
|
909
|
+
}
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "sampler",
|
|
913
|
+
"type": {
|
|
914
|
+
"text": "(x: number, y: number) => number"
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
],
|
|
918
|
+
"description": "register a named external scalar field channel the engine samples; inert handle until the field starts."
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"kind": "method",
|
|
922
|
+
"name": "sampleField",
|
|
923
|
+
"return": {
|
|
924
|
+
"type": {
|
|
925
|
+
"text": "number"
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
"parameters": [
|
|
929
|
+
{
|
|
930
|
+
"name": "name",
|
|
931
|
+
"type": {
|
|
932
|
+
"text": "string"
|
|
933
|
+
}
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
"name": "x",
|
|
937
|
+
"type": {
|
|
938
|
+
"text": "number"
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"name": "y",
|
|
943
|
+
"type": {
|
|
944
|
+
"text": "number"
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
],
|
|
948
|
+
"description": "sample a registered field channel at (x, y); 0 for an unknown channel or before the field starts."
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"kind": "method",
|
|
952
|
+
"name": "atomAt",
|
|
953
|
+
"return": {
|
|
954
|
+
"type": {
|
|
955
|
+
"text": "AtomPayload | null"
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
"parameters": [
|
|
959
|
+
{
|
|
960
|
+
"name": "x",
|
|
961
|
+
"type": {
|
|
962
|
+
"text": "number"
|
|
963
|
+
}
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"name": "y",
|
|
967
|
+
"type": {
|
|
968
|
+
"text": "number"
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
],
|
|
972
|
+
"description": "the seeded record on the nearest particle to (x, y), or null — for hover-to-inspect."
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"kind": "method",
|
|
976
|
+
"name": "focusAt",
|
|
977
|
+
"return": {
|
|
978
|
+
"type": {
|
|
979
|
+
"text": "AtomPayload | null"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"parameters": [
|
|
983
|
+
{
|
|
984
|
+
"name": "x",
|
|
985
|
+
"type": {
|
|
986
|
+
"text": "number"
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"name": "y",
|
|
991
|
+
"type": {
|
|
992
|
+
"text": "number"
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
],
|
|
996
|
+
"description": "focus the nearest seeded particle (hold + light it), returning its record — the dwell affordance."
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"kind": "method",
|
|
1000
|
+
"name": "clearFocus",
|
|
1001
|
+
"return": {
|
|
1002
|
+
"type": {
|
|
1003
|
+
"text": "void"
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
"description": "release the focused particle."
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"kind": "method",
|
|
1010
|
+
"name": "particleCount",
|
|
1011
|
+
"return": {
|
|
1012
|
+
"type": {
|
|
1013
|
+
"text": "number"
|
|
1014
|
+
}
|
|
1015
|
+
},
|
|
1016
|
+
"description": "live particle-pool size — `store.size` forwarded through the public handle."
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"kind": "method",
|
|
1020
|
+
"name": "readParticles",
|
|
1021
|
+
"return": {
|
|
1022
|
+
"type": {
|
|
1023
|
+
"text": "number"
|
|
1024
|
+
}
|
|
1025
|
+
},
|
|
1026
|
+
"parameters": [
|
|
1027
|
+
{
|
|
1028
|
+
"name": "out",
|
|
1029
|
+
"type": {
|
|
1030
|
+
"text": "Float32Array"
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
"description": "copy live particle state into `out` (stride 5: x, y, z, heat, size); returns the count written\n(0 before the field starts) — the render-agnostic swarm read-out an alternative surface draws."
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"kind": "method",
|
|
1038
|
+
"name": "readParticleIds",
|
|
1039
|
+
"return": {
|
|
1040
|
+
"type": {
|
|
1041
|
+
"text": "number"
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
"parameters": [
|
|
1045
|
+
{
|
|
1046
|
+
"name": "out",
|
|
1047
|
+
"type": {
|
|
1048
|
+
"text": "Uint32Array"
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
],
|
|
1052
|
+
"description": "copy each live particle's stable id into a Uint32Array, parallel to readParticles."
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"kind": "method",
|
|
1056
|
+
"name": "energy",
|
|
1057
|
+
"return": {
|
|
1058
|
+
"type": {
|
|
1059
|
+
"text": "{ kinetic: number; thermal: number; total: number; count: number }"
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1062
|
+
"description": "kinetic/thermal/total energy snapshot for the current frame."
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"kind": "method",
|
|
1066
|
+
"name": "sample",
|
|
1067
|
+
"return": {
|
|
1068
|
+
"type": {
|
|
1069
|
+
"text": "{ x: number; y: number }"
|
|
1070
|
+
}
|
|
1071
|
+
},
|
|
1072
|
+
"parameters": [
|
|
1073
|
+
{
|
|
1074
|
+
"name": "x",
|
|
1075
|
+
"type": {
|
|
1076
|
+
"text": "number"
|
|
1077
|
+
}
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"name": "y",
|
|
1081
|
+
"type": {
|
|
1082
|
+
"text": "number"
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
],
|
|
1086
|
+
"description": "sample the live field at `(x, y)` — the net force vector a still test particle would feel\n(zero before the field starts). The seam external visualizers consume to build field geometry."
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"kind": "method",
|
|
1090
|
+
"name": "sampleScalar",
|
|
1091
|
+
"return": {
|
|
1092
|
+
"type": {
|
|
1093
|
+
"text": "number"
|
|
1094
|
+
}
|
|
1095
|
+
},
|
|
1096
|
+
"parameters": [
|
|
1097
|
+
{
|
|
1098
|
+
"name": "x",
|
|
1099
|
+
"type": {
|
|
1100
|
+
"text": "number"
|
|
1101
|
+
}
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"name": "y",
|
|
1105
|
+
"type": {
|
|
1106
|
+
"text": "number"
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
],
|
|
1110
|
+
"description": "sample the smooth density scalar ∈ [0,1] at `(x, y)` (needs `heatmap`); 0 when off/not started."
|
|
1111
|
+
},
|
|
1112
|
+
{
|
|
1113
|
+
"kind": "method",
|
|
1114
|
+
"name": "sampleGradient",
|
|
1115
|
+
"return": {
|
|
1116
|
+
"type": {
|
|
1117
|
+
"text": "{ x: number; y: number }"
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
1120
|
+
"parameters": [
|
|
1121
|
+
{
|
|
1122
|
+
"name": "x",
|
|
1123
|
+
"type": {
|
|
1124
|
+
"text": "number"
|
|
1125
|
+
}
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
"name": "y",
|
|
1129
|
+
"type": {
|
|
1130
|
+
"text": "number"
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
],
|
|
1134
|
+
"description": "sample the density gradient ∇ at `(x, y)` — up-density direction (needs `heatmap`); `{0,0}` when off/not started."
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"kind": "method",
|
|
1138
|
+
"name": "grid",
|
|
1139
|
+
"return": {
|
|
1140
|
+
"type": {
|
|
1141
|
+
"text": "ScalarGrid"
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
"parameters": [
|
|
1145
|
+
{
|
|
1146
|
+
"name": "name",
|
|
1147
|
+
"type": {
|
|
1148
|
+
"text": "string"
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
],
|
|
1152
|
+
"description": "open a named host-authorable scalar grid (deposit/sample/gradient/decay); a no-op grid until the field starts."
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"kind": "method",
|
|
1156
|
+
"name": "on",
|
|
1157
|
+
"return": {
|
|
1158
|
+
"type": {
|
|
1159
|
+
"text": "() => void"
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
"parameters": [
|
|
1163
|
+
{
|
|
1164
|
+
"name": "type",
|
|
1165
|
+
"type": {
|
|
1166
|
+
"text": "K"
|
|
1167
|
+
}
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"name": "cb",
|
|
1171
|
+
"type": {
|
|
1172
|
+
"text": "(e: FieldEventMap[K]) => void"
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
],
|
|
1176
|
+
"description": "subscribe to a discrete field event (absorb/release/settle); a no-op unsubscribe until the field starts."
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"kind": "method",
|
|
1180
|
+
"name": "start",
|
|
1181
|
+
"privacy": "private",
|
|
1182
|
+
"return": {
|
|
1183
|
+
"type": {
|
|
1184
|
+
"text": "void"
|
|
1185
|
+
}
|
|
1186
|
+
},
|
|
1187
|
+
"description": "(re)create the engine on the canvas, reading the current attributes."
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"kind": "field",
|
|
1191
|
+
"name": "textContent"
|
|
1192
|
+
}
|
|
1193
|
+
],
|
|
1194
|
+
"attributes": [
|
|
1195
|
+
{
|
|
1196
|
+
"name": "accent"
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"name": "density"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"name": "waves"
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"name": "depth"
|
|
1206
|
+
},
|
|
1207
|
+
{
|
|
1208
|
+
"name": "render"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"name": "overlay"
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
"name": "palette"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"name": "mass"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"name": "attention"
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
"name": "causality"
|
|
1224
|
+
},
|
|
1225
|
+
{
|
|
1226
|
+
"name": "heatmap"
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"name": "dpr-cap"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"name": "background"
|
|
1233
|
+
}
|
|
1234
|
+
],
|
|
1235
|
+
"superclass": {
|
|
1236
|
+
"name": "HTMLElementBase",
|
|
1237
|
+
"module": "/src/base.ts"
|
|
1238
|
+
},
|
|
1239
|
+
"tagName": "field-field",
|
|
1240
|
+
"customElement": true
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"kind": "variable",
|
|
1244
|
+
"name": "feedbackSink",
|
|
1245
|
+
"type": {
|
|
1246
|
+
"text": "FeedbackSink | undefined"
|
|
1247
|
+
}
|
|
1248
|
+
},
|
|
1249
|
+
{
|
|
1250
|
+
"kind": "class",
|
|
1251
|
+
"description": "`<field-root>` — the recommended tag for the singleton field. The registry rejects registering one\nconstructor under two tag names, so this is a thin subclass of FieldField with identical\nbehaviour, attributes, and body contract.",
|
|
1252
|
+
"name": "FieldRoot",
|
|
1253
|
+
"superclass": {
|
|
1254
|
+
"name": "FieldField",
|
|
1255
|
+
"module": "src/index.ts"
|
|
1256
|
+
},
|
|
1257
|
+
"tagName": "field-root",
|
|
1258
|
+
"customElement": true,
|
|
1259
|
+
"attributes": [
|
|
1260
|
+
{
|
|
1261
|
+
"name": "accent",
|
|
1262
|
+
"inheritedFrom": {
|
|
1263
|
+
"name": "FieldField",
|
|
1264
|
+
"module": "src/index.ts"
|
|
1265
|
+
}
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"name": "density",
|
|
1269
|
+
"inheritedFrom": {
|
|
1270
|
+
"name": "FieldField",
|
|
1271
|
+
"module": "src/index.ts"
|
|
1272
|
+
}
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
"name": "waves",
|
|
1276
|
+
"inheritedFrom": {
|
|
1277
|
+
"name": "FieldField",
|
|
1278
|
+
"module": "src/index.ts"
|
|
1279
|
+
}
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"name": "depth",
|
|
1283
|
+
"inheritedFrom": {
|
|
1284
|
+
"name": "FieldField",
|
|
1285
|
+
"module": "src/index.ts"
|
|
1286
|
+
}
|
|
1287
|
+
},
|
|
1288
|
+
{
|
|
1289
|
+
"name": "render",
|
|
1290
|
+
"inheritedFrom": {
|
|
1291
|
+
"name": "FieldField",
|
|
1292
|
+
"module": "src/index.ts"
|
|
1293
|
+
}
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
"name": "overlay",
|
|
1297
|
+
"inheritedFrom": {
|
|
1298
|
+
"name": "FieldField",
|
|
1299
|
+
"module": "src/index.ts"
|
|
1300
|
+
}
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"name": "palette",
|
|
1304
|
+
"inheritedFrom": {
|
|
1305
|
+
"name": "FieldField",
|
|
1306
|
+
"module": "src/index.ts"
|
|
1307
|
+
}
|
|
1308
|
+
},
|
|
1309
|
+
{
|
|
1310
|
+
"name": "mass",
|
|
1311
|
+
"inheritedFrom": {
|
|
1312
|
+
"name": "FieldField",
|
|
1313
|
+
"module": "src/index.ts"
|
|
1314
|
+
}
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
"name": "attention",
|
|
1318
|
+
"inheritedFrom": {
|
|
1319
|
+
"name": "FieldField",
|
|
1320
|
+
"module": "src/index.ts"
|
|
1321
|
+
}
|
|
1322
|
+
},
|
|
1323
|
+
{
|
|
1324
|
+
"name": "causality",
|
|
1325
|
+
"inheritedFrom": {
|
|
1326
|
+
"name": "FieldField",
|
|
1327
|
+
"module": "src/index.ts"
|
|
1328
|
+
}
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"name": "heatmap",
|
|
1332
|
+
"inheritedFrom": {
|
|
1333
|
+
"name": "FieldField",
|
|
1334
|
+
"module": "src/index.ts"
|
|
1335
|
+
}
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"name": "dpr-cap",
|
|
1339
|
+
"inheritedFrom": {
|
|
1340
|
+
"name": "FieldField",
|
|
1341
|
+
"module": "src/index.ts"
|
|
1342
|
+
}
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"name": "background",
|
|
1346
|
+
"inheritedFrom": {
|
|
1347
|
+
"name": "FieldField",
|
|
1348
|
+
"module": "src/index.ts"
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
],
|
|
1352
|
+
"members": [
|
|
1353
|
+
{
|
|
1354
|
+
"kind": "field",
|
|
1355
|
+
"name": "OPTIONS",
|
|
1356
|
+
"type": {
|
|
1357
|
+
"text": "ReadonlyArray<{\n key: keyof FieldOptions;\n attr: string;\n read: (el: FieldField) => unknown;\n }>"
|
|
1358
|
+
},
|
|
1359
|
+
"privacy": "private",
|
|
1360
|
+
"static": true,
|
|
1361
|
+
"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 }, ]",
|
|
1363
|
+
"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
|
+
"inheritedFrom": {
|
|
1365
|
+
"name": "FieldField",
|
|
1366
|
+
"module": "src/index.ts"
|
|
1367
|
+
}
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"kind": "field",
|
|
1371
|
+
"name": "canvas",
|
|
1372
|
+
"type": {
|
|
1373
|
+
"text": "HTMLCanvasElement"
|
|
1374
|
+
},
|
|
1375
|
+
"privacy": "private",
|
|
1376
|
+
"readonly": true,
|
|
1377
|
+
"inheritedFrom": {
|
|
1378
|
+
"name": "FieldField",
|
|
1379
|
+
"module": "src/index.ts"
|
|
1380
|
+
}
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
"kind": "field",
|
|
1384
|
+
"name": "field",
|
|
1385
|
+
"type": {
|
|
1386
|
+
"text": "FieldHandle | undefined"
|
|
1387
|
+
},
|
|
1388
|
+
"privacy": "private",
|
|
1389
|
+
"inheritedFrom": {
|
|
1390
|
+
"name": "FieldField",
|
|
1391
|
+
"module": "src/index.ts"
|
|
1392
|
+
}
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"kind": "field",
|
|
1396
|
+
"name": "overlayCanvas",
|
|
1397
|
+
"type": {
|
|
1398
|
+
"text": "HTMLCanvasElement | undefined"
|
|
1399
|
+
},
|
|
1400
|
+
"privacy": "private",
|
|
1401
|
+
"description": "Field Surfaces: the optional front overlay surface (light-DOM, above content).",
|
|
1402
|
+
"inheritedFrom": {
|
|
1403
|
+
"name": "FieldField",
|
|
1404
|
+
"module": "src/index.ts"
|
|
1405
|
+
}
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"kind": "field",
|
|
1409
|
+
"name": "visibilityObserver",
|
|
1410
|
+
"type": {
|
|
1411
|
+
"text": "IntersectionObserver | undefined"
|
|
1412
|
+
},
|
|
1413
|
+
"privacy": "private",
|
|
1414
|
+
"description": "element-level visibility: pages can hide the field (display:none) — skip draw work then.",
|
|
1415
|
+
"inheritedFrom": {
|
|
1416
|
+
"name": "FieldField",
|
|
1417
|
+
"module": "src/index.ts"
|
|
1418
|
+
}
|
|
1419
|
+
},
|
|
1420
|
+
{
|
|
1421
|
+
"kind": "field",
|
|
1422
|
+
"name": "fieldVisible",
|
|
1423
|
+
"type": {
|
|
1424
|
+
"text": "boolean"
|
|
1425
|
+
},
|
|
1426
|
+
"privacy": "private",
|
|
1427
|
+
"default": "true",
|
|
1428
|
+
"inheritedFrom": {
|
|
1429
|
+
"name": "FieldField",
|
|
1430
|
+
"module": "src/index.ts"
|
|
1431
|
+
}
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"kind": "field",
|
|
1435
|
+
"name": "platformRuntime",
|
|
1436
|
+
"type": {
|
|
1437
|
+
"text": "PlatformRuntime | undefined"
|
|
1438
|
+
},
|
|
1439
|
+
"description": "experimental platform runtime (Phase D); present only when the flag is on.",
|
|
1440
|
+
"inheritedFrom": {
|
|
1441
|
+
"name": "FieldField",
|
|
1442
|
+
"module": "src/index.ts"
|
|
1443
|
+
}
|
|
1444
|
+
},
|
|
1445
|
+
{
|
|
1446
|
+
"kind": "field",
|
|
1447
|
+
"name": "platform",
|
|
1448
|
+
"type": {
|
|
1449
|
+
"text": "FieldPlatform | undefined"
|
|
1450
|
+
},
|
|
1451
|
+
"description": "The live `@fundamental-engine/platform` 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
|
+
"readonly": true,
|
|
1453
|
+
"inheritedFrom": {
|
|
1454
|
+
"name": "FieldField",
|
|
1455
|
+
"module": "src/index.ts"
|
|
1456
|
+
}
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"kind": "field",
|
|
1460
|
+
"name": "accent",
|
|
1461
|
+
"type": {
|
|
1462
|
+
"text": "string"
|
|
1463
|
+
},
|
|
1464
|
+
"description": "the travelling accent (§9); defaults to the first palette color.",
|
|
1465
|
+
"readonly": true,
|
|
1466
|
+
"inheritedFrom": {
|
|
1467
|
+
"name": "FieldField",
|
|
1468
|
+
"module": "src/index.ts"
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
{
|
|
1472
|
+
"kind": "field",
|
|
1473
|
+
"name": "density",
|
|
1474
|
+
"type": {
|
|
1475
|
+
"text": "number"
|
|
1476
|
+
},
|
|
1477
|
+
"description": "particle-count multiplier (§2.5).",
|
|
1478
|
+
"readonly": true,
|
|
1479
|
+
"inheritedFrom": {
|
|
1480
|
+
"name": "FieldField",
|
|
1481
|
+
"module": "src/index.ts"
|
|
1482
|
+
}
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"kind": "field",
|
|
1486
|
+
"name": "waves",
|
|
1487
|
+
"type": {
|
|
1488
|
+
"text": "boolean"
|
|
1489
|
+
},
|
|
1490
|
+
"description": "draw the background Currents (§24).",
|
|
1491
|
+
"readonly": true,
|
|
1492
|
+
"inheritedFrom": {
|
|
1493
|
+
"name": "FieldField",
|
|
1494
|
+
"module": "src/index.ts"
|
|
1495
|
+
}
|
|
1496
|
+
},
|
|
1497
|
+
{
|
|
1498
|
+
"kind": "field",
|
|
1499
|
+
"name": "renderMode",
|
|
1500
|
+
"type": {
|
|
1501
|
+
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
1502
|
+
},
|
|
1503
|
+
"description": "render mode (§20.6); `none` = the signals-only engine — simulate + feed back, never draw (#297).",
|
|
1504
|
+
"readonly": true,
|
|
1505
|
+
"inheritedFrom": {
|
|
1506
|
+
"name": "FieldField",
|
|
1507
|
+
"module": "src/index.ts"
|
|
1508
|
+
}
|
|
1509
|
+
},
|
|
1510
|
+
{
|
|
1511
|
+
"kind": "field",
|
|
1512
|
+
"name": "background",
|
|
1513
|
+
"type": {
|
|
1514
|
+
"text": "'opaque' | 'transparent'"
|
|
1515
|
+
},
|
|
1516
|
+
"description": "substrate background: `transparent` (present and not `\"false\"`) clears to transparent so the\nunderlay composites over light content; default `opaque` paints the near-black substrate.",
|
|
1517
|
+
"readonly": true,
|
|
1518
|
+
"inheritedFrom": {
|
|
1519
|
+
"name": "FieldField",
|
|
1520
|
+
"module": "src/index.ts"
|
|
1521
|
+
}
|
|
1522
|
+
},
|
|
1523
|
+
{
|
|
1524
|
+
"kind": "field",
|
|
1525
|
+
"name": "overlay",
|
|
1526
|
+
"type": {
|
|
1527
|
+
"text": "OverlayInput"
|
|
1528
|
+
},
|
|
1529
|
+
"description": "Field Surfaces: the overlay reading(s) — one mode or a space-separated additive stack. Default `off`.",
|
|
1530
|
+
"readonly": true,
|
|
1531
|
+
"inheritedFrom": {
|
|
1532
|
+
"name": "FieldField",
|
|
1533
|
+
"module": "src/index.ts"
|
|
1534
|
+
}
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"kind": "field",
|
|
1538
|
+
"name": "palette",
|
|
1539
|
+
"type": {
|
|
1540
|
+
"text": "string | undefined"
|
|
1541
|
+
},
|
|
1542
|
+
"description": "color template name for the travelling accent (§9), or undefined for `ours`.",
|
|
1543
|
+
"readonly": true,
|
|
1544
|
+
"inheritedFrom": {
|
|
1545
|
+
"name": "FieldField",
|
|
1546
|
+
"module": "src/index.ts"
|
|
1547
|
+
}
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"kind": "field",
|
|
1551
|
+
"name": "attention",
|
|
1552
|
+
"type": {
|
|
1553
|
+
"text": "boolean"
|
|
1554
|
+
},
|
|
1555
|
+
"description": "conserved attention (§2.4): present and not `\"false\"` → one finite strength budget.",
|
|
1556
|
+
"readonly": true,
|
|
1557
|
+
"inheritedFrom": {
|
|
1558
|
+
"name": "FieldField",
|
|
1559
|
+
"module": "src/index.ts"
|
|
1560
|
+
}
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"kind": "field",
|
|
1564
|
+
"name": "causality",
|
|
1565
|
+
"type": {
|
|
1566
|
+
"text": "boolean"
|
|
1567
|
+
},
|
|
1568
|
+
"description": "cross-boundary causality (Concept 4): present and not `\"false\"` → density spills.",
|
|
1569
|
+
"readonly": true,
|
|
1570
|
+
"inheritedFrom": {
|
|
1571
|
+
"name": "FieldField",
|
|
1572
|
+
"module": "src/index.ts"
|
|
1573
|
+
}
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
"kind": "field",
|
|
1577
|
+
"name": "mass",
|
|
1578
|
+
"type": {
|
|
1579
|
+
"text": "boolean"
|
|
1580
|
+
},
|
|
1581
|
+
"description": "first-class mass (§21.3): present and not `\"false\"` → particle mass ∝ size.",
|
|
1582
|
+
"readonly": true,
|
|
1583
|
+
"inheritedFrom": {
|
|
1584
|
+
"name": "FieldField",
|
|
1585
|
+
"module": "src/index.ts"
|
|
1586
|
+
}
|
|
1587
|
+
},
|
|
1588
|
+
{
|
|
1589
|
+
"kind": "field",
|
|
1590
|
+
"name": "heatmap",
|
|
1591
|
+
"type": {
|
|
1592
|
+
"text": "boolean"
|
|
1593
|
+
},
|
|
1594
|
+
"description": "density heatmap (field-systems H1): present and not `\"false\"` → the pooling glow underlay.",
|
|
1595
|
+
"readonly": true,
|
|
1596
|
+
"inheritedFrom": {
|
|
1597
|
+
"name": "FieldField",
|
|
1598
|
+
"module": "src/index.ts"
|
|
1599
|
+
}
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"kind": "field",
|
|
1603
|
+
"name": "dprCap",
|
|
1604
|
+
"type": {
|
|
1605
|
+
"text": "number | undefined"
|
|
1606
|
+
},
|
|
1607
|
+
"description": "`dpr-cap` — backing-store DPR ceiling (#410); undefined (engine default 2) if absent/invalid.",
|
|
1608
|
+
"readonly": true,
|
|
1609
|
+
"inheritedFrom": {
|
|
1610
|
+
"name": "FieldField",
|
|
1611
|
+
"module": "src/index.ts"
|
|
1612
|
+
}
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"kind": "field",
|
|
1616
|
+
"name": "depth",
|
|
1617
|
+
"type": {
|
|
1618
|
+
"text": "number | undefined"
|
|
1619
|
+
},
|
|
1620
|
+
"description": "`depth` — optional z-volume; undefined (engine default 0, the flat field) if absent/invalid.",
|
|
1621
|
+
"readonly": true,
|
|
1622
|
+
"inheritedFrom": {
|
|
1623
|
+
"name": "FieldField",
|
|
1624
|
+
"module": "src/index.ts"
|
|
1625
|
+
}
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"kind": "method",
|
|
1629
|
+
"name": "scan",
|
|
1630
|
+
"return": {
|
|
1631
|
+
"type": {
|
|
1632
|
+
"text": "void"
|
|
1633
|
+
}
|
|
1634
|
+
},
|
|
1635
|
+
"description": "re-scan the document for `[data-body]` bodies after a DOM change.",
|
|
1636
|
+
"inheritedFrom": {
|
|
1637
|
+
"name": "FieldField",
|
|
1638
|
+
"module": "src/index.ts"
|
|
1639
|
+
}
|
|
1640
|
+
},
|
|
1641
|
+
{
|
|
1642
|
+
"kind": "method",
|
|
1643
|
+
"name": "rescan",
|
|
1644
|
+
"return": {
|
|
1645
|
+
"type": {
|
|
1646
|
+
"text": "void"
|
|
1647
|
+
}
|
|
1648
|
+
},
|
|
1649
|
+
"description": "alias of `scan`.",
|
|
1650
|
+
"inheritedFrom": {
|
|
1651
|
+
"name": "FieldField",
|
|
1652
|
+
"module": "src/index.ts"
|
|
1653
|
+
}
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"kind": "method",
|
|
1657
|
+
"name": "setAccent",
|
|
1658
|
+
"return": {
|
|
1659
|
+
"type": {
|
|
1660
|
+
"text": "void"
|
|
1661
|
+
}
|
|
1662
|
+
},
|
|
1663
|
+
"parameters": [
|
|
1664
|
+
{
|
|
1665
|
+
"name": "hex",
|
|
1666
|
+
"type": {
|
|
1667
|
+
"text": "string"
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1670
|
+
],
|
|
1671
|
+
"description": "recolor the travelling accent (§9).",
|
|
1672
|
+
"inheritedFrom": {
|
|
1673
|
+
"name": "FieldField",
|
|
1674
|
+
"module": "src/index.ts"
|
|
1675
|
+
}
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
"kind": "method",
|
|
1679
|
+
"name": "setPalette",
|
|
1680
|
+
"return": {
|
|
1681
|
+
"type": {
|
|
1682
|
+
"text": "void"
|
|
1683
|
+
}
|
|
1684
|
+
},
|
|
1685
|
+
"parameters": [
|
|
1686
|
+
{
|
|
1687
|
+
"name": "palette",
|
|
1688
|
+
"type": {
|
|
1689
|
+
"text": "string | readonly string[]"
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1692
|
+
],
|
|
1693
|
+
"description": "swap the accent color template live (§9).",
|
|
1694
|
+
"inheritedFrom": {
|
|
1695
|
+
"name": "FieldField",
|
|
1696
|
+
"module": "src/index.ts"
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"kind": "method",
|
|
1701
|
+
"name": "setFormation",
|
|
1702
|
+
"return": {
|
|
1703
|
+
"type": {
|
|
1704
|
+
"text": "void"
|
|
1705
|
+
}
|
|
1706
|
+
},
|
|
1707
|
+
"parameters": [
|
|
1708
|
+
{
|
|
1709
|
+
"name": "name",
|
|
1710
|
+
"type": {
|
|
1711
|
+
"text": "string"
|
|
1712
|
+
}
|
|
1713
|
+
}
|
|
1714
|
+
],
|
|
1715
|
+
"description": "switch the global formation (§7).",
|
|
1716
|
+
"inheritedFrom": {
|
|
1717
|
+
"name": "FieldField",
|
|
1718
|
+
"module": "src/index.ts"
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
"kind": "method",
|
|
1723
|
+
"name": "setAttention",
|
|
1724
|
+
"return": {
|
|
1725
|
+
"type": {
|
|
1726
|
+
"text": "void"
|
|
1727
|
+
}
|
|
1728
|
+
},
|
|
1729
|
+
"parameters": [
|
|
1730
|
+
{
|
|
1731
|
+
"name": "on",
|
|
1732
|
+
"type": {
|
|
1733
|
+
"text": "boolean"
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
],
|
|
1737
|
+
"description": "toggle conserved attention (§2.4) live.",
|
|
1738
|
+
"inheritedFrom": {
|
|
1739
|
+
"name": "FieldField",
|
|
1740
|
+
"module": "src/index.ts"
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "method",
|
|
1745
|
+
"name": "setCausality",
|
|
1746
|
+
"return": {
|
|
1747
|
+
"type": {
|
|
1748
|
+
"text": "void"
|
|
1749
|
+
}
|
|
1750
|
+
},
|
|
1751
|
+
"parameters": [
|
|
1752
|
+
{
|
|
1753
|
+
"name": "on",
|
|
1754
|
+
"type": {
|
|
1755
|
+
"text": "boolean"
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
],
|
|
1759
|
+
"description": "toggle cross-boundary causality (Concept 4) live.",
|
|
1760
|
+
"inheritedFrom": {
|
|
1761
|
+
"name": "FieldField",
|
|
1762
|
+
"module": "src/index.ts"
|
|
1763
|
+
}
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"kind": "method",
|
|
1767
|
+
"name": "setBackground",
|
|
1768
|
+
"return": {
|
|
1769
|
+
"type": {
|
|
1770
|
+
"text": "void"
|
|
1771
|
+
}
|
|
1772
|
+
},
|
|
1773
|
+
"parameters": [
|
|
1774
|
+
{
|
|
1775
|
+
"name": "mode",
|
|
1776
|
+
"type": {
|
|
1777
|
+
"text": "'opaque' | 'transparent'"
|
|
1778
|
+
}
|
|
1779
|
+
}
|
|
1780
|
+
],
|
|
1781
|
+
"description": "switch the substrate background live: `transparent` composites the underlay over light content.",
|
|
1782
|
+
"inheritedFrom": {
|
|
1783
|
+
"name": "FieldField",
|
|
1784
|
+
"module": "src/index.ts"
|
|
1785
|
+
}
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"kind": "method",
|
|
1789
|
+
"name": "setHeatmap",
|
|
1790
|
+
"return": {
|
|
1791
|
+
"type": {
|
|
1792
|
+
"text": "void"
|
|
1793
|
+
}
|
|
1794
|
+
},
|
|
1795
|
+
"parameters": [
|
|
1796
|
+
{
|
|
1797
|
+
"name": "on",
|
|
1798
|
+
"type": {
|
|
1799
|
+
"text": "boolean"
|
|
1800
|
+
}
|
|
1801
|
+
}
|
|
1802
|
+
],
|
|
1803
|
+
"description": "toggle the density heatmap layer (field-systems H1) live.",
|
|
1804
|
+
"inheritedFrom": {
|
|
1805
|
+
"name": "FieldField",
|
|
1806
|
+
"module": "src/index.ts"
|
|
1807
|
+
}
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"kind": "method",
|
|
1811
|
+
"name": "setDprCap",
|
|
1812
|
+
"return": {
|
|
1813
|
+
"type": {
|
|
1814
|
+
"text": "void"
|
|
1815
|
+
}
|
|
1816
|
+
},
|
|
1817
|
+
"parameters": [
|
|
1818
|
+
{
|
|
1819
|
+
"name": "cap",
|
|
1820
|
+
"type": {
|
|
1821
|
+
"text": "number"
|
|
1822
|
+
}
|
|
1823
|
+
}
|
|
1824
|
+
],
|
|
1825
|
+
"description": "lower/raise the backing-store DPR ceiling at runtime (the dominant fill-rate lever).",
|
|
1826
|
+
"inheritedFrom": {
|
|
1827
|
+
"name": "FieldField",
|
|
1828
|
+
"module": "src/index.ts"
|
|
1829
|
+
}
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"kind": "method",
|
|
1833
|
+
"name": "setRender",
|
|
1834
|
+
"return": {
|
|
1835
|
+
"type": {
|
|
1836
|
+
"text": "void"
|
|
1837
|
+
}
|
|
1838
|
+
},
|
|
1839
|
+
"parameters": [
|
|
1840
|
+
{
|
|
1841
|
+
"name": "mode",
|
|
1842
|
+
"type": {
|
|
1843
|
+
"text": "'dots' | 'trails' | 'links' | 'metaballs' | 'voronoi' | 'streamlines' | 'flow' | 'none'"
|
|
1844
|
+
}
|
|
1845
|
+
}
|
|
1846
|
+
],
|
|
1847
|
+
"description": "switch the underlay render mode (§20.6) live; `none` = signals-only — stop drawing, keep the signals (#297).",
|
|
1848
|
+
"inheritedFrom": {
|
|
1849
|
+
"name": "FieldField",
|
|
1850
|
+
"module": "src/index.ts"
|
|
1851
|
+
}
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
"kind": "method",
|
|
1855
|
+
"name": "setOverlay",
|
|
1856
|
+
"return": {
|
|
1857
|
+
"type": {
|
|
1858
|
+
"text": "void"
|
|
1859
|
+
}
|
|
1860
|
+
},
|
|
1861
|
+
"parameters": [
|
|
1862
|
+
{
|
|
1863
|
+
"name": "mode",
|
|
1864
|
+
"type": {
|
|
1865
|
+
"text": "OverlayInput"
|
|
1866
|
+
}
|
|
1867
|
+
}
|
|
1868
|
+
],
|
|
1869
|
+
"description": "render field readings on the overlay surface (Field Surfaces — in front of content); one mode or an additive stack.",
|
|
1870
|
+
"inheritedFrom": {
|
|
1871
|
+
"name": "FieldField",
|
|
1872
|
+
"module": "src/index.ts"
|
|
1873
|
+
}
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
"kind": "method",
|
|
1877
|
+
"name": "threads",
|
|
1878
|
+
"return": {
|
|
1879
|
+
"type": {
|
|
1880
|
+
"text": "void"
|
|
1881
|
+
}
|
|
1882
|
+
},
|
|
1883
|
+
"parameters": [
|
|
1884
|
+
{
|
|
1885
|
+
"name": "list",
|
|
1886
|
+
"type": {
|
|
1887
|
+
"text": "ThreadLink[] | null"
|
|
1888
|
+
}
|
|
1889
|
+
}
|
|
1890
|
+
],
|
|
1891
|
+
"description": "wire glowing connector lines between a set, or clear with null (§10).",
|
|
1892
|
+
"inheritedFrom": {
|
|
1893
|
+
"name": "FieldField",
|
|
1894
|
+
"module": "src/index.ts"
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
"kind": "method",
|
|
1899
|
+
"name": "burst",
|
|
1900
|
+
"return": {
|
|
1901
|
+
"type": {
|
|
1902
|
+
"text": "void"
|
|
1903
|
+
}
|
|
1904
|
+
},
|
|
1905
|
+
"parameters": [
|
|
1906
|
+
{
|
|
1907
|
+
"name": "x",
|
|
1908
|
+
"type": {
|
|
1909
|
+
"text": "number"
|
|
1910
|
+
}
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"name": "y",
|
|
1914
|
+
"type": {
|
|
1915
|
+
"text": "number"
|
|
1916
|
+
}
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"name": "hex",
|
|
1920
|
+
"optional": true,
|
|
1921
|
+
"type": {
|
|
1922
|
+
"text": "string"
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
],
|
|
1926
|
+
"description": "a discrete one-shot: shove + heat matter near (x, y), optionally tinting it (§11).",
|
|
1927
|
+
"inheritedFrom": {
|
|
1928
|
+
"name": "FieldField",
|
|
1929
|
+
"module": "src/index.ts"
|
|
1930
|
+
}
|
|
1931
|
+
},
|
|
1932
|
+
{
|
|
1933
|
+
"kind": "method",
|
|
1934
|
+
"name": "flowTo",
|
|
1935
|
+
"return": {
|
|
1936
|
+
"type": {
|
|
1937
|
+
"text": "void"
|
|
1938
|
+
}
|
|
1939
|
+
},
|
|
1940
|
+
"parameters": [
|
|
1941
|
+
{
|
|
1942
|
+
"name": "x",
|
|
1943
|
+
"type": {
|
|
1944
|
+
"text": "number"
|
|
1945
|
+
}
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"name": "y",
|
|
1949
|
+
"type": {
|
|
1950
|
+
"text": "number"
|
|
1951
|
+
}
|
|
1952
|
+
},
|
|
1953
|
+
{
|
|
1954
|
+
"name": "opts",
|
|
1955
|
+
"optional": true,
|
|
1956
|
+
"type": {
|
|
1957
|
+
"text": "FlowOptions"
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
],
|
|
1961
|
+
"description": "place/move a dynamic flow focus the field bends toward — pulls matter, curves the streamlines.",
|
|
1962
|
+
"inheritedFrom": {
|
|
1963
|
+
"name": "FieldField",
|
|
1964
|
+
"module": "src/index.ts"
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
"kind": "method",
|
|
1969
|
+
"name": "clearFlow",
|
|
1970
|
+
"return": {
|
|
1971
|
+
"type": {
|
|
1972
|
+
"text": "void"
|
|
1973
|
+
}
|
|
1974
|
+
},
|
|
1975
|
+
"description": "remove the flow focus.",
|
|
1976
|
+
"inheritedFrom": {
|
|
1977
|
+
"name": "FieldField",
|
|
1978
|
+
"module": "src/index.ts"
|
|
1979
|
+
}
|
|
1980
|
+
},
|
|
1981
|
+
{
|
|
1982
|
+
"kind": "method",
|
|
1983
|
+
"name": "seed",
|
|
1984
|
+
"return": {
|
|
1985
|
+
"type": {
|
|
1986
|
+
"text": "void"
|
|
1987
|
+
}
|
|
1988
|
+
},
|
|
1989
|
+
"parameters": [
|
|
1990
|
+
{
|
|
1991
|
+
"name": "atoms",
|
|
1992
|
+
"type": {
|
|
1993
|
+
"text": "readonly AtomPayload[]"
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
],
|
|
1997
|
+
"description": "bind a data record to each base particle (its `weight` scales mass + size); pick back with `atomAt`.",
|
|
1998
|
+
"inheritedFrom": {
|
|
1999
|
+
"name": "FieldField",
|
|
2000
|
+
"module": "src/index.ts"
|
|
2001
|
+
}
|
|
2002
|
+
},
|
|
2003
|
+
{
|
|
2004
|
+
"kind": "method",
|
|
2005
|
+
"name": "addAgent",
|
|
2006
|
+
"return": {
|
|
2007
|
+
"type": {
|
|
2008
|
+
"text": "AgentHandle"
|
|
2009
|
+
}
|
|
2010
|
+
},
|
|
2011
|
+
"parameters": [
|
|
2012
|
+
{
|
|
2013
|
+
"name": "spec",
|
|
2014
|
+
"type": {
|
|
2015
|
+
"text": "AgentSpec"
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
],
|
|
2019
|
+
"description": "add an engine-stepped agent; returns an inert no-op handle if the field hasn't started.",
|
|
2020
|
+
"inheritedFrom": {
|
|
2021
|
+
"name": "FieldField",
|
|
2022
|
+
"module": "src/index.ts"
|
|
2023
|
+
}
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
"kind": "method",
|
|
2027
|
+
"name": "addBody",
|
|
2028
|
+
"return": {
|
|
2029
|
+
"type": {
|
|
2030
|
+
"text": "BodyHandle"
|
|
2031
|
+
}
|
|
2032
|
+
},
|
|
2033
|
+
"parameters": [
|
|
2034
|
+
{
|
|
2035
|
+
"name": "spec",
|
|
2036
|
+
"type": {
|
|
2037
|
+
"text": "BodySpec"
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
],
|
|
2041
|
+
"description": "add a programmatic body (no DOM) from a spec; a no-op handle until the field starts.",
|
|
2042
|
+
"inheritedFrom": {
|
|
2043
|
+
"name": "FieldField",
|
|
2044
|
+
"module": "src/index.ts"
|
|
2045
|
+
}
|
|
2046
|
+
},
|
|
2047
|
+
{
|
|
2048
|
+
"kind": "method",
|
|
2049
|
+
"name": "addField",
|
|
2050
|
+
"return": {
|
|
2051
|
+
"type": {
|
|
2052
|
+
"text": "FieldChannelHandle"
|
|
2053
|
+
}
|
|
2054
|
+
},
|
|
2055
|
+
"parameters": [
|
|
2056
|
+
{
|
|
2057
|
+
"name": "name",
|
|
2058
|
+
"type": {
|
|
2059
|
+
"text": "string"
|
|
2060
|
+
}
|
|
2061
|
+
},
|
|
2062
|
+
{
|
|
2063
|
+
"name": "sampler",
|
|
2064
|
+
"type": {
|
|
2065
|
+
"text": "(x: number, y: number) => number"
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
],
|
|
2069
|
+
"description": "register a named external scalar field channel the engine samples; inert handle until the field starts.",
|
|
2070
|
+
"inheritedFrom": {
|
|
2071
|
+
"name": "FieldField",
|
|
2072
|
+
"module": "src/index.ts"
|
|
2073
|
+
}
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
"kind": "method",
|
|
2077
|
+
"name": "sampleField",
|
|
2078
|
+
"return": {
|
|
2079
|
+
"type": {
|
|
2080
|
+
"text": "number"
|
|
2081
|
+
}
|
|
2082
|
+
},
|
|
2083
|
+
"parameters": [
|
|
2084
|
+
{
|
|
2085
|
+
"name": "name",
|
|
2086
|
+
"type": {
|
|
2087
|
+
"text": "string"
|
|
2088
|
+
}
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
"name": "x",
|
|
2092
|
+
"type": {
|
|
2093
|
+
"text": "number"
|
|
2094
|
+
}
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"name": "y",
|
|
2098
|
+
"type": {
|
|
2099
|
+
"text": "number"
|
|
2100
|
+
}
|
|
2101
|
+
}
|
|
2102
|
+
],
|
|
2103
|
+
"description": "sample a registered field channel at (x, y); 0 for an unknown channel or before the field starts.",
|
|
2104
|
+
"inheritedFrom": {
|
|
2105
|
+
"name": "FieldField",
|
|
2106
|
+
"module": "src/index.ts"
|
|
2107
|
+
}
|
|
2108
|
+
},
|
|
2109
|
+
{
|
|
2110
|
+
"kind": "method",
|
|
2111
|
+
"name": "atomAt",
|
|
2112
|
+
"return": {
|
|
2113
|
+
"type": {
|
|
2114
|
+
"text": "AtomPayload | null"
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
"parameters": [
|
|
2118
|
+
{
|
|
2119
|
+
"name": "x",
|
|
2120
|
+
"type": {
|
|
2121
|
+
"text": "number"
|
|
2122
|
+
}
|
|
2123
|
+
},
|
|
2124
|
+
{
|
|
2125
|
+
"name": "y",
|
|
2126
|
+
"type": {
|
|
2127
|
+
"text": "number"
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
],
|
|
2131
|
+
"description": "the seeded record on the nearest particle to (x, y), or null — for hover-to-inspect.",
|
|
2132
|
+
"inheritedFrom": {
|
|
2133
|
+
"name": "FieldField",
|
|
2134
|
+
"module": "src/index.ts"
|
|
2135
|
+
}
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
"kind": "method",
|
|
2139
|
+
"name": "focusAt",
|
|
2140
|
+
"return": {
|
|
2141
|
+
"type": {
|
|
2142
|
+
"text": "AtomPayload | null"
|
|
2143
|
+
}
|
|
2144
|
+
},
|
|
2145
|
+
"parameters": [
|
|
2146
|
+
{
|
|
2147
|
+
"name": "x",
|
|
2148
|
+
"type": {
|
|
2149
|
+
"text": "number"
|
|
2150
|
+
}
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
"name": "y",
|
|
2154
|
+
"type": {
|
|
2155
|
+
"text": "number"
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
],
|
|
2159
|
+
"description": "focus the nearest seeded particle (hold + light it), returning its record — the dwell affordance.",
|
|
2160
|
+
"inheritedFrom": {
|
|
2161
|
+
"name": "FieldField",
|
|
2162
|
+
"module": "src/index.ts"
|
|
2163
|
+
}
|
|
2164
|
+
},
|
|
2165
|
+
{
|
|
2166
|
+
"kind": "method",
|
|
2167
|
+
"name": "clearFocus",
|
|
2168
|
+
"return": {
|
|
2169
|
+
"type": {
|
|
2170
|
+
"text": "void"
|
|
2171
|
+
}
|
|
2172
|
+
},
|
|
2173
|
+
"description": "release the focused particle.",
|
|
2174
|
+
"inheritedFrom": {
|
|
2175
|
+
"name": "FieldField",
|
|
2176
|
+
"module": "src/index.ts"
|
|
2177
|
+
}
|
|
2178
|
+
},
|
|
2179
|
+
{
|
|
2180
|
+
"kind": "method",
|
|
2181
|
+
"name": "particleCount",
|
|
2182
|
+
"return": {
|
|
2183
|
+
"type": {
|
|
2184
|
+
"text": "number"
|
|
2185
|
+
}
|
|
2186
|
+
},
|
|
2187
|
+
"description": "live particle-pool size — `store.size` forwarded through the public handle.",
|
|
2188
|
+
"inheritedFrom": {
|
|
2189
|
+
"name": "FieldField",
|
|
2190
|
+
"module": "src/index.ts"
|
|
2191
|
+
}
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
"kind": "method",
|
|
2195
|
+
"name": "readParticles",
|
|
2196
|
+
"return": {
|
|
2197
|
+
"type": {
|
|
2198
|
+
"text": "number"
|
|
2199
|
+
}
|
|
2200
|
+
},
|
|
2201
|
+
"parameters": [
|
|
2202
|
+
{
|
|
2203
|
+
"name": "out",
|
|
2204
|
+
"type": {
|
|
2205
|
+
"text": "Float32Array"
|
|
2206
|
+
}
|
|
2207
|
+
}
|
|
2208
|
+
],
|
|
2209
|
+
"description": "copy live particle state into `out` (stride 5: x, y, z, heat, size); returns the count written\n(0 before the field starts) — the render-agnostic swarm read-out an alternative surface draws.",
|
|
2210
|
+
"inheritedFrom": {
|
|
2211
|
+
"name": "FieldField",
|
|
2212
|
+
"module": "src/index.ts"
|
|
2213
|
+
}
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"kind": "method",
|
|
2217
|
+
"name": "readParticleIds",
|
|
2218
|
+
"return": {
|
|
2219
|
+
"type": {
|
|
2220
|
+
"text": "number"
|
|
2221
|
+
}
|
|
2222
|
+
},
|
|
2223
|
+
"parameters": [
|
|
2224
|
+
{
|
|
2225
|
+
"name": "out",
|
|
2226
|
+
"type": {
|
|
2227
|
+
"text": "Uint32Array"
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
],
|
|
2231
|
+
"description": "copy each live particle's stable id into a Uint32Array, parallel to readParticles.",
|
|
2232
|
+
"inheritedFrom": {
|
|
2233
|
+
"name": "FieldField",
|
|
2234
|
+
"module": "src/index.ts"
|
|
2235
|
+
}
|
|
2236
|
+
},
|
|
2237
|
+
{
|
|
2238
|
+
"kind": "method",
|
|
2239
|
+
"name": "energy",
|
|
2240
|
+
"return": {
|
|
2241
|
+
"type": {
|
|
2242
|
+
"text": "{ kinetic: number; thermal: number; total: number; count: number }"
|
|
2243
|
+
}
|
|
2244
|
+
},
|
|
2245
|
+
"description": "kinetic/thermal/total energy snapshot for the current frame.",
|
|
2246
|
+
"inheritedFrom": {
|
|
2247
|
+
"name": "FieldField",
|
|
2248
|
+
"module": "src/index.ts"
|
|
2249
|
+
}
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
"kind": "method",
|
|
2253
|
+
"name": "sample",
|
|
2254
|
+
"return": {
|
|
2255
|
+
"type": {
|
|
2256
|
+
"text": "{ x: number; y: number }"
|
|
2257
|
+
}
|
|
2258
|
+
},
|
|
2259
|
+
"parameters": [
|
|
2260
|
+
{
|
|
2261
|
+
"name": "x",
|
|
2262
|
+
"type": {
|
|
2263
|
+
"text": "number"
|
|
2264
|
+
}
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"name": "y",
|
|
2268
|
+
"type": {
|
|
2269
|
+
"text": "number"
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2272
|
+
],
|
|
2273
|
+
"description": "sample the live field at `(x, y)` — the net force vector a still test particle would feel\n(zero before the field starts). The seam external visualizers consume to build field geometry.",
|
|
2274
|
+
"inheritedFrom": {
|
|
2275
|
+
"name": "FieldField",
|
|
2276
|
+
"module": "src/index.ts"
|
|
2277
|
+
}
|
|
2278
|
+
},
|
|
2279
|
+
{
|
|
2280
|
+
"kind": "method",
|
|
2281
|
+
"name": "sampleScalar",
|
|
2282
|
+
"return": {
|
|
2283
|
+
"type": {
|
|
2284
|
+
"text": "number"
|
|
2285
|
+
}
|
|
2286
|
+
},
|
|
2287
|
+
"parameters": [
|
|
2288
|
+
{
|
|
2289
|
+
"name": "x",
|
|
2290
|
+
"type": {
|
|
2291
|
+
"text": "number"
|
|
2292
|
+
}
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"name": "y",
|
|
2296
|
+
"type": {
|
|
2297
|
+
"text": "number"
|
|
2298
|
+
}
|
|
2299
|
+
}
|
|
2300
|
+
],
|
|
2301
|
+
"description": "sample the smooth density scalar ∈ [0,1] at `(x, y)` (needs `heatmap`); 0 when off/not started.",
|
|
2302
|
+
"inheritedFrom": {
|
|
2303
|
+
"name": "FieldField",
|
|
2304
|
+
"module": "src/index.ts"
|
|
2305
|
+
}
|
|
2306
|
+
},
|
|
2307
|
+
{
|
|
2308
|
+
"kind": "method",
|
|
2309
|
+
"name": "sampleGradient",
|
|
2310
|
+
"return": {
|
|
2311
|
+
"type": {
|
|
2312
|
+
"text": "{ x: number; y: number }"
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
"parameters": [
|
|
2316
|
+
{
|
|
2317
|
+
"name": "x",
|
|
2318
|
+
"type": {
|
|
2319
|
+
"text": "number"
|
|
2320
|
+
}
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
"name": "y",
|
|
2324
|
+
"type": {
|
|
2325
|
+
"text": "number"
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
],
|
|
2329
|
+
"description": "sample the density gradient ∇ at `(x, y)` — up-density direction (needs `heatmap`); `{0,0}` when off/not started.",
|
|
2330
|
+
"inheritedFrom": {
|
|
2331
|
+
"name": "FieldField",
|
|
2332
|
+
"module": "src/index.ts"
|
|
2333
|
+
}
|
|
2334
|
+
},
|
|
2335
|
+
{
|
|
2336
|
+
"kind": "method",
|
|
2337
|
+
"name": "grid",
|
|
2338
|
+
"return": {
|
|
2339
|
+
"type": {
|
|
2340
|
+
"text": "ScalarGrid"
|
|
2341
|
+
}
|
|
2342
|
+
},
|
|
2343
|
+
"parameters": [
|
|
2344
|
+
{
|
|
2345
|
+
"name": "name",
|
|
2346
|
+
"type": {
|
|
2347
|
+
"text": "string"
|
|
2348
|
+
}
|
|
2349
|
+
}
|
|
2350
|
+
],
|
|
2351
|
+
"description": "open a named host-authorable scalar grid (deposit/sample/gradient/decay); a no-op grid until the field starts.",
|
|
2352
|
+
"inheritedFrom": {
|
|
2353
|
+
"name": "FieldField",
|
|
2354
|
+
"module": "src/index.ts"
|
|
2355
|
+
}
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
"kind": "method",
|
|
2359
|
+
"name": "on",
|
|
2360
|
+
"return": {
|
|
2361
|
+
"type": {
|
|
2362
|
+
"text": "() => void"
|
|
2363
|
+
}
|
|
2364
|
+
},
|
|
2365
|
+
"parameters": [
|
|
2366
|
+
{
|
|
2367
|
+
"name": "type",
|
|
2368
|
+
"type": {
|
|
2369
|
+
"text": "K"
|
|
2370
|
+
}
|
|
2371
|
+
},
|
|
2372
|
+
{
|
|
2373
|
+
"name": "cb",
|
|
2374
|
+
"type": {
|
|
2375
|
+
"text": "(e: FieldEventMap[K]) => void"
|
|
2376
|
+
}
|
|
2377
|
+
}
|
|
2378
|
+
],
|
|
2379
|
+
"description": "subscribe to a discrete field event (absorb/release/settle); a no-op unsubscribe until the field starts.",
|
|
2380
|
+
"inheritedFrom": {
|
|
2381
|
+
"name": "FieldField",
|
|
2382
|
+
"module": "src/index.ts"
|
|
2383
|
+
}
|
|
2384
|
+
},
|
|
2385
|
+
{
|
|
2386
|
+
"kind": "method",
|
|
2387
|
+
"name": "start",
|
|
2388
|
+
"privacy": "private",
|
|
2389
|
+
"return": {
|
|
2390
|
+
"type": {
|
|
2391
|
+
"text": "void"
|
|
2392
|
+
}
|
|
2393
|
+
},
|
|
2394
|
+
"description": "(re)create the engine on the canvas, reading the current attributes.",
|
|
2395
|
+
"inheritedFrom": {
|
|
2396
|
+
"name": "FieldField",
|
|
2397
|
+
"module": "src/index.ts"
|
|
2398
|
+
}
|
|
2399
|
+
},
|
|
2400
|
+
{
|
|
2401
|
+
"kind": "field",
|
|
2402
|
+
"name": "textContent",
|
|
2403
|
+
"inheritedFrom": {
|
|
2404
|
+
"name": "FieldField",
|
|
2405
|
+
"module": "src/index.ts"
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
]
|
|
2409
|
+
}
|
|
2410
|
+
],
|
|
2411
|
+
"exports": [
|
|
2412
|
+
{
|
|
2413
|
+
"kind": "js",
|
|
2414
|
+
"name": "usePlatformRuntime",
|
|
2415
|
+
"declaration": {
|
|
2416
|
+
"name": "usePlatformRuntime",
|
|
2417
|
+
"module": "./platform-runtime.ts"
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
"kind": "js",
|
|
2422
|
+
"name": "isPlatformRuntimeDefault",
|
|
2423
|
+
"declaration": {
|
|
2424
|
+
"name": "isPlatformRuntimeDefault",
|
|
2425
|
+
"module": "./platform-runtime.ts"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"kind": "js",
|
|
2430
|
+
"name": "shouldUsePlatformRuntime",
|
|
2431
|
+
"declaration": {
|
|
2432
|
+
"name": "shouldUsePlatformRuntime",
|
|
2433
|
+
"module": "./platform-runtime.ts"
|
|
2434
|
+
}
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
"kind": "js",
|
|
2438
|
+
"name": "startPlatformRuntime",
|
|
2439
|
+
"declaration": {
|
|
2440
|
+
"name": "startPlatformRuntime",
|
|
2441
|
+
"module": "./platform-runtime.ts"
|
|
2442
|
+
}
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
"kind": "js",
|
|
2446
|
+
"name": "PlatformRuntime",
|
|
2447
|
+
"declaration": {
|
|
2448
|
+
"name": "PlatformRuntime",
|
|
2449
|
+
"module": "./platform-runtime.ts"
|
|
2450
|
+
}
|
|
2451
|
+
},
|
|
2452
|
+
{
|
|
2453
|
+
"kind": "js",
|
|
2454
|
+
"name": "FieldField",
|
|
2455
|
+
"declaration": {
|
|
2456
|
+
"name": "FieldField",
|
|
2457
|
+
"module": "src/index.ts"
|
|
2458
|
+
}
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
"kind": "custom-element-definition",
|
|
2462
|
+
"name": "field-field",
|
|
2463
|
+
"declaration": {
|
|
2464
|
+
"name": "FieldField",
|
|
2465
|
+
"module": "src/index.ts"
|
|
2466
|
+
}
|
|
2467
|
+
},
|
|
2468
|
+
{
|
|
2469
|
+
"kind": "js",
|
|
2470
|
+
"name": "FieldRoot",
|
|
2471
|
+
"declaration": {
|
|
2472
|
+
"name": "FieldRoot",
|
|
2473
|
+
"module": "src/index.ts"
|
|
2474
|
+
}
|
|
2475
|
+
},
|
|
2476
|
+
{
|
|
2477
|
+
"kind": "custom-element-definition",
|
|
2478
|
+
"name": "field-root",
|
|
2479
|
+
"declaration": {
|
|
2480
|
+
"name": "FieldRoot",
|
|
2481
|
+
"module": "src/index.ts"
|
|
2482
|
+
}
|
|
2483
|
+
},
|
|
2484
|
+
{
|
|
2485
|
+
"kind": "js",
|
|
2486
|
+
"name": "*",
|
|
2487
|
+
"declaration": {
|
|
2488
|
+
"name": "*",
|
|
2489
|
+
"module": "src/field-cell.ts"
|
|
2490
|
+
}
|
|
2491
|
+
},
|
|
2492
|
+
{
|
|
2493
|
+
"kind": "js",
|
|
2494
|
+
"name": "*",
|
|
2495
|
+
"declaration": {
|
|
2496
|
+
"name": "*",
|
|
2497
|
+
"module": "src/cell-force.ts"
|
|
2498
|
+
}
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"kind": "js",
|
|
2502
|
+
"name": "*",
|
|
2503
|
+
"declaration": {
|
|
2504
|
+
"name": "*",
|
|
2505
|
+
"module": "src/mount.ts"
|
|
2506
|
+
}
|
|
2507
|
+
},
|
|
2508
|
+
{
|
|
2509
|
+
"kind": "js",
|
|
2510
|
+
"name": "FieldController",
|
|
2511
|
+
"declaration": {
|
|
2512
|
+
"name": "FieldController",
|
|
2513
|
+
"package": "@fundamental-engine/core"
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2516
|
+
{
|
|
2517
|
+
"kind": "js",
|
|
2518
|
+
"name": "REGISTER_BODY",
|
|
2519
|
+
"declaration": {
|
|
2520
|
+
"name": "REGISTER_BODY",
|
|
2521
|
+
"package": "@fundamental-engine/core"
|
|
2522
|
+
}
|
|
2523
|
+
},
|
|
2524
|
+
{
|
|
2525
|
+
"kind": "js",
|
|
2526
|
+
"name": "UNREGISTER_BODY",
|
|
2527
|
+
"declaration": {
|
|
2528
|
+
"name": "UNREGISTER_BODY",
|
|
2529
|
+
"package": "@fundamental-engine/core"
|
|
2530
|
+
}
|
|
2531
|
+
},
|
|
2532
|
+
{
|
|
2533
|
+
"kind": "js",
|
|
2534
|
+
"name": "UPDATE_BODY",
|
|
2535
|
+
"declaration": {
|
|
2536
|
+
"name": "UPDATE_BODY",
|
|
2537
|
+
"package": "@fundamental-engine/core"
|
|
2538
|
+
}
|
|
2539
|
+
},
|
|
2540
|
+
{
|
|
2541
|
+
"kind": "js",
|
|
2542
|
+
"name": "RegisterBodyDetail",
|
|
2543
|
+
"declaration": {
|
|
2544
|
+
"name": "RegisterBodyDetail",
|
|
2545
|
+
"package": "@fundamental-engine/core"
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
]
|
|
2549
|
+
},
|
|
2550
|
+
{
|
|
2551
|
+
"kind": "javascript-module",
|
|
2552
|
+
"path": "src/mount.ts",
|
|
2553
|
+
"declarations": [],
|
|
2554
|
+
"exports": [
|
|
2555
|
+
{
|
|
2556
|
+
"kind": "js",
|
|
2557
|
+
"name": "mountField",
|
|
2558
|
+
"declaration": {
|
|
2559
|
+
"name": "mountField",
|
|
2560
|
+
"package": "@fundamental-engine/vanilla"
|
|
2561
|
+
}
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"kind": "js",
|
|
2565
|
+
"name": "MountOptions",
|
|
2566
|
+
"declaration": {
|
|
2567
|
+
"name": "MountOptions",
|
|
2568
|
+
"package": "@fundamental-engine/vanilla"
|
|
2569
|
+
}
|
|
2570
|
+
}
|
|
2571
|
+
]
|
|
2572
|
+
},
|
|
2573
|
+
{
|
|
2574
|
+
"kind": "javascript-module",
|
|
2575
|
+
"path": "src/platform-runtime.ts",
|
|
2576
|
+
"declarations": [
|
|
2577
|
+
{
|
|
2578
|
+
"kind": "function",
|
|
2579
|
+
"name": "syncBodies",
|
|
2580
|
+
"return": {
|
|
2581
|
+
"type": {
|
|
2582
|
+
"text": "number"
|
|
2583
|
+
}
|
|
2584
|
+
},
|
|
2585
|
+
"parameters": [
|
|
2586
|
+
{
|
|
2587
|
+
"name": "sink",
|
|
2588
|
+
"type": {
|
|
2589
|
+
"text": "MeasureSink"
|
|
2590
|
+
}
|
|
2591
|
+
},
|
|
2592
|
+
{
|
|
2593
|
+
"name": "root",
|
|
2594
|
+
"type": {
|
|
2595
|
+
"text": "ParentNode"
|
|
2596
|
+
}
|
|
2597
|
+
}
|
|
2598
|
+
],
|
|
2599
|
+
"description": "Sync the scan root's body elements into the MeasurementRegistry (D2). New `[data-body]` /\n`[data-preset]` / `[data-intent]` / `[data-field-role]` elements are registered for measurement;\ndisconnected ones are pruned by the read phase. Returns how many were newly registered. Pure given\nthe sink + root — the selector is core's `bodyElements`, so the platform never drifts from the\nlegacy scanner. Note (D2): an element that loses its body attribute while staying connected is not\nyet unregistered — a later refinement; today the legacy engine remains the source of truth for\nrendering, so this is measurement-only and has no observable effect."
|
|
2600
|
+
},
|
|
2601
|
+
{
|
|
2602
|
+
"kind": "function",
|
|
2603
|
+
"name": "registerShadowBody",
|
|
2604
|
+
"return": {
|
|
2605
|
+
"type": {
|
|
2606
|
+
"text": "void"
|
|
2607
|
+
}
|
|
2608
|
+
},
|
|
2609
|
+
"parameters": [
|
|
2610
|
+
{
|
|
2611
|
+
"name": "sink",
|
|
2612
|
+
"type": {
|
|
2613
|
+
"text": "MeasureSink"
|
|
2614
|
+
}
|
|
2615
|
+
},
|
|
2616
|
+
{
|
|
2617
|
+
"name": "detail",
|
|
2618
|
+
"type": {
|
|
2619
|
+
"text": "RegisterBodyDetail | undefined"
|
|
2620
|
+
}
|
|
2621
|
+
}
|
|
2622
|
+
],
|
|
2623
|
+
"description": "Register a shadow-DOM host for measurement from a `register-body` event detail (D4). The host's\ncustom `getRect` (for closed roots / inner cores) flows straight into MeasurementRegistry's rect\noverride. Pure given the sink + detail. `syncBodies`' `if (!has)` guard means it won't clobber a\nhost registered here, so the two discovery paths coexist (the legacy engine still drives the\nbody's simulation; the platform owns its geometry)."
|
|
2624
|
+
},
|
|
2625
|
+
{
|
|
2626
|
+
"kind": "function",
|
|
2627
|
+
"name": "unregisterShadowBody",
|
|
2628
|
+
"return": {
|
|
2629
|
+
"type": {
|
|
2630
|
+
"text": "void"
|
|
2631
|
+
}
|
|
2632
|
+
},
|
|
2633
|
+
"parameters": [
|
|
2634
|
+
{
|
|
2635
|
+
"name": "sink",
|
|
2636
|
+
"type": {
|
|
2637
|
+
"text": "MeasureSink"
|
|
2638
|
+
}
|
|
2639
|
+
},
|
|
2640
|
+
{
|
|
2641
|
+
"name": "detail",
|
|
2642
|
+
"type": {
|
|
2643
|
+
"text": "RegisterBodyDetail | undefined"
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
],
|
|
2647
|
+
"description": "Unregister a shadow-DOM host from measurement on its `unregister-body` event (D4). Pure."
|
|
2648
|
+
},
|
|
2649
|
+
{
|
|
2650
|
+
"kind": "function",
|
|
2651
|
+
"name": "shouldDiscoverRelationships",
|
|
2652
|
+
"return": {
|
|
2653
|
+
"type": {
|
|
2654
|
+
"text": "boolean"
|
|
2655
|
+
}
|
|
2656
|
+
},
|
|
2657
|
+
"parameters": [
|
|
2658
|
+
{
|
|
2659
|
+
"name": "frame",
|
|
2660
|
+
"type": {
|
|
2661
|
+
"text": "number"
|
|
2662
|
+
}
|
|
2663
|
+
},
|
|
2664
|
+
{
|
|
2665
|
+
"name": "every",
|
|
2666
|
+
"default": "30"
|
|
2667
|
+
}
|
|
2668
|
+
],
|
|
2669
|
+
"description": "Relationship discovery is heavier than body syncing (it builds graph edges from every native\nlink), so the runtime re-discovers on a throttle rather than every frame (D5). Pure."
|
|
2670
|
+
},
|
|
2671
|
+
{
|
|
2672
|
+
"kind": "function",
|
|
2673
|
+
"name": "usePlatformRuntime",
|
|
2674
|
+
"return": {
|
|
2675
|
+
"type": {
|
|
2676
|
+
"text": "void"
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2679
|
+
"parameters": [
|
|
2680
|
+
{
|
|
2681
|
+
"name": "on",
|
|
2682
|
+
"default": "true"
|
|
2683
|
+
}
|
|
2684
|
+
],
|
|
2685
|
+
"description": "Enable (or disable) the platform runtime for every `<field-root>` by default (D6: default on)."
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
"kind": "function",
|
|
2689
|
+
"name": "isPlatformRuntimeDefault",
|
|
2690
|
+
"return": {
|
|
2691
|
+
"type": {
|
|
2692
|
+
"text": "boolean"
|
|
2693
|
+
}
|
|
2694
|
+
},
|
|
2695
|
+
"description": "Whether the platform runtime is the current default."
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
"kind": "function",
|
|
2699
|
+
"name": "shouldUsePlatformRuntime",
|
|
2700
|
+
"return": {
|
|
2701
|
+
"type": {
|
|
2702
|
+
"text": "boolean"
|
|
2703
|
+
}
|
|
2704
|
+
},
|
|
2705
|
+
"parameters": [
|
|
2706
|
+
{
|
|
2707
|
+
"name": "el",
|
|
2708
|
+
"type": {
|
|
2709
|
+
"text": "{ getAttribute(name: string): string | null; hasAttribute(name: string): boolean }"
|
|
2710
|
+
}
|
|
2711
|
+
},
|
|
2712
|
+
{
|
|
2713
|
+
"name": "def",
|
|
2714
|
+
"default": "runtimeDefault"
|
|
2715
|
+
}
|
|
2716
|
+
],
|
|
2717
|
+
"description": "Decide whether an element should use the platform runtime: an explicit `experimental-platform`\nattribute opts a single element in/out (`=\"off\"` forces the legacy path), otherwise the global\ndefault applies (on since D6). Pure — the element's only branch point."
|
|
2718
|
+
},
|
|
2719
|
+
{
|
|
2720
|
+
"kind": "function",
|
|
2721
|
+
"name": "makeFeedbackSink",
|
|
2722
|
+
"return": {
|
|
2723
|
+
"type": {
|
|
2724
|
+
"text": "FeedbackSink"
|
|
2725
|
+
}
|
|
2726
|
+
},
|
|
2727
|
+
"parameters": [
|
|
2728
|
+
{
|
|
2729
|
+
"name": "platform",
|
|
2730
|
+
"type": {
|
|
2731
|
+
"text": "FieldPlatform"
|
|
2732
|
+
}
|
|
2733
|
+
}
|
|
2734
|
+
],
|
|
2735
|
+
"description": "Build a feedback sink (D3) that routes the engine's per-body channels through the platform's\nFeedbackRegistry. The eased density value is the engine's own — only the *write* moves — so the\nsignal is preserved exactly. Writes apply on the platform's write phase (its scheduler tick).\n\nSince #228 the sink contract is the engine's ONLY write path: with no sink configured,\n`createField` installs an internal default sink (`core/feedback-sink.ts`) whose direct writes are\nbyte-identical to the engine's historical behavior. This platform sink replaces that default when\nthe runtime is on, moving the same channels onto FeedbackRegistry (write-phase batching,\n`cssWritesLastFrame()` accounting, governor throttling)."
|
|
2736
|
+
},
|
|
2737
|
+
{
|
|
2738
|
+
"kind": "function",
|
|
2739
|
+
"name": "startPlatformRuntime",
|
|
2740
|
+
"return": {
|
|
2741
|
+
"type": {
|
|
2742
|
+
"text": "PlatformRuntime"
|
|
2743
|
+
}
|
|
2744
|
+
},
|
|
2745
|
+
"parameters": [
|
|
2746
|
+
{
|
|
2747
|
+
"name": "root",
|
|
2748
|
+
"type": {
|
|
2749
|
+
"text": "Element"
|
|
2750
|
+
}
|
|
2751
|
+
}
|
|
2752
|
+
],
|
|
2753
|
+
"description": "Start the platform runtime over a scan root. Thin DOM glue (rAF + viewport size); SSR-safe — with\nno `window` it returns a created-but-idle platform. D2+ register bodies/feedback/relationships\nhere; D1 measures only the root."
|
|
2754
|
+
}
|
|
2755
|
+
],
|
|
2756
|
+
"exports": [
|
|
2757
|
+
{
|
|
2758
|
+
"kind": "js",
|
|
2759
|
+
"name": "syncBodies",
|
|
2760
|
+
"declaration": {
|
|
2761
|
+
"name": "syncBodies",
|
|
2762
|
+
"module": "src/platform-runtime.ts"
|
|
2763
|
+
}
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"kind": "js",
|
|
2767
|
+
"name": "registerShadowBody",
|
|
2768
|
+
"declaration": {
|
|
2769
|
+
"name": "registerShadowBody",
|
|
2770
|
+
"module": "src/platform-runtime.ts"
|
|
2771
|
+
}
|
|
2772
|
+
},
|
|
2773
|
+
{
|
|
2774
|
+
"kind": "js",
|
|
2775
|
+
"name": "unregisterShadowBody",
|
|
2776
|
+
"declaration": {
|
|
2777
|
+
"name": "unregisterShadowBody",
|
|
2778
|
+
"module": "src/platform-runtime.ts"
|
|
2779
|
+
}
|
|
2780
|
+
},
|
|
2781
|
+
{
|
|
2782
|
+
"kind": "js",
|
|
2783
|
+
"name": "shouldDiscoverRelationships",
|
|
2784
|
+
"declaration": {
|
|
2785
|
+
"name": "shouldDiscoverRelationships",
|
|
2786
|
+
"module": "src/platform-runtime.ts"
|
|
2787
|
+
}
|
|
2788
|
+
},
|
|
2789
|
+
{
|
|
2790
|
+
"kind": "js",
|
|
2791
|
+
"name": "usePlatformRuntime",
|
|
2792
|
+
"declaration": {
|
|
2793
|
+
"name": "usePlatformRuntime",
|
|
2794
|
+
"module": "src/platform-runtime.ts"
|
|
2795
|
+
}
|
|
2796
|
+
},
|
|
2797
|
+
{
|
|
2798
|
+
"kind": "js",
|
|
2799
|
+
"name": "isPlatformRuntimeDefault",
|
|
2800
|
+
"declaration": {
|
|
2801
|
+
"name": "isPlatformRuntimeDefault",
|
|
2802
|
+
"module": "src/platform-runtime.ts"
|
|
2803
|
+
}
|
|
2804
|
+
},
|
|
2805
|
+
{
|
|
2806
|
+
"kind": "js",
|
|
2807
|
+
"name": "shouldUsePlatformRuntime",
|
|
2808
|
+
"declaration": {
|
|
2809
|
+
"name": "shouldUsePlatformRuntime",
|
|
2810
|
+
"module": "src/platform-runtime.ts"
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
{
|
|
2814
|
+
"kind": "js",
|
|
2815
|
+
"name": "makeFeedbackSink",
|
|
2816
|
+
"declaration": {
|
|
2817
|
+
"name": "makeFeedbackSink",
|
|
2818
|
+
"module": "src/platform-runtime.ts"
|
|
2819
|
+
}
|
|
2820
|
+
},
|
|
2821
|
+
{
|
|
2822
|
+
"kind": "js",
|
|
2823
|
+
"name": "startPlatformRuntime",
|
|
2824
|
+
"declaration": {
|
|
2825
|
+
"name": "startPlatformRuntime",
|
|
2826
|
+
"module": "src/platform-runtime.ts"
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
]
|
|
2830
|
+
}
|
|
2831
|
+
]
|
|
2832
|
+
}
|