@fundamental-engine/core 0.9.3 → 0.9.5
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/dist/config/forces.config.d.ts +1 -1
- package/dist/config/forces.config.d.ts.map +1 -1
- package/dist/config/themes.d.ts +1 -1
- package/dist/conformance/run.d.ts +1 -1
- package/dist/conformance/run.d.ts.map +1 -1
- package/dist/conformance/run.js +6 -6
- package/dist/conformance/run.js.map +1 -1
- package/dist/conformance/types.d.ts +1 -1
- package/dist/conformance/types.d.ts.map +1 -1
- package/dist/contracts/guards.d.ts +1 -1
- package/dist/contracts/guards.d.ts.map +1 -1
- package/dist/contracts/passport.d.ts +1 -1
- package/dist/contracts/passport.d.ts.map +1 -1
- package/dist/diagnostics/energy.d.ts +1 -1
- package/dist/diagnostics/energy.d.ts.map +1 -1
- package/dist/diagnostics/fields.d.ts +1 -1
- package/dist/diagnostics/fields.d.ts.map +1 -1
- package/dist/diagnostics/modes.d.ts +1 -1
- package/dist/diagnostics/modes.d.ts.map +1 -1
- package/dist/diagnostics/modes.js +1 -1
- package/dist/diagnostics/modes.js.map +1 -1
- package/dist/diagnostics/potential.d.ts +1 -1
- package/dist/diagnostics/potential.d.ts.map +1 -1
- package/dist/diagnostics/probes.d.ts +1 -1
- package/dist/diagnostics/probes.d.ts.map +1 -1
- package/dist/diagnostics/probes.js +1 -1
- package/dist/diagnostics/probes.js.map +1 -1
- package/dist/diagnostics/render.d.ts +1 -1
- package/dist/diagnostics/render.d.ts.map +1 -1
- package/dist/engine/accretion.d.ts.map +1 -0
- package/dist/engine/accretion.js.map +1 -0
- package/dist/engine/agents.d.ts.map +1 -0
- package/dist/engine/agents.js.map +1 -0
- package/dist/engine/attention.d.ts.map +1 -0
- package/dist/engine/attention.js.map +1 -0
- package/dist/engine/causality.d.ts.map +1 -0
- package/dist/engine/causality.js.map +1 -0
- package/dist/engine/conditions.d.ts.map +1 -0
- package/dist/engine/conditions.js.map +1 -0
- package/dist/{core → engine}/currents.d.ts +1 -1
- package/dist/engine/currents.d.ts.map +1 -0
- package/dist/engine/currents.js.map +1 -0
- package/dist/engine/dock.d.ts.map +1 -0
- package/dist/engine/dock.js.map +1 -0
- package/dist/{core → engine}/events.d.ts +4 -1
- package/dist/engine/events.d.ts.map +1 -0
- package/dist/{core → engine}/events.js +7 -0
- package/dist/engine/events.js.map +1 -0
- package/dist/engine/feedback-sink.d.ts.map +1 -0
- package/dist/engine/feedback-sink.js.map +1 -0
- package/dist/engine/feedback.d.ts.map +1 -0
- package/dist/engine/feedback.js.map +1 -0
- package/dist/engine/field-snapshot.d.ts.map +1 -0
- package/dist/engine/field-snapshot.js.map +1 -0
- package/dist/engine/field-store.d.ts.map +1 -0
- package/dist/engine/field-store.js.map +1 -0
- package/dist/engine/field.d.ts.map +1 -0
- package/dist/{core → engine}/field.js +147 -1
- package/dist/engine/field.js.map +1 -0
- package/dist/engine/fieldline-seeds.d.ts.map +1 -0
- package/dist/engine/fieldline-seeds.js.map +1 -0
- package/dist/engine/fieldlines.d.ts.map +1 -0
- package/dist/{core → engine}/fieldlines.js +1 -1
- package/dist/engine/fieldlines.js.map +1 -0
- package/dist/engine/flow.d.ts.map +1 -0
- package/dist/engine/flow.js.map +1 -0
- package/dist/engine/formations.d.ts.map +1 -0
- package/dist/engine/formations.js.map +1 -0
- package/dist/engine/frame-harness.d.ts.map +1 -0
- package/dist/engine/frame-harness.js.map +1 -0
- package/dist/engine/governance.d.ts.map +1 -0
- package/dist/engine/governance.js.map +1 -0
- package/dist/engine/heatmap.d.ts.map +1 -0
- package/dist/{core → engine}/heatmap.js +1 -1
- package/dist/engine/heatmap.js.map +1 -0
- package/dist/engine/host-headless.d.ts.map +1 -0
- package/dist/engine/host-headless.js.map +1 -0
- package/dist/engine/host.d.ts.map +1 -0
- package/dist/engine/host.js.map +1 -0
- package/dist/engine/integrator.d.ts.map +1 -0
- package/dist/{core → engine}/integrator.js +5 -3
- package/dist/engine/integrator.js.map +1 -0
- package/dist/engine/lane-registry.d.ts.map +1 -0
- package/dist/engine/lane-registry.js.map +1 -0
- package/dist/engine/projection-agent-json.d.ts.map +1 -0
- package/dist/engine/projection-agent-json.js.map +1 -0
- package/dist/engine/query-lens.d.ts.map +1 -0
- package/dist/engine/query-lens.js.map +1 -0
- package/dist/engine/reactions.d.ts.map +1 -0
- package/dist/engine/reactions.js.map +1 -0
- package/dist/engine/registry.d.ts.map +1 -0
- package/dist/engine/registry.js.map +1 -0
- package/dist/engine/render-backend.d.ts.map +1 -0
- package/dist/engine/render-backend.js.map +1 -0
- package/dist/{core → engine}/render-modes.d.ts +1 -1
- package/dist/engine/render-modes.d.ts.map +1 -0
- package/dist/engine/render-modes.js.map +1 -0
- package/dist/engine/reservoir.d.ts.map +1 -0
- package/dist/engine/reservoir.js.map +1 -0
- package/dist/engine/scalar-grid.d.ts.map +1 -0
- package/dist/engine/scalar-grid.js.map +1 -0
- package/dist/engine/scanner.d.ts.map +1 -0
- package/dist/engine/scanner.js.map +1 -0
- package/dist/engine/shadow.d.ts.map +1 -0
- package/dist/engine/shadow.js.map +1 -0
- package/dist/engine/spatial-hash.d.ts.map +1 -0
- package/dist/engine/spatial-hash.js.map +1 -0
- package/dist/engine/streamlines.d.ts.map +1 -0
- package/dist/engine/streamlines.js.map +1 -0
- package/dist/engine/surface.d.ts.map +1 -0
- package/dist/engine/surface.js.map +1 -0
- package/dist/engine/temporal.d.ts.map +1 -0
- package/dist/engine/temporal.js.map +1 -0
- package/dist/engine/thermo.d.ts.map +1 -0
- package/dist/engine/thermo.js.map +1 -0
- package/dist/{core → engine}/types.d.ts +106 -4
- package/dist/engine/types.d.ts.map +1 -0
- package/dist/engine/types.js.map +1 -0
- package/dist/engine/weights.d.ts.map +1 -0
- package/dist/engine/weights.js.map +1 -0
- package/dist/forces/extended.d.ts +2 -2
- package/dist/forces/extended.d.ts.map +1 -1
- package/dist/forces/extended.js +1 -1
- package/dist/forces/index.d.ts +2 -2
- package/dist/forces/index.d.ts.map +1 -1
- package/dist/forces/natural.d.ts +2 -2
- package/dist/forces/natural.d.ts.map +1 -1
- package/dist/forces/natural.js +1 -1
- package/dist/index.d.ts +39 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -39
- package/dist/index.js.map +1 -1
- package/dist/inspect/report.js +2 -2
- package/dist/inspect/report.js.map +1 -1
- package/dist/{core → math}/geometry.d.ts +1 -1
- package/dist/math/geometry.d.ts.map +1 -0
- package/dist/{core → math}/geometry.js.map +1 -1
- package/dist/{core → math}/math.d.ts.map +1 -1
- package/dist/{core → math}/math.js.map +1 -1
- package/dist/recipes/catalog.d.ts +20 -11
- package/dist/recipes/catalog.d.ts.map +1 -1
- package/dist/recipes/catalog.js +17 -9
- package/dist/recipes/catalog.js.map +1 -1
- package/dist/recipes/compile.d.ts +33 -19
- package/dist/recipes/compile.d.ts.map +1 -1
- package/dist/recipes/compile.js +17 -11
- package/dist/recipes/compile.js.map +1 -1
- package/dist/recipes/focus.d.ts +18 -0
- package/dist/recipes/focus.d.ts.map +1 -0
- package/dist/recipes/focus.js +34 -0
- package/dist/recipes/focus.js.map +1 -0
- package/dist/recipes/index.d.ts +3 -0
- package/dist/recipes/index.d.ts.map +1 -1
- package/dist/recipes/index.js +6 -3
- package/dist/recipes/index.js.map +1 -1
- package/dist/recipes/schema.d.ts +36 -21
- package/dist/recipes/schema.d.ts.map +1 -1
- package/dist/recipes/schema.js +12 -7
- package/dist/recipes/schema.js.map +1 -1
- package/dist/recipes/wayfinding.d.ts +5 -3
- package/dist/recipes/wayfinding.d.ts.map +1 -1
- package/dist/recipes/wayfinding.js +6 -2
- package/dist/recipes/wayfinding.js.map +1 -1
- package/dist/record/record.d.ts +1 -1
- package/dist/record/record.d.ts.map +1 -1
- package/dist/record/record.js +3 -3
- package/dist/record/record.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visual/channels.js +1 -1
- package/dist/visual/mapping.js +1 -1
- package/dist/world/ablation/ablation.d.ts +39 -0
- package/dist/world/ablation/ablation.d.ts.map +1 -0
- package/dist/world/ablation/ablation.js +449 -0
- package/dist/world/ablation/ablation.js.map +1 -0
- package/dist/world/adapters/field-runtime.d.ts +56 -0
- package/dist/world/adapters/field-runtime.d.ts.map +1 -0
- package/dist/world/adapters/field-runtime.js +250 -0
- package/dist/world/adapters/field-runtime.js.map +1 -0
- package/dist/world/adapters/fsm-runtime.d.ts +18 -0
- package/dist/world/adapters/fsm-runtime.d.ts.map +1 -0
- package/dist/world/adapters/fsm-runtime.js +153 -0
- package/dist/world/adapters/fsm-runtime.js.map +1 -0
- package/dist/world/adapters/governor-runtime.d.ts +23 -0
- package/dist/world/adapters/governor-runtime.d.ts.map +1 -0
- package/dist/world/adapters/governor-runtime.js +185 -0
- package/dist/world/adapters/governor-runtime.js.map +1 -0
- package/dist/world/adapters/planner-runtime.d.ts +20 -0
- package/dist/world/adapters/planner-runtime.d.ts.map +1 -0
- package/dist/world/adapters/planner-runtime.js +144 -0
- package/dist/world/adapters/planner-runtime.js.map +1 -0
- package/dist/world/conformance/corpus.d.ts +89 -0
- package/dist/world/conformance/corpus.d.ts.map +1 -0
- package/dist/world/conformance/corpus.js +195 -0
- package/dist/world/conformance/corpus.js.map +1 -0
- package/dist/world/conformance/discoveries.d.ts +50 -0
- package/dist/world/conformance/discoveries.d.ts.map +1 -0
- package/dist/world/conformance/discoveries.js +71 -0
- package/dist/world/conformance/discoveries.js.map +1 -0
- package/dist/world/conformance/evidence.d.ts +37 -0
- package/dist/world/conformance/evidence.d.ts.map +1 -0
- package/dist/world/conformance/evidence.js +53 -0
- package/dist/world/conformance/evidence.js.map +1 -0
- package/dist/world/conformance/negative-results.d.ts +57 -0
- package/dist/world/conformance/negative-results.d.ts.map +1 -0
- package/dist/world/conformance/negative-results.js +73 -0
- package/dist/world/conformance/negative-results.js.map +1 -0
- package/dist/world/conformance/predictions.d.ts +66 -0
- package/dist/world/conformance/predictions.d.ts.map +1 -0
- package/dist/world/conformance/predictions.js +141 -0
- package/dist/world/conformance/predictions.js.map +1 -0
- package/dist/world/cross-substrate.d.ts +19 -0
- package/dist/world/cross-substrate.d.ts.map +1 -0
- package/dist/world/cross-substrate.js +123 -0
- package/dist/world/cross-substrate.js.map +1 -0
- package/dist/world/dynamics.d.ts +166 -0
- package/dist/world/dynamics.d.ts.map +1 -0
- package/dist/world/dynamics.js +30 -0
- package/dist/world/dynamics.js.map +1 -0
- package/dist/world/envelope.d.ts +44 -0
- package/dist/world/envelope.d.ts.map +1 -0
- package/dist/world/envelope.js +77 -0
- package/dist/world/envelope.js.map +1 -0
- package/dist/world/episodes/episodes.d.ts +64 -0
- package/dist/world/episodes/episodes.d.ts.map +1 -0
- package/dist/world/episodes/episodes.js +104 -0
- package/dist/world/episodes/episodes.js.map +1 -0
- package/dist/world/equivalence.d.ts +70 -0
- package/dist/world/equivalence.d.ts.map +1 -0
- package/dist/world/equivalence.js +205 -0
- package/dist/world/equivalence.js.map +1 -0
- package/dist/world/experiments/declarative-dynamics.d.ts +87 -0
- package/dist/world/experiments/declarative-dynamics.d.ts.map +1 -0
- package/dist/world/experiments/declarative-dynamics.js +153 -0
- package/dist/world/experiments/declarative-dynamics.js.map +1 -0
- package/dist/world/governor-equivalence.d.ts +51 -0
- package/dist/world/governor-equivalence.d.ts.map +1 -0
- package/dist/world/governor-equivalence.js +126 -0
- package/dist/world/governor-equivalence.js.map +1 -0
- package/dist/world/kernel.d.ts +49 -0
- package/dist/world/kernel.d.ts.map +1 -0
- package/dist/world/kernel.js +64 -0
- package/dist/world/kernel.js.map +1 -0
- package/dist/world/observatory/capture.d.ts +10 -0
- package/dist/world/observatory/capture.d.ts.map +1 -0
- package/dist/world/observatory/capture.js +371 -0
- package/dist/world/observatory/capture.js.map +1 -0
- package/dist/world/observatory/evidence-log.d.ts +131 -0
- package/dist/world/observatory/evidence-log.d.ts.map +1 -0
- package/dist/world/observatory/evidence-log.js +43 -0
- package/dist/world/observatory/evidence-log.js.map +1 -0
- package/dist/world/opportunity/opportunity.d.ts +85 -0
- package/dist/world/opportunity/opportunity.d.ts.map +1 -0
- package/dist/world/opportunity/opportunity.js +67 -0
- package/dist/world/opportunity/opportunity.js.map +1 -0
- package/dist/world/projection/evidence-profile.d.ts +51 -0
- package/dist/world/projection/evidence-profile.d.ts.map +1 -0
- package/dist/world/projection/evidence-profile.js +93 -0
- package/dist/world/projection/evidence-profile.js.map +1 -0
- package/dist/world/projection/projection.d.ts +162 -0
- package/dist/world/projection/projection.d.ts.map +1 -0
- package/dist/world/projection/projection.js +145 -0
- package/dist/world/projection/projection.js.map +1 -0
- package/dist/world/properties/properties.d.ts +87 -0
- package/dist/world/properties/properties.d.ts.map +1 -0
- package/dist/world/properties/properties.js +172 -0
- package/dist/world/properties/properties.js.map +1 -0
- package/dist/world/substrates/fsm.d.ts +59 -0
- package/dist/world/substrates/fsm.d.ts.map +1 -0
- package/dist/world/substrates/fsm.js +57 -0
- package/dist/world/substrates/fsm.js.map +1 -0
- package/dist/world/substrates/governor.d.ts +53 -0
- package/dist/world/substrates/governor.d.ts.map +1 -0
- package/dist/world/substrates/governor.js +73 -0
- package/dist/world/substrates/governor.js.map +1 -0
- package/dist/world/substrates/planner.d.ts +82 -0
- package/dist/world/substrates/planner.d.ts.map +1 -0
- package/dist/world/substrates/planner.js +114 -0
- package/dist/world/substrates/planner.js.map +1 -0
- package/dist/world/world.d.ts +73 -0
- package/dist/world/world.d.ts.map +1 -0
- package/dist/world/world.js +2 -0
- package/dist/world/world.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/accretion.d.ts.map +0 -1
- package/dist/core/accretion.js.map +0 -1
- package/dist/core/agents.d.ts.map +0 -1
- package/dist/core/agents.js.map +0 -1
- package/dist/core/attention.d.ts.map +0 -1
- package/dist/core/attention.js.map +0 -1
- package/dist/core/causality.d.ts.map +0 -1
- package/dist/core/causality.js.map +0 -1
- package/dist/core/conditions.d.ts.map +0 -1
- package/dist/core/conditions.js.map +0 -1
- package/dist/core/currents.d.ts.map +0 -1
- package/dist/core/currents.js.map +0 -1
- package/dist/core/dock.d.ts.map +0 -1
- package/dist/core/dock.js.map +0 -1
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js.map +0 -1
- package/dist/core/feedback-sink.d.ts.map +0 -1
- package/dist/core/feedback-sink.js.map +0 -1
- package/dist/core/feedback.d.ts.map +0 -1
- package/dist/core/feedback.js.map +0 -1
- package/dist/core/field-snapshot.d.ts.map +0 -1
- package/dist/core/field-snapshot.js.map +0 -1
- package/dist/core/field-store.d.ts.map +0 -1
- package/dist/core/field-store.js.map +0 -1
- package/dist/core/field.d.ts.map +0 -1
- package/dist/core/field.js.map +0 -1
- package/dist/core/fieldline-seeds.d.ts.map +0 -1
- package/dist/core/fieldline-seeds.js.map +0 -1
- package/dist/core/fieldlines.d.ts.map +0 -1
- package/dist/core/fieldlines.js.map +0 -1
- package/dist/core/flow.d.ts.map +0 -1
- package/dist/core/flow.js.map +0 -1
- package/dist/core/formations.d.ts.map +0 -1
- package/dist/core/formations.js.map +0 -1
- package/dist/core/frame-harness.d.ts.map +0 -1
- package/dist/core/frame-harness.js.map +0 -1
- package/dist/core/geometry.d.ts.map +0 -1
- package/dist/core/governance.d.ts.map +0 -1
- package/dist/core/governance.js.map +0 -1
- package/dist/core/heatmap.d.ts.map +0 -1
- package/dist/core/heatmap.js.map +0 -1
- package/dist/core/host-headless.d.ts.map +0 -1
- package/dist/core/host-headless.js.map +0 -1
- package/dist/core/host.d.ts.map +0 -1
- package/dist/core/host.js.map +0 -1
- package/dist/core/integrator.d.ts.map +0 -1
- package/dist/core/integrator.js.map +0 -1
- package/dist/core/lane-registry.d.ts.map +0 -1
- package/dist/core/lane-registry.js.map +0 -1
- package/dist/core/projection-agent-json.d.ts.map +0 -1
- package/dist/core/projection-agent-json.js.map +0 -1
- package/dist/core/query-lens.d.ts.map +0 -1
- package/dist/core/query-lens.js.map +0 -1
- package/dist/core/reactions.d.ts.map +0 -1
- package/dist/core/reactions.js.map +0 -1
- package/dist/core/registry.d.ts.map +0 -1
- package/dist/core/registry.js.map +0 -1
- package/dist/core/render-backend.d.ts.map +0 -1
- package/dist/core/render-backend.js.map +0 -1
- package/dist/core/render-modes.d.ts.map +0 -1
- package/dist/core/render-modes.js.map +0 -1
- package/dist/core/reservoir.d.ts.map +0 -1
- package/dist/core/reservoir.js.map +0 -1
- package/dist/core/scalar-grid.d.ts.map +0 -1
- package/dist/core/scalar-grid.js.map +0 -1
- package/dist/core/scanner.d.ts.map +0 -1
- package/dist/core/scanner.js.map +0 -1
- package/dist/core/shadow.d.ts.map +0 -1
- package/dist/core/shadow.js.map +0 -1
- package/dist/core/spatial-hash.d.ts.map +0 -1
- package/dist/core/spatial-hash.js.map +0 -1
- package/dist/core/streamlines.d.ts.map +0 -1
- package/dist/core/streamlines.js.map +0 -1
- package/dist/core/surface.d.ts.map +0 -1
- package/dist/core/surface.js.map +0 -1
- package/dist/core/temporal.d.ts.map +0 -1
- package/dist/core/temporal.js.map +0 -1
- package/dist/core/thermo.d.ts.map +0 -1
- package/dist/core/thermo.js.map +0 -1
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js.map +0 -1
- package/dist/core/weights.d.ts.map +0 -1
- package/dist/core/weights.js.map +0 -1
- /package/dist/{core → engine}/accretion.d.ts +0 -0
- /package/dist/{core → engine}/accretion.js +0 -0
- /package/dist/{core → engine}/agents.d.ts +0 -0
- /package/dist/{core → engine}/agents.js +0 -0
- /package/dist/{core → engine}/attention.d.ts +0 -0
- /package/dist/{core → engine}/attention.js +0 -0
- /package/dist/{core → engine}/causality.d.ts +0 -0
- /package/dist/{core → engine}/causality.js +0 -0
- /package/dist/{core → engine}/conditions.d.ts +0 -0
- /package/dist/{core → engine}/conditions.js +0 -0
- /package/dist/{core → engine}/currents.js +0 -0
- /package/dist/{core → engine}/dock.d.ts +0 -0
- /package/dist/{core → engine}/dock.js +0 -0
- /package/dist/{core → engine}/feedback-sink.d.ts +0 -0
- /package/dist/{core → engine}/feedback-sink.js +0 -0
- /package/dist/{core → engine}/feedback.d.ts +0 -0
- /package/dist/{core → engine}/feedback.js +0 -0
- /package/dist/{core → engine}/field-snapshot.d.ts +0 -0
- /package/dist/{core → engine}/field-snapshot.js +0 -0
- /package/dist/{core → engine}/field-store.d.ts +0 -0
- /package/dist/{core → engine}/field-store.js +0 -0
- /package/dist/{core → engine}/field.d.ts +0 -0
- /package/dist/{core → engine}/fieldline-seeds.d.ts +0 -0
- /package/dist/{core → engine}/fieldline-seeds.js +0 -0
- /package/dist/{core → engine}/fieldlines.d.ts +0 -0
- /package/dist/{core → engine}/flow.d.ts +0 -0
- /package/dist/{core → engine}/flow.js +0 -0
- /package/dist/{core → engine}/formations.d.ts +0 -0
- /package/dist/{core → engine}/formations.js +0 -0
- /package/dist/{core → engine}/frame-harness.d.ts +0 -0
- /package/dist/{core → engine}/frame-harness.js +0 -0
- /package/dist/{core → engine}/governance.d.ts +0 -0
- /package/dist/{core → engine}/governance.js +0 -0
- /package/dist/{core → engine}/heatmap.d.ts +0 -0
- /package/dist/{core → engine}/host-headless.d.ts +0 -0
- /package/dist/{core → engine}/host-headless.js +0 -0
- /package/dist/{core → engine}/host.d.ts +0 -0
- /package/dist/{core → engine}/host.js +0 -0
- /package/dist/{core → engine}/integrator.d.ts +0 -0
- /package/dist/{core → engine}/lane-registry.d.ts +0 -0
- /package/dist/{core → engine}/lane-registry.js +0 -0
- /package/dist/{core → engine}/projection-agent-json.d.ts +0 -0
- /package/dist/{core → engine}/projection-agent-json.js +0 -0
- /package/dist/{core → engine}/query-lens.d.ts +0 -0
- /package/dist/{core → engine}/query-lens.js +0 -0
- /package/dist/{core → engine}/reactions.d.ts +0 -0
- /package/dist/{core → engine}/reactions.js +0 -0
- /package/dist/{core → engine}/registry.d.ts +0 -0
- /package/dist/{core → engine}/registry.js +0 -0
- /package/dist/{core → engine}/render-backend.d.ts +0 -0
- /package/dist/{core → engine}/render-backend.js +0 -0
- /package/dist/{core → engine}/render-modes.js +0 -0
- /package/dist/{core → engine}/reservoir.d.ts +0 -0
- /package/dist/{core → engine}/reservoir.js +0 -0
- /package/dist/{core → engine}/scalar-grid.d.ts +0 -0
- /package/dist/{core → engine}/scalar-grid.js +0 -0
- /package/dist/{core → engine}/scanner.d.ts +0 -0
- /package/dist/{core → engine}/scanner.js +0 -0
- /package/dist/{core → engine}/shadow.d.ts +0 -0
- /package/dist/{core → engine}/shadow.js +0 -0
- /package/dist/{core → engine}/spatial-hash.d.ts +0 -0
- /package/dist/{core → engine}/spatial-hash.js +0 -0
- /package/dist/{core → engine}/streamlines.d.ts +0 -0
- /package/dist/{core → engine}/streamlines.js +0 -0
- /package/dist/{core → engine}/surface.d.ts +0 -0
- /package/dist/{core → engine}/surface.js +0 -0
- /package/dist/{core → engine}/temporal.d.ts +0 -0
- /package/dist/{core → engine}/temporal.js +0 -0
- /package/dist/{core → engine}/thermo.d.ts +0 -0
- /package/dist/{core → engine}/thermo.js +0 -0
- /package/dist/{core → engine}/types.js +0 -0
- /package/dist/{core → engine}/weights.d.ts +0 -0
- /package/dist/{core → engine}/weights.js +0 -0
- /package/dist/{core → math}/geometry.js +0 -0
- /package/dist/{core → math}/math.d.ts +0 -0
- /package/dist/{core → math}/math.js +0 -0
package/dist/recipes/compile.js
CHANGED
|
@@ -3,7 +3,7 @@ export function metricVar(metric) {
|
|
|
3
3
|
return `--field-${metric}`;
|
|
4
4
|
}
|
|
5
5
|
/** The data-* attributes a single recipe body authors onto an element (token lane → behavior). */
|
|
6
|
-
export function
|
|
6
|
+
export function patternBodyAttributes(b) {
|
|
7
7
|
const a = { 'data-body': b.body };
|
|
8
8
|
if (b.strength != null)
|
|
9
9
|
a['data-strength'] = String(b.strength);
|
|
@@ -26,7 +26,7 @@ const OVERLAY_READINGS = new Set(['streamlines', 'force-vectors', 'field-lines',
|
|
|
26
26
|
/** Derive the render plan from a recipe's declared layers (pure; `particles` is the base matter
|
|
27
27
|
* layer and maps to `dots`). `streamlines` prefers the overlay (it reads over content) unless it
|
|
28
28
|
* is the recipe's ONLY layer, where the underlay render mode of the same name serves. */
|
|
29
|
-
export function
|
|
29
|
+
export function patternRenderPlan(layers) {
|
|
30
30
|
let underlay = null;
|
|
31
31
|
const overlay = [];
|
|
32
32
|
let heatmap = false;
|
|
@@ -52,6 +52,8 @@ export function recipeRenderPlan(layers) {
|
|
|
52
52
|
}
|
|
53
53
|
return { underlay, overlay, heatmap, unapplied };
|
|
54
54
|
}
|
|
55
|
+
/** @deprecated Renamed to {@link compilePattern} (recipe → Pattern); removed at 1.0. */
|
|
56
|
+
export const compileRecipe = compilePattern;
|
|
55
57
|
const tokensOf = (body) => (body ?? '').split(/\s+/).filter(Boolean);
|
|
56
58
|
/** Derive the static surfaces a reduced-motion render should produce from the recipe's lanes. */
|
|
57
59
|
function staticOutputs(r) {
|
|
@@ -72,17 +74,17 @@ function staticOutputs(r) {
|
|
|
72
74
|
* concept word never becomes a token. Metrics become feedback bindings; the accessibility block
|
|
73
75
|
* becomes a reduced-motion output plan.
|
|
74
76
|
*/
|
|
75
|
-
export function
|
|
77
|
+
export function compilePattern(r) {
|
|
76
78
|
return {
|
|
77
79
|
id: r.id,
|
|
78
80
|
recipe: r,
|
|
79
|
-
bodies: r.bodies.map((b) => ({ attributes:
|
|
81
|
+
bodies: r.bodies.map((b) => ({ attributes: patternBodyAttributes(b), tokens: tokensOf(b.body) })),
|
|
80
82
|
relationships: (r.relationships ?? []).map((rel) => ({ from: rel.from, to: rel.to, type: rel.type, strength: rel.strength })),
|
|
81
83
|
feedback: r.metrics.map((m) => ({ metric: m, var: metricVar(m) })),
|
|
82
84
|
diagnostics: [...r.diagnostics],
|
|
83
85
|
metrics: [...r.metrics],
|
|
84
86
|
conditions: [...(r.conditions ?? [])],
|
|
85
|
-
render:
|
|
87
|
+
render: patternRenderPlan(r.render ?? []),
|
|
86
88
|
reducedMotion: {
|
|
87
89
|
reducedMotion: r.accessibility.reducedMotion,
|
|
88
90
|
meaningWithoutMotion: r.accessibility.meaningWithoutMotion,
|
|
@@ -97,19 +99,23 @@ const attrsToString = (a) => Object.entries(a)
|
|
|
97
99
|
* Emit the `[data-body]` markup a recipe authors — a `<field-root>` plus one element per body. This is
|
|
98
100
|
* the copy-paste authoring for a recipe; drop it on a page and the field runs the recipe.
|
|
99
101
|
*/
|
|
100
|
-
export function
|
|
101
|
-
const bodies = r.bodies.map((b) => ` <div ${attrsToString(
|
|
102
|
+
export function patternToMarkup(r) {
|
|
103
|
+
const bodies = r.bodies.map((b) => ` <div ${attrsToString(patternBodyAttributes(b))}></div>`).join('\n');
|
|
102
104
|
return `<field-root></field-root>\n${bodies}`;
|
|
103
105
|
}
|
|
104
106
|
const pascal = (id) => id.split(/[^a-z0-9]+/i).filter(Boolean).map((s) => s[0].toUpperCase() + s.slice(1)).join('') || 'Field';
|
|
105
107
|
/** Emit a recipe's authoring for native HTML, the web component, and React (pure). */
|
|
106
|
-
export function
|
|
107
|
-
const bodyLines = r.bodies.map((b) => ` <div ${attrsToString(
|
|
108
|
-
const reactBodies = r.bodies.map((b) => ` <div ${attrsToString(
|
|
108
|
+
export function patternAuthoring(r) {
|
|
109
|
+
const bodyLines = r.bodies.map((b) => ` <div ${attrsToString(patternBodyAttributes(b))}></div>`).join('\n');
|
|
110
|
+
const reactBodies = r.bodies.map((b) => ` <div ${attrsToString(patternBodyAttributes(b))} />`).join('\n');
|
|
109
111
|
return {
|
|
110
|
-
html:
|
|
112
|
+
html: patternToMarkup(r),
|
|
111
113
|
webComponent: `<script type="module">\n import '@fundamental-engine/elements';\n</script>\n\n<field-root></field-root>\n${bodyLines}`,
|
|
112
114
|
react: `import { FieldField } from '@fundamental-engine/react';\n\nexport default function ${pascal(r.id)}() {\n return (\n <FieldField>\n${reactBodies}\n </FieldField>\n );\n}`,
|
|
113
115
|
};
|
|
114
116
|
}
|
|
117
|
+
/** @deprecated Renamed to {@link patternBodyAttributes}. */ export const recipeBodyAttributes = patternBodyAttributes;
|
|
118
|
+
/** @deprecated Renamed to {@link patternRenderPlan}. */ export const recipeRenderPlan = patternRenderPlan;
|
|
119
|
+
/** @deprecated Renamed to {@link patternToMarkup}. */ export const recipeToMarkup = patternToMarkup;
|
|
120
|
+
/** @deprecated Renamed to {@link patternAuthoring}. */ export const recipeAuthoring = patternAuthoring;
|
|
115
121
|
//# sourceMappingURL=compile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/recipes/compile.ts"],"names":[],"mappings":"AAcA,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,WAAW,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/recipes/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FieldPattern } from './schema.ts';
|
|
2
|
+
/**
|
|
3
|
+
* FOCUS_WELL (experimental) — the authored "focus" unit for the focus/attention substrate. A single
|
|
4
|
+
* `attract` well that gathers the field toward whatever the operator or an agent is currently focused
|
|
5
|
+
* on. The host writes attention with `field.focus(id, { source })`; each focused entity's `attract`
|
|
6
|
+
* deepens (up to ~2×, clamped) as its `metrics.salience` freshens and relaxes as it goes stale
|
|
7
|
+
* (temporal.freshness) — so the field visibly gathers toward whatever is currently focused, and any
|
|
8
|
+
* unfocused body keeps its baseline pull.
|
|
9
|
+
*
|
|
10
|
+
* Signals-first: runs under `render: 'none'` feeding `focusState()` with zero pixels drawn; the
|
|
11
|
+
* `heatmap` layer is the opt-in visual (source-tinted operator-vs-agent heat is a later render slice).
|
|
12
|
+
*
|
|
13
|
+
* EXPERIMENTAL — NOT part of the locked 64-Pattern `FIELD_PATTERNS` catalog.
|
|
14
|
+
*/
|
|
15
|
+
export declare const FOCUS_WELL: FieldPattern;
|
|
16
|
+
/** The focus / attention experimental pattern(s) — surfaced outside the canonical 64. */
|
|
17
|
+
export declare const FOCUS_PATTERNS: readonly FieldPattern[];
|
|
18
|
+
//# sourceMappingURL=focus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/recipes/focus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,YAoBxB,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAiB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FOCUS_WELL (experimental) — the authored "focus" unit for the focus/attention substrate. A single
|
|
3
|
+
* `attract` well that gathers the field toward whatever the operator or an agent is currently focused
|
|
4
|
+
* on. The host writes attention with `field.focus(id, { source })`; each focused entity's `attract`
|
|
5
|
+
* deepens (up to ~2×, clamped) as its `metrics.salience` freshens and relaxes as it goes stale
|
|
6
|
+
* (temporal.freshness) — so the field visibly gathers toward whatever is currently focused, and any
|
|
7
|
+
* unfocused body keeps its baseline pull.
|
|
8
|
+
*
|
|
9
|
+
* Signals-first: runs under `render: 'none'` feeding `focusState()` with zero pixels drawn; the
|
|
10
|
+
* `heatmap` layer is the opt-in visual (source-tinted operator-vs-agent heat is a later render slice).
|
|
11
|
+
*
|
|
12
|
+
* EXPERIMENTAL — NOT part of the locked 64-Pattern `FIELD_PATTERNS` catalog.
|
|
13
|
+
*/
|
|
14
|
+
export const FOCUS_WELL = {
|
|
15
|
+
id: 'focus-well',
|
|
16
|
+
name: 'Focus Well',
|
|
17
|
+
intent: 'Gather the field toward whatever the operator or an agent is currently focused on, and let it relax as that attention goes stale.',
|
|
18
|
+
naturalField: 'gravity',
|
|
19
|
+
status: 'experimental',
|
|
20
|
+
primitives: ['attract'],
|
|
21
|
+
concepts: ['focus', 'staleness'],
|
|
22
|
+
conditions: ['focused', 'dwell', 'threshold'],
|
|
23
|
+
bodies: [{ body: 'attract', strength: 1.0, range: 320, feedback: true }],
|
|
24
|
+
render: ['heatmap'],
|
|
25
|
+
metrics: ['salience'],
|
|
26
|
+
diagnostics: ['inspector'],
|
|
27
|
+
accessibility: {
|
|
28
|
+
reducedMotion: 'The top-salience entity takes a static in-focus marker (aria-current) and keeps its focusState rank; nothing travels or converges.',
|
|
29
|
+
meaningWithoutMotion: 'Focus reads as an explicit ranked, source-labelled list — the focusState() sharp-tip digest. The meaning IS the list; nothing depends on the animated well.',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
/** The focus / attention experimental pattern(s) — surfaced outside the canonical 64. */
|
|
33
|
+
export const FOCUS_PATTERNS = [FOCUS_WELL];
|
|
34
|
+
//# sourceMappingURL=focus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/recipes/focus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,MAAM,EACJ,mIAAmI;IACrI,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAChC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IAC7C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,WAAW,EAAE,CAAC,WAAW,CAAC;IAC1B,aAAa,EAAE;QACb,aAAa,EACX,oIAAoI;QACtI,oBAAoB,EAClB,6JAA6J;KAChK;CACF,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,UAAU,CAAC,CAAC"}
|
package/dist/recipes/index.d.ts
CHANGED
|
@@ -11,8 +11,11 @@ export * from './gallery.ts';
|
|
|
11
11
|
export * from './wayfinding.ts';
|
|
12
12
|
export * from './charge.ts';
|
|
13
13
|
export * from './gravity.ts';
|
|
14
|
+
export * from './focus.ts';
|
|
14
15
|
export * from './explain.ts';
|
|
15
16
|
export * from './compile.ts';
|
|
16
17
|
/** The Recipe / Authoring contracts (system-contracts §13). */
|
|
18
|
+
export declare const PATTERN_CONTRACTS: readonly ContractMeta[];
|
|
19
|
+
/** @deprecated Renamed to {@link PATTERN_CONTRACTS} (recipe → Pattern rename); removed at 1.0. */
|
|
17
20
|
export declare const RECIPE_CONTRACTS: readonly ContractMeta[];
|
|
18
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EAyBpD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,yBAAoB,CAAC"}
|
package/dist/recipes/index.js
CHANGED
|
@@ -4,23 +4,24 @@ export * from "./gallery.js";
|
|
|
4
4
|
export * from "./wayfinding.js";
|
|
5
5
|
export * from "./charge.js";
|
|
6
6
|
export * from "./gravity.js";
|
|
7
|
+
export * from "./focus.js";
|
|
7
8
|
export * from "./explain.js";
|
|
8
9
|
export * from "./compile.js";
|
|
9
10
|
/** The Recipe / Authoring contracts (system-contracts §13). */
|
|
10
|
-
export const
|
|
11
|
+
export const PATTERN_CONTRACTS = [
|
|
11
12
|
{
|
|
12
13
|
name: 'Field Recipe Contract',
|
|
13
14
|
mustExist: 'id, name, intent, primitives, bodies, render, metrics, diagnostics, accessibility (+ optional naturalField, relationships, budget, expected, notes)',
|
|
14
15
|
mayMutate: 'nothing — a recipe is data; applying it builds a scene',
|
|
15
16
|
sideEffectFree: 'serialize / parse / validate are pure',
|
|
16
|
-
testable: '
|
|
17
|
+
testable: 'validatePattern rejects unknown tokens, render layers, diagnostics, and fields; primitives must match the body tokens; round-trips through JSON',
|
|
17
18
|
inspectable: 'the recipe is plain serializable data; explainScene renders it in plain language',
|
|
18
19
|
},
|
|
19
20
|
{
|
|
20
21
|
name: 'Recipe Runtime Contract',
|
|
21
22
|
mustExist: 'compileRecipe(recipe) → a runtime plan (bodies/relationships/feedback/diagnostics/metrics/conditions/reducedMotion); applyRecipe(root, recipe) registers it and returns an inspectable, destroyable handle (@fundamental-engine/dom)',
|
|
22
23
|
mayMutate: 'applyRecipe mutates the DOM it is given (registers bodies, writes --field-* vars); compileRecipe is pure',
|
|
23
|
-
sideEffectFree: 'compileRecipe /
|
|
24
|
+
sideEffectFree: 'compileRecipe / patternToMarkup are pure; applyRecipe owns its lifecycle and cleans up on destroy()',
|
|
24
25
|
testable: 'compiled bodies carry only real tokens (concepts never become tokens); metrics map to --field-* feedback; every shipped recipe compiles a reduced-motion output path',
|
|
25
26
|
inspectable: 'applied.inspect() returns live measurements, relationships, metric values, and lint',
|
|
26
27
|
},
|
|
@@ -33,4 +34,6 @@ export const RECIPE_CONTRACTS = [
|
|
|
33
34
|
inspectable: 'the compiled data-body / data-render the author can read back',
|
|
34
35
|
},
|
|
35
36
|
];
|
|
37
|
+
/** @deprecated Renamed to {@link PATTERN_CONTRACTS} (recipe → Pattern rename); removed at 1.0. */
|
|
38
|
+
export const RECIPE_CONTRACTS = PATTERN_CONTRACTS;
|
|
36
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAQA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAQA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACxD;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,qJAAqJ;QAChK,SAAS,EAAE,wDAAwD;QACnE,cAAc,EAAE,uCAAuC;QACvD,QAAQ,EAAE,iJAAiJ;QAC3J,WAAW,EAAE,kFAAkF;KAChG;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,sOAAsO;QACjP,SAAS,EAAE,0GAA0G;QACrH,cAAc,EAAE,qGAAqG;QACrH,QAAQ,EAAE,sKAAsK;QAChL,WAAW,EAAE,qFAAqF;KACnG;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,uEAAuE;QAClF,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,yEAAyE;QACzF,QAAQ,EAAE,wEAAwE;QAClF,WAAW,EAAE,+DAA+D;KAC7E;CACF,CAAC;AAEF,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC"}
|
package/dist/recipes/schema.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type RenderLayer = 'particles' | 'dots' | 'trails' | 'links' | 'streamlin
|
|
|
4
4
|
/** A diagnostic mode that reveals a recipe's behavior (the debug / scalar / graph overlays). */
|
|
5
5
|
export type DiagnosticMode = 'force-vectors' | 'contours' | 'potential' | 'energy' | 'topology' | 'inspector' | 'causality' | 'prediction';
|
|
6
6
|
/** One body in a recipe: a force token (or space-separated tokens) + attributes. */
|
|
7
|
-
export interface
|
|
7
|
+
export interface BodyPattern {
|
|
8
8
|
body: string;
|
|
9
9
|
strength?: number;
|
|
10
10
|
range?: number;
|
|
@@ -13,18 +13,18 @@ export interface BodyRecipe {
|
|
|
13
13
|
feedback?: boolean;
|
|
14
14
|
scope?: 'local' | 'global';
|
|
15
15
|
/** condition gate for this body (`data-when`) — must be a REGISTERED engine condition id
|
|
16
|
-
* (active, fast, slow, hot, cool, scrolling);
|
|
16
|
+
* (active, fast, slow, hot, cool, scrolling); validatePattern rejects unknown ids so a
|
|
17
17
|
* recipe can never declare a gate that silently never passes (#370). Recipe-level
|
|
18
18
|
* `conditions` remain the activation vocabulary; `when` is the executable per-body gate. */
|
|
19
19
|
when?: string;
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface RelationshipPattern {
|
|
22
22
|
from: string;
|
|
23
23
|
to: string;
|
|
24
24
|
type: string;
|
|
25
25
|
strength?: number;
|
|
26
26
|
}
|
|
27
|
-
export interface
|
|
27
|
+
export interface AccessibilityPattern {
|
|
28
28
|
/** what replaces motion under prefers-reduced-motion. */
|
|
29
29
|
reducedMotion: string;
|
|
30
30
|
/** how meaning survives without color/motion. */
|
|
@@ -36,20 +36,20 @@ export interface ExpectedMetrics {
|
|
|
36
36
|
energyDriftMax?: number;
|
|
37
37
|
}
|
|
38
38
|
/** Which catalog tier a recipe belongs to. */
|
|
39
|
-
export type
|
|
39
|
+
export type PatternTier = 'core' | 'applied' | 'systems' | 'operational';
|
|
40
40
|
/** A recipe's implementation status. */
|
|
41
|
-
export type
|
|
41
|
+
export type PatternStatus = 'shipped' | 'experimental' | 'planned' | 'conceptual';
|
|
42
42
|
/**
|
|
43
43
|
* A portable field recipe (authoring §5) — the reusable unit that connects the natural-field model,
|
|
44
44
|
* engine primitives, DOM authoring, platform feedback, diagnostics, and the accessibility fallback.
|
|
45
45
|
*/
|
|
46
|
-
export interface
|
|
47
|
-
/** stable kebab-case id (e.g. `priority-well`) — the
|
|
46
|
+
export interface FieldPattern {
|
|
47
|
+
/** stable kebab-case id (e.g. `priority-well`) — the pattern's identity across the docs + gallery. */
|
|
48
48
|
id: string;
|
|
49
49
|
name: string;
|
|
50
50
|
intent: string;
|
|
51
51
|
/** which catalog tier the recipe sits in (injected during assembly). */
|
|
52
|
-
tier?:
|
|
52
|
+
tier?: PatternTier;
|
|
53
53
|
/** the fundamental field this recipe translates (gravity / electromagnetic / strong / weak), if one dominates. */
|
|
54
54
|
naturalField?: FundamentalField;
|
|
55
55
|
/** a short natural-field translation phrase (conceptual), e.g. "priority, convergence, hierarchy". */
|
|
@@ -64,18 +64,23 @@ export interface FieldRecipe {
|
|
|
64
64
|
diagnostics: string[];
|
|
65
65
|
/** CONDITIONS: activation logic (dwell, threshold, stale, in-view, focused) — not forces. */
|
|
66
66
|
conditions?: string[];
|
|
67
|
-
bodies:
|
|
68
|
-
relationships?:
|
|
67
|
+
bodies: BodyPattern[];
|
|
68
|
+
relationships?: RelationshipPattern[];
|
|
69
69
|
render: RenderLayer[];
|
|
70
70
|
/** the reduced-motion + meaning-without-motion equivalent — required: no recipe is motion-only. */
|
|
71
|
-
accessibility:
|
|
72
|
-
status?:
|
|
71
|
+
accessibility: AccessibilityPattern;
|
|
72
|
+
status?: PatternStatus;
|
|
73
73
|
budget?: Partial<PerformanceBudget>;
|
|
74
74
|
expected?: ExpectedMetrics;
|
|
75
75
|
notes?: string;
|
|
76
76
|
}
|
|
77
|
-
/**
|
|
78
|
-
|
|
77
|
+
/**
|
|
78
|
+
* @deprecated Renamed to {@link FieldPattern} (the "recipe → Pattern" rename). Kept for one
|
|
79
|
+
* deprecation cycle; removed at 1.0. See docs/canonical/deprecation-plan.md.
|
|
80
|
+
*/
|
|
81
|
+
export type FieldRecipe = FieldPattern;
|
|
82
|
+
/** @deprecated Renamed to {@link FieldPattern} (recipe → Pattern); removed at 1.0. */
|
|
83
|
+
export type SceneRecipe = FieldPattern;
|
|
79
84
|
/** A reusable render stack (authoring §6). */
|
|
80
85
|
export interface VisualizationPreset {
|
|
81
86
|
name: string;
|
|
@@ -85,8 +90,8 @@ export interface VisualizationPreset {
|
|
|
85
90
|
/** Every render + diagnostic mode id a recipe may reference (mirrors `RENDER_MODES` + `particles`). */
|
|
86
91
|
export declare const FIELD_MODES: ReadonlySet<string>;
|
|
87
92
|
/** The distinct engine primitives used across a recipe's bodies, in first-seen order. */
|
|
88
|
-
export declare function primitivesOf(bodies: readonly
|
|
89
|
-
export interface
|
|
93
|
+
export declare function primitivesOf(bodies: readonly BodyPattern[]): string[];
|
|
94
|
+
export interface PatternProblem {
|
|
90
95
|
path: string;
|
|
91
96
|
issue: string;
|
|
92
97
|
}
|
|
@@ -95,9 +100,19 @@ export interface RecipeProblem {
|
|
|
95
100
|
* must be a real, passported force; each render layer + diagnostic must be a known mode; the declared
|
|
96
101
|
* primitives must match the body tokens; the natural field must be one of the four.
|
|
97
102
|
*/
|
|
98
|
-
export declare function
|
|
103
|
+
export declare function validatePattern(r: FieldRecipe): PatternProblem[];
|
|
99
104
|
/** Serialize a recipe to canonical JSON. */
|
|
100
|
-
export declare function
|
|
101
|
-
/** Parse + validate a
|
|
102
|
-
export declare function
|
|
105
|
+
export declare function serializePattern(r: FieldRecipe): string;
|
|
106
|
+
/** Parse + validate a Field Pattern from JSON; throws on invalid shape. */
|
|
107
|
+
export declare function parsePattern(json: string): FieldPattern;
|
|
108
|
+
/** @deprecated Renamed to {@link parsePattern}. */
|
|
109
|
+
export declare const parseRecipe: typeof parsePattern;
|
|
110
|
+
/** @deprecated Renamed to {@link BodyPattern}. */ export type BodyRecipe = BodyPattern;
|
|
111
|
+
/** @deprecated Renamed to {@link RelationshipPattern}. */ export type RelationshipRecipe = RelationshipPattern;
|
|
112
|
+
/** @deprecated Renamed to {@link AccessibilityPattern}. */ export type AccessibilityRecipe = AccessibilityPattern;
|
|
113
|
+
/** @deprecated Renamed to {@link PatternTier}. */ export type RecipeTier = PatternTier;
|
|
114
|
+
/** @deprecated Renamed to {@link PatternStatus}. */ export type RecipeStatus = PatternStatus;
|
|
115
|
+
/** @deprecated Renamed to {@link PatternProblem}. */ export type RecipeProblem = PatternProblem;
|
|
116
|
+
/** @deprecated Renamed to {@link validatePattern}. */ export declare const validateRecipe: typeof validatePattern;
|
|
117
|
+
/** @deprecated Renamed to {@link serializePattern}. */ export declare const serializeRecipe: typeof serializePattern;
|
|
103
118
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,MAAM,GACN,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,gGAAgG;AAChG,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,UAAU,GACV,WAAW,GACX,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB,oFAAoF;AACpF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,MAAM,GACN,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,gGAAgG;AAChG,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,UAAU,GACV,WAAW,GACX,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B;;;iGAG6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEzE,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,YAAY,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sGAAsG;IACtG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,kHAAkH;IAClH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gHAAgH;IAChH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+FAA+F;IAC/F,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8FAA8F;IAC9F,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mGAAmG;IACnG,aAAa,EAAE,oBAAoB,CAAC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AACvC,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,uGAAuG;AACvG,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAA4D,CAAC;AA8BzG,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAUrE;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,EAAE,CA6ChE;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAEvD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAKvD;AAGD,mDAAmD;AACnD,eAAO,MAAM,WAAW,qBAAe,CAAC;AACxC,kDAAkD,CAAC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AACxF,0DAA0D,CAAC,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAChH,2DAA2D,CAAC,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACnH,kDAAkD,CAAC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AACxF,oDAAoD,CAAC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAC9F,qDAAqD,CAAC,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AACjG,sDAAsD,CAAC,eAAO,MAAM,cAAc,wBAAkB,CAAC;AACrG,uDAAuD,CAAC,eAAO,MAAM,eAAe,yBAAmB,CAAC"}
|
package/dist/recipes/schema.js
CHANGED
|
@@ -2,7 +2,7 @@ import { FUNDAMENTAL_FIELDS } from "../config/manual.js";
|
|
|
2
2
|
import { passportFor } from "../contracts/passport.js";
|
|
3
3
|
/** A render layer in a scene's stack (matter / structure / scalar surfaces). */
|
|
4
4
|
/** The engine's registered condition ids (core/conditions.ts) — the executable `when` gates. */
|
|
5
|
-
import { conditions as ENGINE_CONDITION_REGISTRY } from "../
|
|
5
|
+
import { conditions as ENGINE_CONDITION_REGISTRY } from "../engine/conditions.js";
|
|
6
6
|
const ENGINE_CONDITIONS = new Set(Object.keys(ENGINE_CONDITION_REGISTRY));
|
|
7
7
|
const RENDER_LAYERS = new Set([
|
|
8
8
|
'particles', 'dots', 'trails', 'links', 'streamlines', 'metaballs', 'voronoi', 'field-lines', 'heatmap',
|
|
@@ -56,7 +56,7 @@ export function primitivesOf(bodies) {
|
|
|
56
56
|
* must be a real, passported force; each render layer + diagnostic must be a known mode; the declared
|
|
57
57
|
* primitives must match the body tokens; the natural field must be one of the four.
|
|
58
58
|
*/
|
|
59
|
-
export function
|
|
59
|
+
export function validatePattern(r) {
|
|
60
60
|
const problems = [];
|
|
61
61
|
if (!r.id)
|
|
62
62
|
problems.push({ path: 'id', issue: 'required' });
|
|
@@ -110,15 +110,20 @@ export function validateRecipe(r) {
|
|
|
110
110
|
return problems;
|
|
111
111
|
}
|
|
112
112
|
/** Serialize a recipe to canonical JSON. */
|
|
113
|
-
export function
|
|
113
|
+
export function serializePattern(r) {
|
|
114
114
|
return JSON.stringify(r, null, 2);
|
|
115
115
|
}
|
|
116
|
-
/** Parse + validate a
|
|
117
|
-
export function
|
|
116
|
+
/** Parse + validate a Field Pattern from JSON; throws on invalid shape. */
|
|
117
|
+
export function parsePattern(json) {
|
|
118
118
|
const r = JSON.parse(json);
|
|
119
|
-
const problems =
|
|
119
|
+
const problems = validatePattern(r);
|
|
120
120
|
if (problems.length)
|
|
121
|
-
throw new Error(`invalid
|
|
121
|
+
throw new Error(`invalid pattern: ${problems.map((p) => `${p.path} (${p.issue})`).join('; ')}`);
|
|
122
122
|
return r;
|
|
123
123
|
}
|
|
124
|
+
// ── Deprecated aliases (recipe → Pattern rename, phase 4; removed at 1.0) ──────────────────────
|
|
125
|
+
/** @deprecated Renamed to {@link parsePattern}. */
|
|
126
|
+
export const parseRecipe = parsePattern;
|
|
127
|
+
/** @deprecated Renamed to {@link validatePattern}. */ export const validateRecipe = validatePattern;
|
|
128
|
+
/** @deprecated Renamed to {@link serializePattern}. */ export const serializeRecipe = serializePattern;
|
|
124
129
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,gFAAgF;AAChF,gGAAgG;AAChG,OAAO,EAAE,UAAU,IAAI,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* • Wayfinding Field (gravity) — "where am I, what's adjacent" (present-tense orientation).
|
|
12
12
|
* • Wayfinding Current (electromagnetic) — "where have I been" (the path travelled, the current from home).
|
|
13
13
|
*
|
|
14
|
-
* Both pass `
|
|
14
|
+
* Both pass `validatePattern` (real passported tokens, known render layers + diagnostics, primitives =
|
|
15
15
|
* body tokens, a fundamental field, a reduced-motion equivalent). They are kept OUT of the canonical
|
|
16
16
|
* 64-recipe `FIELD_RECIPES` catalog (a locked 4×16 of shipped recipes, cited as such across the
|
|
17
17
|
* papers) and marked `experimental` — they surface on the /recipes hub as a labelled experimental
|
|
@@ -34,6 +34,8 @@ export declare const WAYFINDING_FIELD: FieldRecipe;
|
|
|
34
34
|
export declare const WAYFINDING_CURRENT: FieldRecipe;
|
|
35
35
|
/** The Wayfinding Field variations — experimental nav-chrome recipes, not part of `FIELD_RECIPES`. */
|
|
36
36
|
export declare const WAYFINDING_RECIPES: readonly FieldRecipe[];
|
|
37
|
-
/** Experimental
|
|
38
|
-
export declare const
|
|
37
|
+
/** Experimental patterns surfaced on the /recipes hub outside the canonical 64. */
|
|
38
|
+
export declare const EXPERIMENTAL_PATTERNS: readonly FieldRecipe[];
|
|
39
|
+
/** @deprecated Renamed to {@link EXPERIMENTAL_PATTERNS} (recipe → Pattern); removed at 1.0. */
|
|
40
|
+
export declare const EXPERIMENTAL_RECIPES: readonly import("./schema.ts").FieldPattern[];
|
|
39
41
|
//# sourceMappingURL=wayfinding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wayfinding.d.ts","sourceRoot":"","sources":["../../src/recipes/wayfinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA4B9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA8BhC,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,EAAE,SAAS,WAAW,EAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"wayfinding.d.ts","sourceRoot":"","sources":["../../src/recipes/wayfinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA4B9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA8BhC,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,EAAE,SAAS,WAAW,EAA2C,CAAC;AAMjG,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,EAAE,SAAS,WAAW,EAKvD,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,+CAAwB,CAAC"}
|
|
@@ -68,10 +68,14 @@ export const WAYFINDING_CURRENT = {
|
|
|
68
68
|
export const WAYFINDING_RECIPES = [WAYFINDING_FIELD, WAYFINDING_CURRENT];
|
|
69
69
|
import { CHARGE_RECIPES } from "./charge.js";
|
|
70
70
|
import { GRAVITY_RECIPES } from "./gravity.js";
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
import { FOCUS_PATTERNS } from "./focus.js";
|
|
72
|
+
/** Experimental patterns surfaced on the /recipes hub outside the canonical 64. */
|
|
73
|
+
export const EXPERIMENTAL_PATTERNS = [
|
|
73
74
|
...WAYFINDING_RECIPES,
|
|
74
75
|
...CHARGE_RECIPES,
|
|
75
76
|
...GRAVITY_RECIPES,
|
|
77
|
+
...FOCUS_PATTERNS,
|
|
76
78
|
];
|
|
79
|
+
/** @deprecated Renamed to {@link EXPERIMENTAL_PATTERNS} (recipe → Pattern); removed at 1.0. */
|
|
80
|
+
export const EXPERIMENTAL_RECIPES = EXPERIMENTAL_PATTERNS;
|
|
77
81
|
//# sourceMappingURL=wayfinding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wayfinding.js","sourceRoot":"","sources":["../../src/recipes/wayfinding.ts"],"names":[],"mappings":"AAqBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,yFAAyF;IACjG,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;IAC7C,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACvC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAClC,MAAM,EAAE;QACN,wEAAwE;QACxE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9D,kEAAkE;QAClE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7C,oEAAoE;QACpE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChE;IACD,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;IAC/C,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC;IACrD,aAAa,EAAE;QACb,aAAa,EACX,kGAAkG;QACpG,oBAAoB,EAClB,8FAA8F;KACjG;IACD,KAAK,EACH,+eAA+e;CAClf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,4FAA4F;IACpG,YAAY,EAAE,iBAAiB;IAC/B,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;IACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC;IACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IACjC,MAAM,EAAE;QACN,6CAA6C;QAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChE,6EAA6E;QAC7E,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9C,gEAAgE;QAChE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3C,mDAAmD;QACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;KAC9C;IACD,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;IACjD,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;IACxC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;IACtD,aAAa,EAAE;QACb,aAAa,EACX,0GAA0G;QAC5G,oBAAoB,EAClB,kFAAkF;KACrF;IACD,KAAK,EACH,8ZAA8Z;CACja,CAAC;AAEF,sGAAsG;AACtG,MAAM,CAAC,MAAM,kBAAkB,GAA2B,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"wayfinding.js","sourceRoot":"","sources":["../../src/recipes/wayfinding.ts"],"names":[],"mappings":"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"}
|
package/dist/record/record.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FieldOptions } from '../
|
|
1
|
+
import type { FieldOptions } from '../engine/types.ts';
|
|
2
2
|
/**
|
|
3
3
|
* The deterministic subset of {@link FieldOptions} a run can be recorded from. The recorder owns the
|
|
4
4
|
* host, canvas, rng, and clock (the non-deterministic / environment-bound inputs), so they are omitted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,YAAY,EACZ,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,eAAe,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,cAAc,CACvG,CAAC;AAEF,qGAAqG;AACrG,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;wFACoF;IACpF,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;+GAC2G;IAC3G,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,MAAM,EAAE,YAAY,CAAC;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf;wEACoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB;;gEAE4D;IAC5D,SAAS,EAAE,YAAY,CAAC;CACzB;AAuCD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CA+B3D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAGtE;AAED,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,6CAA6C;IAC7C,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAI,GAAG,aAAa,CA0C/F;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAKrE"}
|
package/dist/record/record.js
CHANGED
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
* programmatic bodies (`addBody`) in the recorded config, and an on-disk serialization format.
|
|
25
25
|
* The metadata + buffer here are the substrate those build on. See the module's `RecordedRun`.
|
|
26
26
|
*/
|
|
27
|
-
import { createField } from "../
|
|
28
|
-
import { headlessHost } from "../
|
|
29
|
-
import { PARTICLE_STRIDE, PARTICLE_WIRE_VERSION } from "../
|
|
27
|
+
import { createField } from "../engine/field.js";
|
|
28
|
+
import { headlessHost } from "../engine/host-headless.js";
|
|
29
|
+
import { PARTICLE_STRIDE, PARTICLE_WIRE_VERSION } from "../engine/types.js";
|
|
30
30
|
import { seededRng } from "./rng.js";
|
|
31
31
|
/** Build the deterministic field for a config on a fresh headless host + seeded rng. Shared by record
|
|
32
32
|
* and replay so both drive byte-identical inputs. Returns the handle, the host, and a particle buffer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* with `packages/core/package.json` by `version.test.ts` (the build fails if they drift), so the
|
|
5
5
|
* release bump is the single source of truth.
|
|
6
6
|
*/
|
|
7
|
-
export declare const FIELD_VERSION = "0.9.
|
|
7
|
+
export declare const FIELD_VERSION = "0.9.5";
|
|
8
8
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/dist/visual/channels.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { clamp, lerp } from "../
|
|
1
|
+
import { clamp, lerp } from "../math/math.js";
|
|
2
2
|
import { clamp01, mapRange } from "./mapping.js";
|
|
3
3
|
/** Map density (presence) and attention (emphasis) to live variable-font axes + glow. */
|
|
4
4
|
export function typography(m, opts = {}) {
|
package/dist/visual/mapping.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* the distance falloff that turns a body's reach into a 0..1 influence. Zero dependencies —
|
|
6
6
|
* `clamp`/`lerp` are reused from the engine's math module so there is one source of truth.
|
|
7
7
|
*/
|
|
8
|
-
import { clamp, lerp } from "../
|
|
8
|
+
import { clamp, lerp } from "../math/math.js";
|
|
9
9
|
/** Clamp to the unit interval [0,1]. */
|
|
10
10
|
export const clamp01 = (v) => clamp(v, 0, 1);
|
|
11
11
|
/** Apply a response curve to a normalized input t ∈ [0,1]. */
|