@fundamental-engine/core 0.4.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/LICENSE +21 -0
- package/README.md +128 -0
- package/dist/agents/element-agent.d.ts +38 -0
- package/dist/agents/element-agent.d.ts.map +1 -0
- package/dist/agents/element-agent.js +70 -0
- package/dist/agents/element-agent.js.map +1 -0
- package/dist/agents/event-agent.d.ts +47 -0
- package/dist/agents/event-agent.d.ts.map +1 -0
- package/dist/agents/event-agent.js +82 -0
- package/dist/agents/event-agent.js.map +1 -0
- package/dist/agents/index.d.ts +17 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +57 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/region-agents.d.ts +40 -0
- package/dist/agents/region-agents.d.ts.map +1 -0
- package/dist/agents/region-agents.js +22 -0
- package/dist/agents/region-agents.js.map +1 -0
- package/dist/agents/relationship.d.ts +55 -0
- package/dist/agents/relationship.d.ts.map +1 -0
- package/dist/agents/relationship.js +40 -0
- package/dist/agents/relationship.js.map +1 -0
- package/dist/agents/user-agent.d.ts +57 -0
- package/dist/agents/user-agent.d.ts.map +1 -0
- package/dist/agents/user-agent.js +45 -0
- package/dist/agents/user-agent.js.map +1 -0
- package/dist/config/forces.config.d.ts +101 -0
- package/dist/config/forces.config.d.ts.map +1 -0
- package/dist/config/forces.config.js +239 -0
- package/dist/config/forces.config.js.map +1 -0
- package/dist/config/manual.d.ts +134 -0
- package/dist/config/manual.d.ts.map +1 -0
- package/dist/config/manual.js +604 -0
- package/dist/config/manual.js.map +1 -0
- package/dist/config/palettes.d.ts +18 -0
- package/dist/config/palettes.d.ts.map +1 -0
- package/dist/config/palettes.js +34 -0
- package/dist/config/palettes.js.map +1 -0
- package/dist/config/presets.d.ts +48 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +87 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/tokens.d.ts +3 -0
- package/dist/config/tokens.d.ts.map +1 -0
- package/dist/config/tokens.js +16 -0
- package/dist/config/tokens.js.map +1 -0
- package/dist/conformance/expectations.d.ts +40 -0
- package/dist/conformance/expectations.d.ts.map +1 -0
- package/dist/conformance/expectations.js +347 -0
- package/dist/conformance/expectations.js.map +1 -0
- package/dist/conformance/experiments.d.ts +17 -0
- package/dist/conformance/experiments.d.ts.map +1 -0
- package/dist/conformance/experiments.js +875 -0
- package/dist/conformance/experiments.js.map +1 -0
- package/dist/conformance/run.d.ts +18 -0
- package/dist/conformance/run.d.ts.map +1 -0
- package/dist/conformance/run.js +240 -0
- package/dist/conformance/run.js.map +1 -0
- package/dist/conformance/types.d.ts +100 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +2 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/contracts/guards.d.ts +51 -0
- package/dist/contracts/guards.d.ts.map +1 -0
- package/dist/contracts/guards.js +100 -0
- package/dist/contracts/guards.js.map +1 -0
- package/dist/contracts/index.d.ts +18 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +107 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/passport.d.ts +88 -0
- package/dist/contracts/passport.d.ts.map +1 -0
- package/dist/contracts/passport.js +135 -0
- package/dist/contracts/passport.js.map +1 -0
- package/dist/contracts/types.d.ts +120 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +24 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/accretion.d.ts +50 -0
- package/dist/core/accretion.d.ts.map +1 -0
- package/dist/core/accretion.js +98 -0
- package/dist/core/accretion.js.map +1 -0
- package/dist/core/agents.d.ts +31 -0
- package/dist/core/agents.d.ts.map +1 -0
- package/dist/core/agents.js +51 -0
- package/dist/core/agents.js.map +1 -0
- package/dist/core/attention.d.ts +72 -0
- package/dist/core/attention.d.ts.map +1 -0
- package/dist/core/attention.js +122 -0
- package/dist/core/attention.js.map +1 -0
- package/dist/core/causality.d.ts +38 -0
- package/dist/core/causality.d.ts.map +1 -0
- package/dist/core/causality.js +64 -0
- package/dist/core/causality.js.map +1 -0
- package/dist/core/conditions.d.ts +10 -0
- package/dist/core/conditions.d.ts.map +1 -0
- package/dist/core/conditions.js +22 -0
- package/dist/core/conditions.js.map +1 -0
- package/dist/core/currents.d.ts +53 -0
- package/dist/core/currents.d.ts.map +1 -0
- package/dist/core/currents.js +65 -0
- package/dist/core/currents.js.map +1 -0
- package/dist/core/dock.d.ts +35 -0
- package/dist/core/dock.d.ts.map +1 -0
- package/dist/core/dock.js +39 -0
- package/dist/core/dock.js.map +1 -0
- package/dist/core/events.d.ts +23 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +34 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/feedback-sink.d.ts +32 -0
- package/dist/core/feedback-sink.d.ts.map +1 -0
- package/dist/core/feedback-sink.js +53 -0
- package/dist/core/feedback-sink.js.map +1 -0
- package/dist/core/feedback.d.ts +11 -0
- package/dist/core/feedback.d.ts.map +1 -0
- package/dist/core/feedback.js +16 -0
- package/dist/core/feedback.js.map +1 -0
- package/dist/core/field-store.d.ts +26 -0
- package/dist/core/field-store.d.ts.map +1 -0
- package/dist/core/field-store.js +54 -0
- package/dist/core/field-store.js.map +1 -0
- package/dist/core/field.d.ts +18 -0
- package/dist/core/field.d.ts.map +1 -0
- package/dist/core/field.js +1943 -0
- package/dist/core/field.js.map +1 -0
- package/dist/core/fieldline-seeds.d.ts +25 -0
- package/dist/core/fieldline-seeds.d.ts.map +1 -0
- package/dist/core/fieldline-seeds.js +32 -0
- package/dist/core/fieldline-seeds.js.map +1 -0
- package/dist/core/fieldlines.d.ts +75 -0
- package/dist/core/fieldlines.d.ts.map +1 -0
- package/dist/core/fieldlines.js +111 -0
- package/dist/core/fieldlines.js.map +1 -0
- package/dist/core/flow.d.ts +38 -0
- package/dist/core/flow.d.ts.map +1 -0
- package/dist/core/flow.js +27 -0
- package/dist/core/flow.js.map +1 -0
- package/dist/core/formations.d.ts +11 -0
- package/dist/core/formations.d.ts.map +1 -0
- package/dist/core/formations.js +22 -0
- package/dist/core/formations.js.map +1 -0
- package/dist/core/geometry.d.ts +67 -0
- package/dist/core/geometry.d.ts.map +1 -0
- package/dist/core/geometry.js +68 -0
- package/dist/core/geometry.js.map +1 -0
- package/dist/core/heatmap.d.ts +22 -0
- package/dist/core/heatmap.d.ts.map +1 -0
- package/dist/core/heatmap.js +55 -0
- package/dist/core/heatmap.js.map +1 -0
- package/dist/core/host.d.ts +46 -0
- package/dist/core/host.d.ts.map +1 -0
- package/dist/core/host.js +11 -0
- package/dist/core/host.js.map +1 -0
- package/dist/core/integrator.d.ts +24 -0
- package/dist/core/integrator.d.ts.map +1 -0
- package/dist/core/integrator.js +375 -0
- package/dist/core/integrator.js.map +1 -0
- package/dist/core/math.d.ts +37 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +77 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/reactions.d.ts +32 -0
- package/dist/core/reactions.d.ts.map +1 -0
- package/dist/core/reactions.js +45 -0
- package/dist/core/reactions.js.map +1 -0
- package/dist/core/registry.d.ts +13 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +20 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/render-backend.d.ts +46 -0
- package/dist/core/render-backend.d.ts.map +1 -0
- package/dist/core/render-backend.js +75 -0
- package/dist/core/render-backend.js.map +1 -0
- package/dist/core/render-modes.d.ts +42 -0
- package/dist/core/render-modes.d.ts.map +1 -0
- package/dist/core/render-modes.js +141 -0
- package/dist/core/render-modes.js.map +1 -0
- package/dist/core/reservoir.d.ts +43 -0
- package/dist/core/reservoir.d.ts.map +1 -0
- package/dist/core/reservoir.js +207 -0
- package/dist/core/reservoir.js.map +1 -0
- package/dist/core/scalar-grid.d.ts +51 -0
- package/dist/core/scalar-grid.d.ts.map +1 -0
- package/dist/core/scalar-grid.js +146 -0
- package/dist/core/scalar-grid.js.map +1 -0
- package/dist/core/scanner.d.ts +59 -0
- package/dist/core/scanner.d.ts.map +1 -0
- package/dist/core/scanner.js +260 -0
- package/dist/core/scanner.js.map +1 -0
- package/dist/core/shadow.d.ts +69 -0
- package/dist/core/shadow.d.ts.map +1 -0
- package/dist/core/shadow.js +84 -0
- package/dist/core/shadow.js.map +1 -0
- package/dist/core/spatial-hash.d.ts +30 -0
- package/dist/core/spatial-hash.d.ts.map +1 -0
- package/dist/core/spatial-hash.js +64 -0
- package/dist/core/spatial-hash.js.map +1 -0
- package/dist/core/streamlines.d.ts +29 -0
- package/dist/core/streamlines.d.ts.map +1 -0
- package/dist/core/streamlines.js +70 -0
- package/dist/core/streamlines.js.map +1 -0
- package/dist/core/surface.d.ts +19 -0
- package/dist/core/surface.d.ts.map +1 -0
- package/dist/core/surface.js +21 -0
- package/dist/core/surface.js.map +1 -0
- package/dist/core/temporal.d.ts +110 -0
- package/dist/core/temporal.d.ts.map +1 -0
- package/dist/core/temporal.js +139 -0
- package/dist/core/temporal.js.map +1 -0
- package/dist/core/thermo.d.ts +48 -0
- package/dist/core/thermo.d.ts.map +1 -0
- package/dist/core/thermo.js +48 -0
- package/dist/core/thermo.js.map +1 -0
- package/dist/core/types.d.ts +610 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/weights.d.ts +111 -0
- package/dist/core/weights.d.ts.map +1 -0
- package/dist/core/weights.js +128 -0
- package/dist/core/weights.js.map +1 -0
- package/dist/diagnostics/energy.d.ts +21 -0
- package/dist/diagnostics/energy.d.ts.map +1 -0
- package/dist/diagnostics/energy.js +27 -0
- package/dist/diagnostics/energy.js.map +1 -0
- package/dist/diagnostics/fields.d.ts +23 -0
- package/dist/diagnostics/fields.d.ts.map +1 -0
- package/dist/diagnostics/fields.js +30 -0
- package/dist/diagnostics/fields.js.map +1 -0
- package/dist/diagnostics/index.d.ts +46 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +23 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/diagnostics/modes.d.ts +108 -0
- package/dist/diagnostics/modes.d.ts.map +1 -0
- package/dist/diagnostics/modes.js +181 -0
- package/dist/diagnostics/modes.js.map +1 -0
- package/dist/diagnostics/potential.d.ts +30 -0
- package/dist/diagnostics/potential.d.ts.map +1 -0
- package/dist/diagnostics/potential.js +43 -0
- package/dist/diagnostics/potential.js.map +1 -0
- package/dist/diagnostics/probes.d.ts +31 -0
- package/dist/diagnostics/probes.d.ts.map +1 -0
- package/dist/diagnostics/probes.js +61 -0
- package/dist/diagnostics/probes.js.map +1 -0
- package/dist/diagnostics/render.d.ts +49 -0
- package/dist/diagnostics/render.d.ts.map +1 -0
- package/dist/diagnostics/render.js +132 -0
- package/dist/diagnostics/render.js.map +1 -0
- package/dist/export.d.ts +18 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +17 -0
- package/dist/export.js.map +1 -0
- package/dist/forces/extended.d.ts +121 -0
- package/dist/forces/extended.d.ts.map +1 -0
- package/dist/forces/extended.js +674 -0
- package/dist/forces/extended.js.map +1 -0
- package/dist/forces/index.d.ts +33 -0
- package/dist/forces/index.d.ts.map +1 -0
- package/dist/forces/index.js +237 -0
- package/dist/forces/index.js.map +1 -0
- package/dist/forces/natural.d.ts +106 -0
- package/dist/forces/natural.d.ts.map +1 -0
- package/dist/forces/natural.js +385 -0
- package/dist/forces/natural.js.map +1 -0
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect/budget.d.ts +17 -0
- package/dist/inspect/budget.d.ts.map +1 -0
- package/dist/inspect/budget.js +19 -0
- package/dist/inspect/budget.js.map +1 -0
- package/dist/inspect/index.d.ts +10 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +10 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/report.d.ts +17 -0
- package/dist/inspect/report.d.ts.map +1 -0
- package/dist/inspect/report.js +44 -0
- package/dist/inspect/report.js.map +1 -0
- package/dist/inspect/snapshot.d.ts +21 -0
- package/dist/inspect/snapshot.d.ts.map +1 -0
- package/dist/inspect/snapshot.js +30 -0
- package/dist/inspect/snapshot.js.map +1 -0
- package/dist/recipes/catalog.d.ts +51 -0
- package/dist/recipes/catalog.d.ts.map +1 -0
- package/dist/recipes/catalog.js +1496 -0
- package/dist/recipes/catalog.js.map +1 -0
- package/dist/recipes/charge.d.ts +18 -0
- package/dist/recipes/charge.d.ts.map +1 -0
- package/dist/recipes/charge.js +27 -0
- package/dist/recipes/charge.js.map +1 -0
- package/dist/recipes/compile.d.ts +93 -0
- package/dist/recipes/compile.d.ts.map +1 -0
- package/dist/recipes/compile.js +113 -0
- package/dist/recipes/compile.js.map +1 -0
- package/dist/recipes/explain.d.ts +8 -0
- package/dist/recipes/explain.d.ts.map +1 -0
- package/dist/recipes/explain.js +46 -0
- package/dist/recipes/explain.js.map +1 -0
- package/dist/recipes/gallery.d.ts +6 -0
- package/dist/recipes/gallery.d.ts.map +1 -0
- package/dist/recipes/gallery.js +6 -0
- package/dist/recipes/gallery.js.map +1 -0
- package/dist/recipes/gravity.d.ts +16 -0
- package/dist/recipes/gravity.d.ts.map +1 -0
- package/dist/recipes/gravity.js +27 -0
- package/dist/recipes/gravity.js.map +1 -0
- package/dist/recipes/index.d.ts +18 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +36 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/intent.d.ts +44 -0
- package/dist/recipes/intent.d.ts.map +1 -0
- package/dist/recipes/intent.js +46 -0
- package/dist/recipes/intent.js.map +1 -0
- package/dist/recipes/schema.d.ts +103 -0
- package/dist/recipes/schema.d.ts.map +1 -0
- package/dist/recipes/schema.js +123 -0
- package/dist/recipes/schema.js.map +1 -0
- package/dist/recipes/wayfinding.d.ts +39 -0
- package/dist/recipes/wayfinding.d.ts.map +1 -0
- package/dist/recipes/wayfinding.js +77 -0
- package/dist/recipes/wayfinding.js.map +1 -0
- package/dist/semantic/index.d.ts +13 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/index.js +31 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/layers.d.ts +24 -0
- package/dist/semantic/layers.d.ts.map +1 -0
- package/dist/semantic/layers.js +27 -0
- package/dist/semantic/layers.js.map +1 -0
- package/dist/semantic/materials.d.ts +20 -0
- package/dist/semantic/materials.d.ts.map +1 -0
- package/dist/semantic/materials.js +17 -0
- package/dist/semantic/materials.js.map +1 -0
- package/dist/semantic/states.d.ts +11 -0
- package/dist/semantic/states.d.ts.map +1 -0
- package/dist/semantic/states.js +26 -0
- package/dist/semantic/states.js.map +1 -0
- package/dist/visual/channels.d.ts +71 -0
- package/dist/visual/channels.d.ts.map +1 -0
- package/dist/visual/channels.js +70 -0
- package/dist/visual/channels.js.map +1 -0
- package/dist/visual/index.d.ts +39 -0
- package/dist/visual/index.d.ts.map +1 -0
- package/dist/visual/index.js +30 -0
- package/dist/visual/index.js.map +1 -0
- package/dist/visual/lint.d.ts +41 -0
- package/dist/visual/lint.d.ts.map +1 -0
- package/dist/visual/lint.js +58 -0
- package/dist/visual/lint.js.map +1 -0
- package/dist/visual/mapping.d.ts +13 -0
- package/dist/visual/mapping.d.ts.map +1 -0
- package/dist/visual/mapping.js +43 -0
- package/dist/visual/mapping.js.map +1 -0
- package/dist/visual/semantic-text.d.ts +28 -0
- package/dist/visual/semantic-text.d.ts.map +1 -0
- package/dist/visual/semantic-text.js +36 -0
- package/dist/visual/semantic-text.js.map +1 -0
- package/dist/visual/tokens.d.ts +23 -0
- package/dist/visual/tokens.d.ts.map +1 -0
- package/dist/visual/tokens.js +54 -0
- package/dist/visual/tokens.js.map +1 -0
- package/dist/visual/visualization.d.ts +31 -0
- package/dist/visual/visualization.d.ts.map +1 -0
- package/dist/visual/visualization.js +47 -0
- package/dist/visual/visualization.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field design tokens, roles, and the output-variable catalog (worldclass §11/§12, interaction
|
|
3
|
+
* §5/§11/§13). Tuning knobs as `--field-*` custom properties, the `data-field-role` value set, and
|
|
4
|
+
* the full list of `--field-*` variables the field can write back (including the attention/memory
|
|
5
|
+
* sub-variables). Pure data + a CSS string builder. (Distinct from `config/tokens.ts`, which is the
|
|
6
|
+
* force-palette token set.)
|
|
7
|
+
*/
|
|
8
|
+
/** Field tuning tokens (worldclass §11), field-first names. */
|
|
9
|
+
export const FIELD_DESIGN_TOKENS = {
|
|
10
|
+
'--field-motion-calm': '0.2',
|
|
11
|
+
'--field-motion-active': '0.8',
|
|
12
|
+
'--field-range-sm': '180px',
|
|
13
|
+
'--field-range-md': '320px',
|
|
14
|
+
'--field-range-lg': '520px',
|
|
15
|
+
'--field-density-soft': '0.25',
|
|
16
|
+
'--field-density-lit': '0.65',
|
|
17
|
+
'--field-entropy-warning': '0.72',
|
|
18
|
+
};
|
|
19
|
+
/** The design tokens as a CSS rule (drop into a stylesheet). */
|
|
20
|
+
export function fieldTokensCss(selector = ':root') {
|
|
21
|
+
const body = Object.entries(FIELD_DESIGN_TOKENS)
|
|
22
|
+
.map(([k, v]) => ` ${k}: ${v};`)
|
|
23
|
+
.join('\n');
|
|
24
|
+
return `${selector} {\n${body}\n}`;
|
|
25
|
+
}
|
|
26
|
+
/** Field roles (worldclass §12) — `data-field-role` values. */
|
|
27
|
+
export const FIELD_ROLES = ['source', 'sink', 'anchor', 'boundary', 'sensor', 'display'];
|
|
28
|
+
/** Whether a string is a known field role. */
|
|
29
|
+
export function isFieldRole(s) {
|
|
30
|
+
return FIELD_ROLES.includes(s);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The full `--field-*` output-variable catalog the field can write back, including the attention
|
|
34
|
+
* and memory sub-variables (interaction §5/§11/§13) and layout shift. The core loop writes the
|
|
35
|
+
* primary metrics today; the sub-vars are the agreed names for the agent layer to emit.
|
|
36
|
+
*/
|
|
37
|
+
export const FIELD_OUTPUT_VARS = [
|
|
38
|
+
'--field-density',
|
|
39
|
+
'--field-attention',
|
|
40
|
+
'--field-heat',
|
|
41
|
+
'--field-entropy',
|
|
42
|
+
'--field-coherence',
|
|
43
|
+
'--field-memory',
|
|
44
|
+
'--field-pressure',
|
|
45
|
+
'--field-pull-x',
|
|
46
|
+
'--field-pull-y',
|
|
47
|
+
'--field-attention-share',
|
|
48
|
+
'--field-attention-rank',
|
|
49
|
+
'--field-related-attention',
|
|
50
|
+
'--field-path-use',
|
|
51
|
+
'--field-user-wake',
|
|
52
|
+
'--field-layout-shift',
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/visual/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAqC;IACnE,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,KAAK;IAC9B,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,yBAAyB,EAAE,MAAM;CAClC,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,QAAQ,GAAG,OAAO;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,GAAG,QAAQ,OAAO,IAAI,KAAK,CAAC;AACrC,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAGlG,8CAA8C;AAC9C,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAQ,WAAiC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;CACd,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The visualization truth table + render-mode catalog + presets (visualization-methods-taxonomy,
|
|
3
|
+
* system-contracts §11/§18). "Every render mode needs a truth-table entry" — this is that table as
|
|
4
|
+
* inspectable data: what each visualization reads, whether it mutates physics, and the truth it
|
|
5
|
+
* shows. Pure data.
|
|
6
|
+
*/
|
|
7
|
+
import type { RenderLayer } from '../recipes/schema.ts';
|
|
8
|
+
/** One row of the visualization truth table (system-contracts §11). */
|
|
9
|
+
export interface VisualizationTruthRow {
|
|
10
|
+
visualization: string;
|
|
11
|
+
/** what it reads from. */
|
|
12
|
+
readsFrom: string;
|
|
13
|
+
/** does it mutate physics? (must be false unless declared feedback). */
|
|
14
|
+
mutatesPhysics: boolean | 'optional' | 'visual';
|
|
15
|
+
/** the truth it reveals. */
|
|
16
|
+
showsTruthAbout: string;
|
|
17
|
+
}
|
|
18
|
+
/** The visualization truth table (system-contracts §11, viz-taxonomy "Visualization Truth Table"). */
|
|
19
|
+
export declare const VISUALIZATION_TRUTH_TABLE: readonly VisualizationTruthRow[];
|
|
20
|
+
/** Whether a render mode/layer is shipped today or planned. */
|
|
21
|
+
export interface RenderModeInfo {
|
|
22
|
+
mode: string;
|
|
23
|
+
type: string;
|
|
24
|
+
shows: string;
|
|
25
|
+
status: 'shipped' | 'planned';
|
|
26
|
+
}
|
|
27
|
+
/** The render-modes catalog (viz-taxonomy "Render Modes Catalog"), with honest shipped/planned status. */
|
|
28
|
+
export declare const RENDER_MODES: readonly RenderModeInfo[];
|
|
29
|
+
/** Named visualization presets (viz-taxonomy "Visualization Presets") as render-layer stacks. */
|
|
30
|
+
export declare const VISUALIZATION_PRESETS: Readonly<Record<string, RenderLayer[]>>;
|
|
31
|
+
//# sourceMappingURL=visualization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualization.d.ts","sourceRoot":"","sources":["../../src/visual/visualization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,EAAE,SAAS,qBAAqB,EAcrE,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED,0GAA0G;AAC1G,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EAiBjD,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CASzE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** The visualization truth table (system-contracts §11, viz-taxonomy "Visualization Truth Table"). */
|
|
2
|
+
export const VISUALIZATION_TRUTH_TABLE = [
|
|
3
|
+
{ visualization: 'particles', readsFrom: 'particle state', mutatesPhysics: true, showsTruthAbout: 'matter' },
|
|
4
|
+
{ visualization: 'field-lines', readsFrom: 'field()', mutatesPhysics: false, showsTruthAbout: 'structure' },
|
|
5
|
+
{ visualization: 'streamlines', readsFrom: 'vector field', mutatesPhysics: false, showsTruthAbout: 'continuous direction' },
|
|
6
|
+
{ visualization: 'force-vectors', readsFrom: 'apply() or probe', mutatesPhysics: false, showsTruthAbout: 'cause' },
|
|
7
|
+
{ visualization: 'trails', readsFrom: 'particle history', mutatesPhysics: false, showsTruthAbout: 'motion history' },
|
|
8
|
+
{ visualization: 'heatmap', readsFrom: 'scalar grids', mutatesPhysics: 'optional', showsTruthAbout: 'accumulation' },
|
|
9
|
+
{ visualization: 'contours', readsFrom: 'scalar fields', mutatesPhysics: false, showsTruthAbout: 'terrain / equal values' },
|
|
10
|
+
{ visualization: 'potential', readsFrom: 'potential field', mutatesPhysics: false, showsTruthAbout: 'wells and gradients' },
|
|
11
|
+
{ visualization: 'energy', readsFrom: 'particle + field state', mutatesPhysics: false, showsTruthAbout: 'cost and conservation' },
|
|
12
|
+
{ visualization: 'topology', readsFrom: 'relationship agents', mutatesPhysics: 'optional', showsTruthAbout: 'coupling' },
|
|
13
|
+
{ visualization: 'dom-state', readsFrom: 'CSS variables + events', mutatesPhysics: 'visual', showsTruthAbout: 'reciprocity' },
|
|
14
|
+
{ visualization: 'causality', readsFrom: 'per-force contributions', mutatesPhysics: false, showsTruthAbout: 'why motion happened' },
|
|
15
|
+
{ visualization: 'prediction', readsFrom: 'deterministic ghost step', mutatesPhysics: false, showsTruthAbout: 'expected future path' },
|
|
16
|
+
];
|
|
17
|
+
/** The render-modes catalog (viz-taxonomy "Render Modes Catalog"), with honest shipped/planned status. */
|
|
18
|
+
export const RENDER_MODES = [
|
|
19
|
+
{ mode: 'dots', type: 'matter', shows: 'particle positions and heat', status: 'shipped' },
|
|
20
|
+
{ mode: 'trails', type: 'motion', shows: 'path history', status: 'shipped' },
|
|
21
|
+
{ mode: 'links', type: 'topology', shows: 'connector lines between bodies', status: 'shipped' },
|
|
22
|
+
{ mode: 'streamlines', type: 'structure', shows: 'continuous field paths', status: 'shipped' },
|
|
23
|
+
{ mode: 'metaballs', type: 'matter', shows: 'liquid density surface', status: 'shipped' },
|
|
24
|
+
{ mode: 'voronoi', type: 'matter', shows: 'nearest-site cells', status: 'shipped' },
|
|
25
|
+
{ mode: 'field-lines', type: 'structure', shows: 'field() geometry', status: 'shipped' },
|
|
26
|
+
{ mode: 'heatmap', type: 'scalar', shows: 'density accumulation', status: 'shipped' },
|
|
27
|
+
{ mode: 'force-vectors', type: 'debug', shows: 'actual cause from apply()', status: 'shipped' },
|
|
28
|
+
{ mode: 'contours', type: 'scalar', shows: 'equal-value isolines', status: 'shipped' },
|
|
29
|
+
{ mode: 'potential', type: 'scalar', shows: 'wells and gradients', status: 'shipped' },
|
|
30
|
+
{ mode: 'energy', type: 'scalar', shows: 'kinetic / potential / thermal', status: 'shipped' },
|
|
31
|
+
{ mode: 'topology', type: 'graph', shows: 'threads, flux links', status: 'shipped' },
|
|
32
|
+
{ mode: 'inspector', type: 'debug', shows: 'bodies, agents, metrics, contracts', status: 'shipped' },
|
|
33
|
+
{ mode: 'causality', type: 'debug', shows: 'contribution sources', status: 'shipped' },
|
|
34
|
+
{ mode: 'prediction', type: 'debug', shows: 'ghost trajectory', status: 'shipped' },
|
|
35
|
+
];
|
|
36
|
+
/** Named visualization presets (viz-taxonomy "Visualization Presets") as render-layer stacks. */
|
|
37
|
+
export const VISUALIZATION_PRESETS = {
|
|
38
|
+
beautiful: ['particles', 'trails'],
|
|
39
|
+
scientific: ['field-lines', 'streamlines', 'particles'],
|
|
40
|
+
diagnostic: ['particles', 'field-lines', 'heatmap'],
|
|
41
|
+
thermal: ['heatmap', 'particles', 'trails'],
|
|
42
|
+
plasma: ['field-lines', 'trails', 'particles'],
|
|
43
|
+
topological: ['field-lines', 'links', 'particles'],
|
|
44
|
+
reduced: ['field-lines'], // static structure only — the reduced-motion fallback (no travel)
|
|
45
|
+
poster: ['particles', 'field-lines'],
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=visualization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualization.js","sourceRoot":"","sources":["../../src/visual/visualization.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fundamental-engine/core",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "A reciprocal DOM-physics field — elements bend the field; the field's density bends them back.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Zach Shallbetter <hi@zachshallbetter.com> (https://zachshallbetter.com)",
|
|
8
|
+
"homepage": "https://fundamental-engine.com",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/zachshallbetter/fundamental-engine.git",
|
|
12
|
+
"directory": "packages/core"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/zachshallbetter/fundamental-engine/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"particles",
|
|
19
|
+
"physics",
|
|
20
|
+
"canvas",
|
|
21
|
+
"forces",
|
|
22
|
+
"field",
|
|
23
|
+
"reciprocal",
|
|
24
|
+
"dom",
|
|
25
|
+
"animation",
|
|
26
|
+
"interaction",
|
|
27
|
+
"generative",
|
|
28
|
+
"zero-dependency"
|
|
29
|
+
],
|
|
30
|
+
"sideEffects": false,
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md",
|
|
34
|
+
"LICENSE"
|
|
35
|
+
],
|
|
36
|
+
"main": "./dist/index.js",
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"types": "./dist/index.d.ts",
|
|
41
|
+
"import": "./dist/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./package.json": "./package.json"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=18"
|
|
47
|
+
},
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"typescript": "^5.9.3"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsc -p tsconfig.json",
|
|
56
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
57
|
+
"test": "node --test",
|
|
58
|
+
"bench": "node bench/integrator.bench.ts"
|
|
59
|
+
}
|
|
60
|
+
}
|