@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Transition } from '../episodes/episodes.ts';
|
|
2
|
+
import type { WorldRelation } from '../world.ts';
|
|
3
|
+
export type AblationForm = 'removal' | 'collapse' | 'substitution' | 'reconstruction';
|
|
4
|
+
export type AblationClass = 'necessary-primitive' | 'necessary-component' | 'derived-complete' | 'derived-conditional' | 'collapsible-without-loss' | 'collapsible-with-loss' | 'substitutable' | 'non-substitutable' | 'representation-dependent' | 'execution-boundary-only' | 'unresolved';
|
|
5
|
+
export interface AblationRecord {
|
|
6
|
+
readonly element: string;
|
|
7
|
+
readonly form: AblationForm;
|
|
8
|
+
readonly hypothesis: string;
|
|
9
|
+
readonly transformation: string;
|
|
10
|
+
readonly fixture: string;
|
|
11
|
+
readonly expectedDistinguishingCase: string;
|
|
12
|
+
readonly observed: string;
|
|
13
|
+
readonly failedCapability?: string;
|
|
14
|
+
readonly preservedBehavior?: string;
|
|
15
|
+
readonly evidence: string;
|
|
16
|
+
readonly classification: AblationClass;
|
|
17
|
+
readonly implication: string;
|
|
18
|
+
}
|
|
19
|
+
/** Derive relation edges from observed transitions only (no declared relation structure). */
|
|
20
|
+
export declare function relationsFromTransitions(trace: readonly Transition[]): WorldRelation[];
|
|
21
|
+
/** Derive the operation vocabulary from observed transitions only. */
|
|
22
|
+
export declare function operationsFromTransitions(trace: readonly Transition[]): string[];
|
|
23
|
+
export declare function runAblations(): AblationRecord[];
|
|
24
|
+
export interface KernelComparisonRow {
|
|
25
|
+
readonly element: string;
|
|
26
|
+
readonly roleInK: string;
|
|
27
|
+
readonly ablationResult: AblationClass;
|
|
28
|
+
readonly retainedInK0: boolean;
|
|
29
|
+
readonly reason: string;
|
|
30
|
+
readonly derivationOrCounterexample: string;
|
|
31
|
+
readonly confidence: 'high' | 'medium' | 'low';
|
|
32
|
+
readonly remainingUncertainty: string;
|
|
33
|
+
}
|
|
34
|
+
/** K = ⟨Entities, State, Relations, Operations, Dynamics, Projection, Invariants⟩ */
|
|
35
|
+
export declare const K_ELEMENTS: readonly ["Entities", "State", "Relations", "Operations", "Dynamics", "Projection", "Invariants"];
|
|
36
|
+
/** K₀ = ⟨X, Θ, Π, V⟩ — X carries typed entity/relation/operation structure. */
|
|
37
|
+
export declare const K0_ELEMENTS: readonly ["X (state incl. typed entities/relations/operations)", "Θ (lawful evolution + admissible operations)", "Π (projection)", "V (validity/invariants)"];
|
|
38
|
+
export declare function kernelComparison(): KernelComparisonRow[];
|
|
39
|
+
//# sourceMappingURL=ablation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ablation.d.ts","sourceRoot":"","sources":["../../../src/world/ablation/ablation.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEtF,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,0BAA0B,GAC1B,uBAAuB,GACvB,eAAe,GACf,mBAAmB,GACnB,0BAA0B,GAC1B,yBAAyB,GACzB,YAAY,CAAC;AAEjB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AA+BD,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,aAAa,EAAE,CAWtF;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAEhF;AAkHD,wBAAgB,YAAY,IAAI,cAAc,EAAE,CAuN/C;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,sFAAsF;AACtF,eAAO,MAAM,UAAU,mGAAoG,CAAC;AAC5H,+EAA+E;AAC/E,eAAO,MAAM,WAAW,+JAAgK,CAAC;AAEzL,wBAAgB,gBAAgB,IAAI,mBAAmB,EAAE,CAqExD"}
|
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F1.8 — kernel ablation harness (EXPERIMENTAL, internal).
|
|
3
|
+
*
|
|
4
|
+
* Runs the four ratified ablation forms (removal · collapse · substitution · reconstruction, M1.5-08)
|
|
5
|
+
* against the current kernel model, EXECUTING the real F1.5–F1.7 derivations with ablated inputs rather
|
|
6
|
+
* than asserting outcomes. Each record carries hypothesis, transformation, fixture, expected
|
|
7
|
+
* distinguishing case, observed result, failed capability / preserved behavior, evidence, classification,
|
|
8
|
+
* and the implication for K and K₀.
|
|
9
|
+
*
|
|
10
|
+
* Field-free (it drives generic derivations only). Not exported from the package entry.
|
|
11
|
+
*/
|
|
12
|
+
import { createWorldEnvelope } from "../envelope.js";
|
|
13
|
+
import { evaluateOpportunity } from "../opportunity/opportunity.js";
|
|
14
|
+
import { detectEpisodes } from "../episodes/episodes.js";
|
|
15
|
+
import { FORCE_CORPUS } from "../experiments/declarative-dynamics.js";
|
|
16
|
+
// ── fixtures ─────────────────────────────────────────────────────────────────
|
|
17
|
+
function opportunityBase(overrides = {}) {
|
|
18
|
+
return {
|
|
19
|
+
world: { envelope: createWorldEnvelope('ablation-world'), operations: [{ id: 'act', reversible: true, recoveryPaths: [] }] },
|
|
20
|
+
participant: 'p',
|
|
21
|
+
state: { enabled: ['act'], reachableOutcomes: ['act'] },
|
|
22
|
+
projection: { id: 'full', exposed: ['act'], signaled: ['act'] },
|
|
23
|
+
history: [],
|
|
24
|
+
capabilities: ['act'],
|
|
25
|
+
authority: [{ operation: 'act', scope: 's', authoritySource: 'role:x' }],
|
|
26
|
+
...overrides,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function episodeContract(o = {}) {
|
|
30
|
+
return {
|
|
31
|
+
boundary: { participants: ['A', 'B', 'C'], start: 0, end: 100 },
|
|
32
|
+
timescale: 1,
|
|
33
|
+
coupling: { kind: 'direct-influence', minInfluence: 1 },
|
|
34
|
+
recurrenceWindow: 5,
|
|
35
|
+
minimumInfluence: 1,
|
|
36
|
+
...o,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const tx = (step, from, to, influence = 5) => ({ step, from, to, operation: 'op', influence });
|
|
40
|
+
// ── reconstruction helpers (the "remaining kernel" attempting to derive an element) ──
|
|
41
|
+
/** Derive relation edges from observed transitions only (no declared relation structure). */
|
|
42
|
+
export function relationsFromTransitions(trace) {
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
const out = [];
|
|
45
|
+
for (const t of trace) {
|
|
46
|
+
if (t.to === undefined)
|
|
47
|
+
continue;
|
|
48
|
+
const key = `${t.from}->${t.to}`;
|
|
49
|
+
if (seen.has(key))
|
|
50
|
+
continue;
|
|
51
|
+
seen.add(key);
|
|
52
|
+
out.push({ from: t.from, to: t.to, type: 'observed-edge' });
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
/** Derive the operation vocabulary from observed transitions only. */
|
|
57
|
+
export function operationsFromTransitions(trace) {
|
|
58
|
+
return [...new Set(trace.map((t) => t.operation))].sort();
|
|
59
|
+
}
|
|
60
|
+
// ── executable probes ────────────────────────────────────────────────────────
|
|
61
|
+
/** Ω_sys removal probe: drop one lower input and report which predicate becomes underivable. */
|
|
62
|
+
function probeOpportunityRemoval(input) {
|
|
63
|
+
const base = evaluateOpportunity(opportunityBase(), 'act');
|
|
64
|
+
let ablated;
|
|
65
|
+
switch (input) {
|
|
66
|
+
case 'capability':
|
|
67
|
+
ablated = evaluateOpportunity(opportunityBase({ capabilities: [] }), 'act');
|
|
68
|
+
break;
|
|
69
|
+
case 'authority':
|
|
70
|
+
ablated = evaluateOpportunity(opportunityBase({ authority: [] }), 'act');
|
|
71
|
+
break;
|
|
72
|
+
case 'projection':
|
|
73
|
+
ablated = evaluateOpportunity(opportunityBase({ projection: { id: 'none', exposed: [], signaled: [] } }), 'act');
|
|
74
|
+
break;
|
|
75
|
+
case 'reachability':
|
|
76
|
+
ablated = evaluateOpportunity(opportunityBase({ state: { enabled: ['act'], reachableOutcomes: [] } }), 'act');
|
|
77
|
+
break;
|
|
78
|
+
case 'history': {
|
|
79
|
+
const enabled = (h) => (h.includes('unlock') ? ['act'] : []);
|
|
80
|
+
ablated = evaluateOpportunity(opportunityBase({ history: [], state: { enabled: enabled([]), reachableOutcomes: ['act'] } }), 'act');
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const changed = base.available !== ablated.available || base.signaled !== ablated.signaled;
|
|
85
|
+
const failed = ablated.failedPredicates.map((f) => f.predicate).join(',') || 'none';
|
|
86
|
+
return { observed: `baseline available=${base.available}; ablated available=${ablated.available}; changed=${changed}`, failed };
|
|
87
|
+
}
|
|
88
|
+
/** Collapse capability and permission into one boolean; show the distinction is lost. */
|
|
89
|
+
function probeCapabilityPermissionCollapse() {
|
|
90
|
+
const capableNotPermitted = evaluateOpportunity(opportunityBase({ authority: [] }), 'act');
|
|
91
|
+
const permittedNotCapable = evaluateOpportunity(opportunityBase({ capabilities: [] }), 'act');
|
|
92
|
+
// the real (uncollapsed) model distinguishes them by which predicate failed
|
|
93
|
+
const realDistinct = capableNotPermitted.failedPredicates.some((f) => f.predicate === 'permitted') &&
|
|
94
|
+
permittedNotCapable.failedPredicates.some((f) => f.predicate === 'capable');
|
|
95
|
+
// the collapsed model exposes only `allowed = capable && permitted`
|
|
96
|
+
const collapsedA = capableNotPermitted.capable && capableNotPermitted.permitted;
|
|
97
|
+
const collapsedB = permittedNotCapable.capable && permittedNotCapable.permitted;
|
|
98
|
+
const collapsedIndistinguishable = collapsedA === collapsedB;
|
|
99
|
+
return {
|
|
100
|
+
observed: `uncollapsed distinguishes=${realDistinct}; collapsed allowed A=${collapsedA} B=${collapsedB} indistinguishable=${collapsedIndistinguishable}`,
|
|
101
|
+
lost: realDistinct && collapsedIndistinguishable,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Projection collapse probe: does projection materially change the derivation? */
|
|
105
|
+
function probeProjectionMateriality() {
|
|
106
|
+
const full = evaluateOpportunity(opportunityBase(), 'act');
|
|
107
|
+
const hidden = evaluateOpportunity(opportunityBase({ projection: { id: 'reduced', exposed: [], signaled: [] } }), 'act');
|
|
108
|
+
const material = full.available !== hidden.available;
|
|
109
|
+
return { observed: `same state, two projections → available ${full.available} vs ${hidden.available}`, material };
|
|
110
|
+
}
|
|
111
|
+
/** Relations reconstruction probe: latent/persistent relations vs observed edges. */
|
|
112
|
+
function probeRelationReconstruction() {
|
|
113
|
+
const declared = [
|
|
114
|
+
{ from: 'A', to: 'B', type: 'owns' }, // latent/persistent — never exercised
|
|
115
|
+
{ from: 'A', to: 'C', type: 'binds' }, // exercised below
|
|
116
|
+
];
|
|
117
|
+
const trace = [tx(1, 'A', 'C')];
|
|
118
|
+
const reconstructed = relationsFromTransitions(trace);
|
|
119
|
+
const latentLost = !reconstructed.some((r) => r.from === 'A' && r.to === 'B');
|
|
120
|
+
const typeLost = !reconstructed.some((r) => r.type === 'binds');
|
|
121
|
+
return {
|
|
122
|
+
observed: `declared ${declared.length} relations; reconstructed ${reconstructed.length} from transitions; latent A→B recovered=${!latentLost}; relation type recovered=${!typeLost}`,
|
|
123
|
+
latentLost,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** Operations reconstruction probe: latent (never-invoked) operations vs observed transitions. */
|
|
127
|
+
function probeOperationReconstruction() {
|
|
128
|
+
const declared = ['act', 'latent'];
|
|
129
|
+
const trace = [{ step: 1, from: 'A', to: 'B', operation: 'act', influence: 5 }];
|
|
130
|
+
const reconstructed = operationsFromTransitions(trace);
|
|
131
|
+
const latentLost = !reconstructed.includes('latent');
|
|
132
|
+
return { observed: `declared ${declared.join(',')}; reconstructed ${reconstructed.join(',')}; latent recovered=${!latentLost}`, latentLost };
|
|
133
|
+
}
|
|
134
|
+
/** Dynamics substitution probe: replace with declarative IR only (F1.5 corpus). */
|
|
135
|
+
function probeDynamicsSubstitution() {
|
|
136
|
+
const opaque = FORCE_CORPUS.filter((f) => f.declarative === null);
|
|
137
|
+
const declarative = FORCE_CORPUS.filter((f) => f.declarative !== null);
|
|
138
|
+
return {
|
|
139
|
+
observed: `declarative-only substitution covers ${declarative.length}/${FORCE_CORPUS.length}; ${opaque.length} laws unrepresentable (${opaque.map((o) => o.reason).join(', ')})`,
|
|
140
|
+
opaqueCount: opaque.length,
|
|
141
|
+
declarativeCount: declarative.length,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/** Episode contract removal probe: drop the recurrence window; does the finding change? */
|
|
145
|
+
function probeEpisodeWindowRemoval() {
|
|
146
|
+
const trace = [tx(1, 'A', 'B'), tx(20, 'B', 'A')]; // timeout fixture
|
|
147
|
+
const withWindow = detectEpisodes(trace, episodeContract({ recurrenceWindow: 5 }), ['A', 'B']);
|
|
148
|
+
const withoutWindow = detectEpisodes(trace, episodeContract({ recurrenceWindow: Number.MAX_SAFE_INTEGER }), ['A', 'B']);
|
|
149
|
+
const changed = withWindow.episodes.length !== withoutWindow.episodes.length;
|
|
150
|
+
return { observed: `window=5 → ${withWindow.episodes.length} episode(s); window=∞ → ${withoutWindow.episodes.length}`, changed };
|
|
151
|
+
}
|
|
152
|
+
/** Coupling vs shared cause: is the distinction structural (threshold-independent)? */
|
|
153
|
+
function probeCouplingVsSharedCause() {
|
|
154
|
+
const sharedCause = [tx(1, 'C', 'A'), tx(1, 'C', 'B')];
|
|
155
|
+
const permissive = detectEpisodes(sharedCause, episodeContract({ minimumInfluence: 0, coupling: { kind: 'direct-influence', minInfluence: 0 } }), ['A', 'B', 'C']);
|
|
156
|
+
const coupled = detectEpisodes([tx(1, 'A', 'B'), tx(2, 'B', 'A')], episodeContract(), ['A', 'B']);
|
|
157
|
+
const structural = permissive.episodes.length === 0 && coupled.episodes.length === 1;
|
|
158
|
+
return { observed: `shared-cause under the most permissive thresholds → ${permissive.episodes.length} episode(s); true coupling → ${coupled.episodes.length}`, structural };
|
|
159
|
+
}
|
|
160
|
+
/** Entity identity removal probe: anonymize participants; is attribution lost? */
|
|
161
|
+
function probeEntityIdentityRemoval() {
|
|
162
|
+
const named = detectEpisodes([tx(1, 'A', 'B'), tx(2, 'B', 'A')], episodeContract(), ['A', 'B']);
|
|
163
|
+
const anon = detectEpisodes([tx(1, '', ''), tx(2, '', '')], episodeContract({ boundary: { participants: [''], start: 0, end: 100 } }), ['']);
|
|
164
|
+
const attributionLost = named.episodeParticipants.length === 2 && anon.episodeParticipants.length < 2;
|
|
165
|
+
return { observed: `named → participants [${named.episodeParticipants.join(',')}]; anonymized → [${anon.episodeParticipants.join(',')}]`, attributionLost };
|
|
166
|
+
}
|
|
167
|
+
// ── the ablation battery ─────────────────────────────────────────────────────
|
|
168
|
+
export function runAblations() {
|
|
169
|
+
const records = [];
|
|
170
|
+
// A. Dynamics
|
|
171
|
+
const dyn = probeDynamicsSubstitution();
|
|
172
|
+
records.push({
|
|
173
|
+
element: 'Dynamics', form: 'substitution',
|
|
174
|
+
hypothesis: 'Dynamics cannot be collapsed entirely into declarative State.',
|
|
175
|
+
transformation: 'Replace lawful evolution with the declarative expression IR only (F1.5).',
|
|
176
|
+
fixture: 'F1.5 force corpus (9 categories)',
|
|
177
|
+
expectedDistinguishingCase: 'A law with hidden mutable state or host/callback dependence.',
|
|
178
|
+
observed: dyn.observed,
|
|
179
|
+
failedCapability: `${dyn.opaqueCount} laws have no declarative representation`,
|
|
180
|
+
preservedBehavior: `${dyn.declarativeCount} laws are fully representable as data`,
|
|
181
|
+
evidence: 'FORCE_CORPUS declarative===null partition',
|
|
182
|
+
classification: 'non-substitutable',
|
|
183
|
+
implication: 'Dynamics is NOT wholly substitutable by declarative State. Reducible only under restricted (declarative-region) worlds.',
|
|
184
|
+
});
|
|
185
|
+
records.push({
|
|
186
|
+
element: 'Dynamics', form: 'removal',
|
|
187
|
+
hypothesis: 'Removing Dynamics removes all lawful evolution.',
|
|
188
|
+
transformation: 'Delete the evolution element; retain State + Operations.',
|
|
189
|
+
fixture: 'World with entities and operations but no dynamics realization',
|
|
190
|
+
expectedDistinguishingCase: 'Any request to advance the world.',
|
|
191
|
+
observed: 'No transition can be produced; advance() has no realization to invoke.',
|
|
192
|
+
failedCapability: 'lawful evolution / advance',
|
|
193
|
+
evidence: 'DynamicsContract.advance is the only evolution path in the kernel',
|
|
194
|
+
classification: 'necessary-component',
|
|
195
|
+
implication: 'Dynamics is a necessary component of Θ — but its realization sits behind the contract boundary.',
|
|
196
|
+
});
|
|
197
|
+
records.push({
|
|
198
|
+
element: 'DynamicsContract', form: 'reconstruction',
|
|
199
|
+
hypothesis: 'The contract is an execution boundary, not a kernel primitive.',
|
|
200
|
+
transformation: 'Attempt to reconstruct the boundary from State + Operations alone.',
|
|
201
|
+
fixture: 'opaque-native field substrate + interpreted counter substrate (F1.3)',
|
|
202
|
+
expectedDistinguishingCase: 'Two substrates with different executionKind under one kernel.',
|
|
203
|
+
observed: 'The same kernel executes an opaque-native and an interpreted substrate without change; the boundary is what makes substrates interchangeable.',
|
|
204
|
+
preservedBehavior: 'substrate interchange',
|
|
205
|
+
evidence: 'F1.3 substrate-agnostic test (field + non-field contracts)',
|
|
206
|
+
classification: 'execution-boundary-only',
|
|
207
|
+
implication: 'DynamicsContract is retained as a runtime interface, NOT added to K as an eighth primitive.',
|
|
208
|
+
});
|
|
209
|
+
// B. Opportunity
|
|
210
|
+
for (const input of ['capability', 'authority', 'projection', 'reachability', 'history']) {
|
|
211
|
+
const p = probeOpportunityRemoval(input);
|
|
212
|
+
records.push({
|
|
213
|
+
element: `Ω_sys ← ${input}`, form: 'removal',
|
|
214
|
+
hypothesis: `Ω_sys requires ${input} as a lower input.`,
|
|
215
|
+
transformation: `Remove ${input} from the opportunity context.`,
|
|
216
|
+
fixture: 'opportunityBase all-pass fixture',
|
|
217
|
+
expectedDistinguishingCase: `A case where only ${input} determines the outcome.`,
|
|
218
|
+
observed: p.observed,
|
|
219
|
+
failedCapability: `failed predicates: ${p.failed}`,
|
|
220
|
+
evidence: 'evaluateOpportunity executed with and without the input',
|
|
221
|
+
classification: 'necessary-component',
|
|
222
|
+
implication: `${input} is a necessary lower structure for the Ω_sys derivation.`,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
records.push({
|
|
226
|
+
element: 'Opportunity (Ω_sys)', form: 'reconstruction',
|
|
227
|
+
hypothesis: 'Ω_sys is derived, not primitive.',
|
|
228
|
+
transformation: 'Reconstruct Ω_sys from state, operations, capability, authority, projection, reachability, history.',
|
|
229
|
+
fixture: 'F1.6 fixture battery (10 negatives + all-pass)',
|
|
230
|
+
expectedDistinguishingCase: 'Any predicate that changes with a lower input.',
|
|
231
|
+
observed: 'Every predicate is computed from the listed lower structures; no residual is required.',
|
|
232
|
+
preservedBehavior: 'complete predicate set + evidence',
|
|
233
|
+
evidence: 'F1.6 evaluateOpportunity',
|
|
234
|
+
classification: 'derived-complete',
|
|
235
|
+
implication: 'Opportunity is removed from K₀ — fully replaced by its derivation.',
|
|
236
|
+
});
|
|
237
|
+
// C. Interaction / episode
|
|
238
|
+
const win = probeEpisodeWindowRemoval();
|
|
239
|
+
records.push({
|
|
240
|
+
element: 'Episode ← recurrence window', form: 'removal',
|
|
241
|
+
hypothesis: 'Episode findings are parameter-relative.',
|
|
242
|
+
transformation: 'Remove the recurrence window (set to unbounded).',
|
|
243
|
+
fixture: 'timeout fixture A→B@1, B→A@20',
|
|
244
|
+
expectedDistinguishingCase: 'A reply outside the declared window.',
|
|
245
|
+
observed: win.observed,
|
|
246
|
+
failedCapability: win.changed ? 'boundary-relative determinacy' : undefined,
|
|
247
|
+
evidence: 'detectEpisodes with window=5 vs window=∞',
|
|
248
|
+
classification: 'necessary-component',
|
|
249
|
+
implication: 'The detection contract is constitutive of the finding; episodes are conditional, never self-evident.',
|
|
250
|
+
});
|
|
251
|
+
const cvs = probeCouplingVsSharedCause();
|
|
252
|
+
records.push({
|
|
253
|
+
element: 'Coupling vs shared cause', form: 'substitution',
|
|
254
|
+
hypothesis: 'Coupling is structural, not a threshold artifact.',
|
|
255
|
+
transformation: 'Weaken thresholds to the most permissive setting and retest shared cause.',
|
|
256
|
+
fixture: 'C→A, C→B (shared cause) vs A→B, B→A (coupling)',
|
|
257
|
+
expectedDistinguishingCase: 'Shared cause under zero thresholds.',
|
|
258
|
+
observed: cvs.observed,
|
|
259
|
+
preservedBehavior: 'shared cause never becomes an episode',
|
|
260
|
+
evidence: 'detectEpisodes at minInfluence=0',
|
|
261
|
+
classification: 'non-substitutable',
|
|
262
|
+
implication: 'Directed from→to structure is required; thresholds alone cannot separate coupling from shared cause.',
|
|
263
|
+
});
|
|
264
|
+
records.push({
|
|
265
|
+
element: 'Interaction episode', form: 'reconstruction',
|
|
266
|
+
hypothesis: 'Candidate episodes are derived, not primitive.',
|
|
267
|
+
transformation: 'Reconstruct episodes from transitions + world participants + ⟨B,T,C,R,I⟩.',
|
|
268
|
+
fixture: 'F1.7 14-case adversarial battery',
|
|
269
|
+
expectedDistinguishingCase: 'Mediated and overlapping episodes.',
|
|
270
|
+
observed: 'All 14 adversarial cases reproduce their preregistered verdicts from transitions + contract alone.',
|
|
271
|
+
preservedBehavior: 'episode set, participants, bases, alternates',
|
|
272
|
+
evidence: 'F1.7 detectEpisodes',
|
|
273
|
+
classification: 'derived-conditional',
|
|
274
|
+
implication: 'Interaction is removed from K₀ — derived, but only relative to a declared detection contract.',
|
|
275
|
+
});
|
|
276
|
+
// D. Relations vs Operations
|
|
277
|
+
const rel = probeRelationReconstruction();
|
|
278
|
+
records.push({
|
|
279
|
+
element: 'Relations', form: 'collapse',
|
|
280
|
+
hypothesis: 'Relation structure may collapse into directed operations/transitions.',
|
|
281
|
+
transformation: 'Reconstruct relations from observed transition edges only.',
|
|
282
|
+
fixture: 'declared latent relation A→B (never exercised) + exercised A→C',
|
|
283
|
+
expectedDistinguishingCase: 'A persistent relation with no current transition.',
|
|
284
|
+
observed: rel.observed,
|
|
285
|
+
failedCapability: rel.latentLost ? 'latent/persistent relation semantics + relation type' : undefined,
|
|
286
|
+
preservedBehavior: 'observed interaction edges are reconstructible',
|
|
287
|
+
evidence: 'relationsFromTransitions over a trace lacking the latent edge',
|
|
288
|
+
classification: 'collapsible-with-loss',
|
|
289
|
+
implication: 'Relations are NOT eliminable: observed edges reconstruct, latent/typed relation semantics do not.',
|
|
290
|
+
});
|
|
291
|
+
const ops = probeOperationReconstruction();
|
|
292
|
+
records.push({
|
|
293
|
+
element: 'Operations', form: 'reconstruction',
|
|
294
|
+
hypothesis: 'Operations may be reconstructible from State + Dynamics + transitions.',
|
|
295
|
+
transformation: 'Derive the operation vocabulary from observed transitions only.',
|
|
296
|
+
fixture: 'declared operations {act, latent}; only act is invoked',
|
|
297
|
+
expectedDistinguishingCase: 'A latent operation never exercised.',
|
|
298
|
+
observed: ops.observed,
|
|
299
|
+
failedCapability: ops.latentLost ? 'available / invocable / latent operation vocabulary' : undefined,
|
|
300
|
+
preservedBehavior: 'invoked operations are reconstructible',
|
|
301
|
+
evidence: 'operationsFromTransitions over a trace lacking the latent op',
|
|
302
|
+
classification: 'non-substitutable',
|
|
303
|
+
implication: 'Operations are required to represent available and authorized change, not merely observed change.',
|
|
304
|
+
});
|
|
305
|
+
// E. Authority and Capability
|
|
306
|
+
const cap = probeCapabilityPermissionCollapse();
|
|
307
|
+
records.push({
|
|
308
|
+
element: 'Capability / Authority', form: 'collapse',
|
|
309
|
+
hypothesis: 'Capability and permission may collapse into one allowance flag.',
|
|
310
|
+
transformation: 'Replace the two predicates with allowed = capable && permitted.',
|
|
311
|
+
fixture: 'capable-not-permitted and permitted-not-capable',
|
|
312
|
+
expectedDistinguishingCase: 'Two worlds that differ only in which predicate fails.',
|
|
313
|
+
observed: cap.observed,
|
|
314
|
+
failedCapability: cap.lost ? 'which predicate failed (diagnosis + governance provenance)' : undefined,
|
|
315
|
+
evidence: 'evaluateOpportunity failedPredicates vs the collapsed conjunction',
|
|
316
|
+
classification: 'collapsible-with-loss',
|
|
317
|
+
implication: 'Kept distinct as typed constraints (ratified M1.5-04); neither becomes a kernel primitive.',
|
|
318
|
+
});
|
|
319
|
+
records.push({
|
|
320
|
+
element: 'Capability / Authority', form: 'removal',
|
|
321
|
+
hypothesis: 'They are typed constraints consumed by derivations, not standalone primitives.',
|
|
322
|
+
transformation: 'Remove each independently from the opportunity context.',
|
|
323
|
+
fixture: 'F1.6 removal probes',
|
|
324
|
+
expectedDistinguishingCase: 'capable unaffected when authority is removed, and vice versa.',
|
|
325
|
+
observed: 'Removing authority leaves capable intact; removing capability leaves permitted intact — the predicates are independent.',
|
|
326
|
+
preservedBehavior: 'independence of can vs may',
|
|
327
|
+
evidence: 'probeOpportunityRemoval(capability) and (authority)',
|
|
328
|
+
classification: 'necessary-component',
|
|
329
|
+
implication: 'Retained as operation constraints (typed predicates), not as K elements.',
|
|
330
|
+
});
|
|
331
|
+
// F. Projection
|
|
332
|
+
const proj = probeProjectionMateriality();
|
|
333
|
+
records.push({
|
|
334
|
+
element: 'Projection', form: 'collapse',
|
|
335
|
+
hypothesis: 'Projection may collapse into observation alone.',
|
|
336
|
+
transformation: 'Hold state constant; vary only the projection.',
|
|
337
|
+
fixture: 'same state, projection full vs reduced',
|
|
338
|
+
expectedDistinguishingCase: 'An operation exposed by one projection and hidden by another.',
|
|
339
|
+
observed: proj.observed,
|
|
340
|
+
failedCapability: proj.material ? 'exposure / signaling / operation availability under a projection' : undefined,
|
|
341
|
+
evidence: 'evaluateOpportunity under two projections over identical state',
|
|
342
|
+
classification: 'non-substitutable',
|
|
343
|
+
implication: 'Projection materially changes derivation results; it does NOT collapse into observation. Retained in K₀ as Π.',
|
|
344
|
+
});
|
|
345
|
+
// G. Entities / identity
|
|
346
|
+
const ent = probeEntityIdentityRemoval();
|
|
347
|
+
records.push({
|
|
348
|
+
element: 'Entities (identity)', form: 'removal',
|
|
349
|
+
hypothesis: 'Identity is required for attribution in every downstream derivation.',
|
|
350
|
+
transformation: 'Anonymize participant identity in the trace.',
|
|
351
|
+
fixture: 'A↔B reciprocal episode with identities erased',
|
|
352
|
+
expectedDistinguishingCase: 'Two participants that become indistinguishable.',
|
|
353
|
+
observed: ent.observed,
|
|
354
|
+
failedCapability: ent.attributionLost ? 'participant attribution (episode + opportunity)' : undefined,
|
|
355
|
+
evidence: 'detectEpisodes with named vs anonymized participants',
|
|
356
|
+
classification: 'representation-dependent',
|
|
357
|
+
implication: 'Identity is necessary; whether it is a separate element or a typed structure inside X is a representation choice.',
|
|
358
|
+
});
|
|
359
|
+
// Invariants
|
|
360
|
+
records.push({
|
|
361
|
+
element: 'Invariants', form: 'collapse',
|
|
362
|
+
hypothesis: 'Invariants may be collapsed into transition guards inside Dynamics.',
|
|
363
|
+
transformation: 'Install invariants as guards within the dynamics realization.',
|
|
364
|
+
fixture: 'opaque-native field substrate',
|
|
365
|
+
expectedDistinguishingCase: 'An opaque substrate that exposes no guard-installation point.',
|
|
366
|
+
observed: 'The field substrate declares inspectInternalState=false and declareTransitionLaw=false — the kernel cannot install guards inside it; invariants are checked OUTSIDE the substrate over a readable projection.',
|
|
367
|
+
failedCapability: 'guard installation inside an opaque substrate',
|
|
368
|
+
preservedBehavior: 'kernel-side invariant checking over a snapshot reading',
|
|
369
|
+
evidence: 'field contract capabilities + checkInvariantsAgainst',
|
|
370
|
+
classification: 'necessary-component',
|
|
371
|
+
implication: 'Invariants must remain kernel-side (V); they cannot be guards over Dynamics for opaque substrates.',
|
|
372
|
+
});
|
|
373
|
+
return records;
|
|
374
|
+
}
|
|
375
|
+
/** K = ⟨Entities, State, Relations, Operations, Dynamics, Projection, Invariants⟩ */
|
|
376
|
+
export const K_ELEMENTS = ['Entities', 'State', 'Relations', 'Operations', 'Dynamics', 'Projection', 'Invariants'];
|
|
377
|
+
/** K₀ = ⟨X, Θ, Π, V⟩ — X carries typed entity/relation/operation structure. */
|
|
378
|
+
export const K0_ELEMENTS = ['X (state incl. typed entities/relations/operations)', 'Θ (lawful evolution + admissible operations)', 'Π (projection)', 'V (validity/invariants)'];
|
|
379
|
+
export function kernelComparison() {
|
|
380
|
+
return [
|
|
381
|
+
{
|
|
382
|
+
element: 'Entities', roleInK: 'identity-bearing participants', ablationResult: 'representation-dependent',
|
|
383
|
+
retainedInK0: true, reason: 'Identity is required for attribution in Ω_sys and episode detection; anonymization destroys it.',
|
|
384
|
+
derivationOrCounterexample: 'Anonymized trace loses participant attribution (probeEntityIdentityRemoval).',
|
|
385
|
+
confidence: 'high', remainingUncertainty: 'Hosting as a typed structure inside X vs a separate element is untested for large worlds.',
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
element: 'State', roleInK: 'world configuration', ablationResult: 'necessary-primitive',
|
|
389
|
+
retainedInK0: true, reason: 'Every derivation reads state; nothing reconstructs it.',
|
|
390
|
+
derivationOrCounterexample: 'No candidate derivation exists; removal disables all probes.',
|
|
391
|
+
confidence: 'high', remainingUncertainty: 'None within the tested domain.',
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
element: 'Relations', roleInK: 'typed structure between participants', ablationResult: 'collapsible-with-loss',
|
|
395
|
+
retainedInK0: true, reason: 'Observed edges reconstruct from transitions, but latent/persistent relations and relation TYPE do not.',
|
|
396
|
+
derivationOrCounterexample: 'Declared latent A→B never appears in any transition (probeRelationReconstruction).',
|
|
397
|
+
confidence: 'high', remainingUncertainty: 'Whether relation type can be carried as operation metadata instead of relation structure.',
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
element: 'Operations', roleInK: 'admissible/invocable change', ablationResult: 'non-substitutable',
|
|
401
|
+
retainedInK0: true, reason: 'Transitions record only invoked change; available, permitted, and latent operations are not recoverable.',
|
|
402
|
+
derivationOrCounterexample: 'Latent operation never invoked is absent from operationsFromTransitions.',
|
|
403
|
+
confidence: 'high', remainingUncertainty: 'Whether Operations fold into Θ as labeled transitions without loss (folded in K₀, untested at scale).',
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
element: 'Dynamics', roleInK: 'lawful evolution', ablationResult: 'non-substitutable',
|
|
407
|
+
retainedInK0: true, reason: 'Declarative substitution covers only part of the corpus; opaque laws remain (F1.5).',
|
|
408
|
+
derivationOrCounterexample: '3 of 11 corpus laws have no declarative representation (hidden state, host/callback, nonlinear time).',
|
|
409
|
+
confidence: 'high', remainingUncertainty: 'Whether a richer IR could absorb the opaque region without becoming JavaScript-as-data.',
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
element: 'Projection', roleInK: 'participant-relative access', ablationResult: 'non-substitutable',
|
|
413
|
+
retainedInK0: true, reason: 'Projection materially changes Ω_sys over identical state; it is not reducible to observation.',
|
|
414
|
+
derivationOrCounterexample: 'Same state, two projections → different availability (probeProjectionMateriality).',
|
|
415
|
+
confidence: 'high', remainingUncertainty: 'Whether the sub-roles (exposure vs signaling vs evidence access) need separate elements.',
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
element: 'Invariants', roleInK: 'validity predicates', ablationResult: 'necessary-component',
|
|
419
|
+
retainedInK0: true, reason: 'Cannot be installed as guards inside an opaque substrate; must be checked kernel-side.',
|
|
420
|
+
derivationOrCounterexample: 'Field substrate declares inspectInternalState=false, declareTransitionLaw=false.',
|
|
421
|
+
confidence: 'medium', remainingUncertainty: 'For fully declarative substrates, invariants MIGHT reduce to transition guards — untested.',
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
element: 'Opportunity (Ω_sys)', roleInK: 'candidate element (never ratified)', ablationResult: 'derived-complete',
|
|
425
|
+
retainedInK0: false, reason: 'Fully reconstructed from state, operations, capability, authority, projection, reachability, history.',
|
|
426
|
+
derivationOrCounterexample: 'Ω_sys = f(X, 𝒪, Cap, Auth, Reach, Π, H) — F1.6 executable derivation.',
|
|
427
|
+
confidence: 'high', remainingUncertainty: 'Participant-believed opportunity remains empirical and out of scope.',
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
element: 'Interaction episode', roleInK: 'candidate element (never ratified)', ablationResult: 'derived-conditional',
|
|
431
|
+
retainedInK0: false, reason: 'Derived from transitions + world participants under a declared detection contract.',
|
|
432
|
+
derivationOrCounterexample: 'F1.7 reproduces all 14 adversarial verdicts from transitions + ⟨B,T,C,R,I⟩.',
|
|
433
|
+
confidence: 'high', remainingUncertainty: 'Boundary justification is analytic/empirical, not runtime-decidable.',
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
element: 'Capability / Authority', roleInK: 'typed constraints (M1.5-04)', ablationResult: 'collapsible-with-loss',
|
|
437
|
+
retainedInK0: false, reason: 'Not kernel elements; typed predicates consumed by derivations. Collapsing the two loses diagnosis.',
|
|
438
|
+
derivationOrCounterexample: 'capable-not-permitted and permitted-not-capable are indistinguishable under a single allowance flag.',
|
|
439
|
+
confidence: 'high', remainingUncertainty: 'Delegated authority chains not modeled.',
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
element: 'DynamicsContract', roleInK: 'experimental runtime boundary', ablationResult: 'execution-boundary-only',
|
|
443
|
+
retainedInK0: false, reason: 'A runtime interface enabling substrate interchange, not a formal kernel element.',
|
|
444
|
+
derivationOrCounterexample: 'One kernel executes opaque-native and interpreted substrates unchanged (F1.3).',
|
|
445
|
+
confidence: 'high', remainingUncertainty: 'Whether opaque and declarative dynamics ultimately need separate contract types.',
|
|
446
|
+
},
|
|
447
|
+
];
|
|
448
|
+
}
|
|
449
|
+
//# sourceMappingURL=ablation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ablation.js","sourceRoot":"","sources":["../../../src/world/ablation/ablation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { CompiledPattern } from '../../recipes/compile.ts';
|
|
2
|
+
import type { FieldHandle } from '../../engine/types.ts';
|
|
3
|
+
import type { WorldVersionEnvelope } from '../envelope.ts';
|
|
4
|
+
import type { World } from '../world.ts';
|
|
5
|
+
import type { DynamicsContract } from '../dynamics.ts';
|
|
6
|
+
export interface FieldRuntimeMappingReport {
|
|
7
|
+
readonly preserved: readonly string[];
|
|
8
|
+
readonly transformed: readonly string[];
|
|
9
|
+
readonly omitted: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
/** Translate a compiled pattern into a generic World, with an explicit preserved/transformed/omitted map. */
|
|
12
|
+
export declare function worldFromCompiledPattern(compiled: CompiledPattern): {
|
|
13
|
+
world: World;
|
|
14
|
+
mapping: FieldRuntimeMappingReport;
|
|
15
|
+
};
|
|
16
|
+
interface FieldState {
|
|
17
|
+
readonly field: FieldHandle;
|
|
18
|
+
readonly tick: () => void;
|
|
19
|
+
readonly step: number;
|
|
20
|
+
readonly envelope: WorldVersionEnvelope;
|
|
21
|
+
}
|
|
22
|
+
export interface FieldAdvanceInput {
|
|
23
|
+
readonly steps?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface FieldAdvanceOutput {
|
|
26
|
+
readonly steps: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Controlled construction inputs for the field substrate. Owned by the FIXTURE (F1.4), NOT the adapter,
|
|
30
|
+
* so a raw baseline and the adapted path can be built from identical inputs. The adapter is under test;
|
|
31
|
+
* it must not define or regenerate the baseline.
|
|
32
|
+
*/
|
|
33
|
+
export interface FieldConstruction {
|
|
34
|
+
readonly hostWidth: number;
|
|
35
|
+
readonly hostHeight: number;
|
|
36
|
+
/** Produces a FRESH identical PRNG stream on each call (raw and adapted paths must not share state). */
|
|
37
|
+
readonly makeRng: () => () => number;
|
|
38
|
+
/** Produces a FRESH identical clock on each call (controls `now`, so the wall clock is not an input). */
|
|
39
|
+
readonly makeNow: () => () => number;
|
|
40
|
+
readonly placement: (index: number) => {
|
|
41
|
+
readonly left: number;
|
|
42
|
+
readonly top: number;
|
|
43
|
+
readonly width: number;
|
|
44
|
+
readonly height: number;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export declare const DEFAULT_FIELD_CONSTRUCTION: FieldConstruction;
|
|
48
|
+
/**
|
|
49
|
+
* A DynamicsContract backed by the OPAQUE Fundamental field runtime. It runs a declared World's entities
|
|
50
|
+
* through a headless field. `executionKind: 'opaque-native'`; it advertises only what the runtime
|
|
51
|
+
* supports (lossy snapshot, no restore/replay); it never claims to know the internal force laws, and it
|
|
52
|
+
* records that behavioral interpretation is unresolved rather than asserting it.
|
|
53
|
+
*/
|
|
54
|
+
export declare function fieldRuntimeDynamics(world: World, construction?: FieldConstruction): DynamicsContract<FieldState, FieldAdvanceInput, FieldAdvanceOutput>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=field-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-runtime.d.ts","sourceRoot":"","sources":["../../../src/world/adapters/field-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,uBAAuB,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAGV,KAAK,EAMN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,gBAAgB,EAOjB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AA0BD,6GAA6G;AAC7G,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,GACxB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAmDtD;AAwCD,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAkBD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,MAAM,CAAC;IACrC,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzI;AAED,eAAO,MAAM,0BAA0B,EAAE,iBAYxC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,YAAY,GAAE,iBAA8C,GAC3D,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAyFrE"}
|