@fundamental-engine/core 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/dist/agents/element-agent.d.ts +38 -0
- package/dist/agents/element-agent.d.ts.map +1 -0
- package/dist/agents/element-agent.js +70 -0
- package/dist/agents/element-agent.js.map +1 -0
- package/dist/agents/event-agent.d.ts +47 -0
- package/dist/agents/event-agent.d.ts.map +1 -0
- package/dist/agents/event-agent.js +82 -0
- package/dist/agents/event-agent.js.map +1 -0
- package/dist/agents/index.d.ts +17 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +57 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/region-agents.d.ts +40 -0
- package/dist/agents/region-agents.d.ts.map +1 -0
- package/dist/agents/region-agents.js +22 -0
- package/dist/agents/region-agents.js.map +1 -0
- package/dist/agents/relationship.d.ts +55 -0
- package/dist/agents/relationship.d.ts.map +1 -0
- package/dist/agents/relationship.js +40 -0
- package/dist/agents/relationship.js.map +1 -0
- package/dist/agents/user-agent.d.ts +57 -0
- package/dist/agents/user-agent.d.ts.map +1 -0
- package/dist/agents/user-agent.js +45 -0
- package/dist/agents/user-agent.js.map +1 -0
- package/dist/config/forces.config.d.ts +101 -0
- package/dist/config/forces.config.d.ts.map +1 -0
- package/dist/config/forces.config.js +239 -0
- package/dist/config/forces.config.js.map +1 -0
- package/dist/config/manual.d.ts +134 -0
- package/dist/config/manual.d.ts.map +1 -0
- package/dist/config/manual.js +604 -0
- package/dist/config/manual.js.map +1 -0
- package/dist/config/palettes.d.ts +18 -0
- package/dist/config/palettes.d.ts.map +1 -0
- package/dist/config/palettes.js +34 -0
- package/dist/config/palettes.js.map +1 -0
- package/dist/config/presets.d.ts +48 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +87 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/tokens.d.ts +3 -0
- package/dist/config/tokens.d.ts.map +1 -0
- package/dist/config/tokens.js +16 -0
- package/dist/config/tokens.js.map +1 -0
- package/dist/conformance/expectations.d.ts +40 -0
- package/dist/conformance/expectations.d.ts.map +1 -0
- package/dist/conformance/expectations.js +347 -0
- package/dist/conformance/expectations.js.map +1 -0
- package/dist/conformance/experiments.d.ts +17 -0
- package/dist/conformance/experiments.d.ts.map +1 -0
- package/dist/conformance/experiments.js +875 -0
- package/dist/conformance/experiments.js.map +1 -0
- package/dist/conformance/run.d.ts +18 -0
- package/dist/conformance/run.d.ts.map +1 -0
- package/dist/conformance/run.js +240 -0
- package/dist/conformance/run.js.map +1 -0
- package/dist/conformance/types.d.ts +100 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +2 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/contracts/guards.d.ts +51 -0
- package/dist/contracts/guards.d.ts.map +1 -0
- package/dist/contracts/guards.js +100 -0
- package/dist/contracts/guards.js.map +1 -0
- package/dist/contracts/index.d.ts +18 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +107 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/passport.d.ts +88 -0
- package/dist/contracts/passport.d.ts.map +1 -0
- package/dist/contracts/passport.js +135 -0
- package/dist/contracts/passport.js.map +1 -0
- package/dist/contracts/types.d.ts +120 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +24 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/accretion.d.ts +50 -0
- package/dist/core/accretion.d.ts.map +1 -0
- package/dist/core/accretion.js +98 -0
- package/dist/core/accretion.js.map +1 -0
- package/dist/core/agents.d.ts +31 -0
- package/dist/core/agents.d.ts.map +1 -0
- package/dist/core/agents.js +51 -0
- package/dist/core/agents.js.map +1 -0
- package/dist/core/attention.d.ts +72 -0
- package/dist/core/attention.d.ts.map +1 -0
- package/dist/core/attention.js +122 -0
- package/dist/core/attention.js.map +1 -0
- package/dist/core/causality.d.ts +38 -0
- package/dist/core/causality.d.ts.map +1 -0
- package/dist/core/causality.js +64 -0
- package/dist/core/causality.js.map +1 -0
- package/dist/core/conditions.d.ts +10 -0
- package/dist/core/conditions.d.ts.map +1 -0
- package/dist/core/conditions.js +22 -0
- package/dist/core/conditions.js.map +1 -0
- package/dist/core/currents.d.ts +53 -0
- package/dist/core/currents.d.ts.map +1 -0
- package/dist/core/currents.js +65 -0
- package/dist/core/currents.js.map +1 -0
- package/dist/core/dock.d.ts +35 -0
- package/dist/core/dock.d.ts.map +1 -0
- package/dist/core/dock.js +39 -0
- package/dist/core/dock.js.map +1 -0
- package/dist/core/events.d.ts +23 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +34 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/feedback-sink.d.ts +32 -0
- package/dist/core/feedback-sink.d.ts.map +1 -0
- package/dist/core/feedback-sink.js +53 -0
- package/dist/core/feedback-sink.js.map +1 -0
- package/dist/core/feedback.d.ts +11 -0
- package/dist/core/feedback.d.ts.map +1 -0
- package/dist/core/feedback.js +16 -0
- package/dist/core/feedback.js.map +1 -0
- package/dist/core/field-store.d.ts +26 -0
- package/dist/core/field-store.d.ts.map +1 -0
- package/dist/core/field-store.js +54 -0
- package/dist/core/field-store.js.map +1 -0
- package/dist/core/field.d.ts +18 -0
- package/dist/core/field.d.ts.map +1 -0
- package/dist/core/field.js +1943 -0
- package/dist/core/field.js.map +1 -0
- package/dist/core/fieldline-seeds.d.ts +25 -0
- package/dist/core/fieldline-seeds.d.ts.map +1 -0
- package/dist/core/fieldline-seeds.js +32 -0
- package/dist/core/fieldline-seeds.js.map +1 -0
- package/dist/core/fieldlines.d.ts +75 -0
- package/dist/core/fieldlines.d.ts.map +1 -0
- package/dist/core/fieldlines.js +111 -0
- package/dist/core/fieldlines.js.map +1 -0
- package/dist/core/flow.d.ts +38 -0
- package/dist/core/flow.d.ts.map +1 -0
- package/dist/core/flow.js +27 -0
- package/dist/core/flow.js.map +1 -0
- package/dist/core/formations.d.ts +11 -0
- package/dist/core/formations.d.ts.map +1 -0
- package/dist/core/formations.js +22 -0
- package/dist/core/formations.js.map +1 -0
- package/dist/core/geometry.d.ts +67 -0
- package/dist/core/geometry.d.ts.map +1 -0
- package/dist/core/geometry.js +68 -0
- package/dist/core/geometry.js.map +1 -0
- package/dist/core/heatmap.d.ts +22 -0
- package/dist/core/heatmap.d.ts.map +1 -0
- package/dist/core/heatmap.js +55 -0
- package/dist/core/heatmap.js.map +1 -0
- package/dist/core/host.d.ts +46 -0
- package/dist/core/host.d.ts.map +1 -0
- package/dist/core/host.js +11 -0
- package/dist/core/host.js.map +1 -0
- package/dist/core/integrator.d.ts +24 -0
- package/dist/core/integrator.d.ts.map +1 -0
- package/dist/core/integrator.js +375 -0
- package/dist/core/integrator.js.map +1 -0
- package/dist/core/math.d.ts +37 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +77 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/reactions.d.ts +32 -0
- package/dist/core/reactions.d.ts.map +1 -0
- package/dist/core/reactions.js +45 -0
- package/dist/core/reactions.js.map +1 -0
- package/dist/core/registry.d.ts +13 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +20 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/render-backend.d.ts +46 -0
- package/dist/core/render-backend.d.ts.map +1 -0
- package/dist/core/render-backend.js +75 -0
- package/dist/core/render-backend.js.map +1 -0
- package/dist/core/render-modes.d.ts +42 -0
- package/dist/core/render-modes.d.ts.map +1 -0
- package/dist/core/render-modes.js +141 -0
- package/dist/core/render-modes.js.map +1 -0
- package/dist/core/reservoir.d.ts +43 -0
- package/dist/core/reservoir.d.ts.map +1 -0
- package/dist/core/reservoir.js +207 -0
- package/dist/core/reservoir.js.map +1 -0
- package/dist/core/scalar-grid.d.ts +51 -0
- package/dist/core/scalar-grid.d.ts.map +1 -0
- package/dist/core/scalar-grid.js +146 -0
- package/dist/core/scalar-grid.js.map +1 -0
- package/dist/core/scanner.d.ts +59 -0
- package/dist/core/scanner.d.ts.map +1 -0
- package/dist/core/scanner.js +260 -0
- package/dist/core/scanner.js.map +1 -0
- package/dist/core/shadow.d.ts +69 -0
- package/dist/core/shadow.d.ts.map +1 -0
- package/dist/core/shadow.js +84 -0
- package/dist/core/shadow.js.map +1 -0
- package/dist/core/spatial-hash.d.ts +30 -0
- package/dist/core/spatial-hash.d.ts.map +1 -0
- package/dist/core/spatial-hash.js +64 -0
- package/dist/core/spatial-hash.js.map +1 -0
- package/dist/core/streamlines.d.ts +29 -0
- package/dist/core/streamlines.d.ts.map +1 -0
- package/dist/core/streamlines.js +70 -0
- package/dist/core/streamlines.js.map +1 -0
- package/dist/core/surface.d.ts +19 -0
- package/dist/core/surface.d.ts.map +1 -0
- package/dist/core/surface.js +21 -0
- package/dist/core/surface.js.map +1 -0
- package/dist/core/temporal.d.ts +110 -0
- package/dist/core/temporal.d.ts.map +1 -0
- package/dist/core/temporal.js +139 -0
- package/dist/core/temporal.js.map +1 -0
- package/dist/core/thermo.d.ts +48 -0
- package/dist/core/thermo.d.ts.map +1 -0
- package/dist/core/thermo.js +48 -0
- package/dist/core/thermo.js.map +1 -0
- package/dist/core/types.d.ts +610 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/weights.d.ts +111 -0
- package/dist/core/weights.d.ts.map +1 -0
- package/dist/core/weights.js +128 -0
- package/dist/core/weights.js.map +1 -0
- package/dist/diagnostics/energy.d.ts +21 -0
- package/dist/diagnostics/energy.d.ts.map +1 -0
- package/dist/diagnostics/energy.js +27 -0
- package/dist/diagnostics/energy.js.map +1 -0
- package/dist/diagnostics/fields.d.ts +23 -0
- package/dist/diagnostics/fields.d.ts.map +1 -0
- package/dist/diagnostics/fields.js +30 -0
- package/dist/diagnostics/fields.js.map +1 -0
- package/dist/diagnostics/index.d.ts +46 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +23 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/diagnostics/modes.d.ts +108 -0
- package/dist/diagnostics/modes.d.ts.map +1 -0
- package/dist/diagnostics/modes.js +181 -0
- package/dist/diagnostics/modes.js.map +1 -0
- package/dist/diagnostics/potential.d.ts +30 -0
- package/dist/diagnostics/potential.d.ts.map +1 -0
- package/dist/diagnostics/potential.js +43 -0
- package/dist/diagnostics/potential.js.map +1 -0
- package/dist/diagnostics/probes.d.ts +31 -0
- package/dist/diagnostics/probes.d.ts.map +1 -0
- package/dist/diagnostics/probes.js +61 -0
- package/dist/diagnostics/probes.js.map +1 -0
- package/dist/diagnostics/render.d.ts +49 -0
- package/dist/diagnostics/render.d.ts.map +1 -0
- package/dist/diagnostics/render.js +132 -0
- package/dist/diagnostics/render.js.map +1 -0
- package/dist/export.d.ts +18 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +17 -0
- package/dist/export.js.map +1 -0
- package/dist/forces/extended.d.ts +121 -0
- package/dist/forces/extended.d.ts.map +1 -0
- package/dist/forces/extended.js +674 -0
- package/dist/forces/extended.js.map +1 -0
- package/dist/forces/index.d.ts +33 -0
- package/dist/forces/index.d.ts.map +1 -0
- package/dist/forces/index.js +237 -0
- package/dist/forces/index.js.map +1 -0
- package/dist/forces/natural.d.ts +106 -0
- package/dist/forces/natural.d.ts.map +1 -0
- package/dist/forces/natural.js +385 -0
- package/dist/forces/natural.js.map +1 -0
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect/budget.d.ts +17 -0
- package/dist/inspect/budget.d.ts.map +1 -0
- package/dist/inspect/budget.js +19 -0
- package/dist/inspect/budget.js.map +1 -0
- package/dist/inspect/index.d.ts +10 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +10 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/report.d.ts +17 -0
- package/dist/inspect/report.d.ts.map +1 -0
- package/dist/inspect/report.js +44 -0
- package/dist/inspect/report.js.map +1 -0
- package/dist/inspect/snapshot.d.ts +21 -0
- package/dist/inspect/snapshot.d.ts.map +1 -0
- package/dist/inspect/snapshot.js +30 -0
- package/dist/inspect/snapshot.js.map +1 -0
- package/dist/recipes/catalog.d.ts +51 -0
- package/dist/recipes/catalog.d.ts.map +1 -0
- package/dist/recipes/catalog.js +1496 -0
- package/dist/recipes/catalog.js.map +1 -0
- package/dist/recipes/charge.d.ts +18 -0
- package/dist/recipes/charge.d.ts.map +1 -0
- package/dist/recipes/charge.js +27 -0
- package/dist/recipes/charge.js.map +1 -0
- package/dist/recipes/compile.d.ts +93 -0
- package/dist/recipes/compile.d.ts.map +1 -0
- package/dist/recipes/compile.js +113 -0
- package/dist/recipes/compile.js.map +1 -0
- package/dist/recipes/explain.d.ts +8 -0
- package/dist/recipes/explain.d.ts.map +1 -0
- package/dist/recipes/explain.js +46 -0
- package/dist/recipes/explain.js.map +1 -0
- package/dist/recipes/gallery.d.ts +6 -0
- package/dist/recipes/gallery.d.ts.map +1 -0
- package/dist/recipes/gallery.js +6 -0
- package/dist/recipes/gallery.js.map +1 -0
- package/dist/recipes/gravity.d.ts +16 -0
- package/dist/recipes/gravity.d.ts.map +1 -0
- package/dist/recipes/gravity.js +27 -0
- package/dist/recipes/gravity.js.map +1 -0
- package/dist/recipes/index.d.ts +18 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +36 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/intent.d.ts +44 -0
- package/dist/recipes/intent.d.ts.map +1 -0
- package/dist/recipes/intent.js +46 -0
- package/dist/recipes/intent.js.map +1 -0
- package/dist/recipes/schema.d.ts +103 -0
- package/dist/recipes/schema.d.ts.map +1 -0
- package/dist/recipes/schema.js +123 -0
- package/dist/recipes/schema.js.map +1 -0
- package/dist/recipes/wayfinding.d.ts +39 -0
- package/dist/recipes/wayfinding.d.ts.map +1 -0
- package/dist/recipes/wayfinding.js +77 -0
- package/dist/recipes/wayfinding.js.map +1 -0
- package/dist/semantic/index.d.ts +13 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/index.js +31 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/layers.d.ts +24 -0
- package/dist/semantic/layers.d.ts.map +1 -0
- package/dist/semantic/layers.js +27 -0
- package/dist/semantic/layers.js.map +1 -0
- package/dist/semantic/materials.d.ts +20 -0
- package/dist/semantic/materials.d.ts.map +1 -0
- package/dist/semantic/materials.js +17 -0
- package/dist/semantic/materials.js.map +1 -0
- package/dist/semantic/states.d.ts +11 -0
- package/dist/semantic/states.d.ts.map +1 -0
- package/dist/semantic/states.js +26 -0
- package/dist/semantic/states.js.map +1 -0
- package/dist/visual/channels.d.ts +71 -0
- package/dist/visual/channels.d.ts.map +1 -0
- package/dist/visual/channels.js +70 -0
- package/dist/visual/channels.js.map +1 -0
- package/dist/visual/index.d.ts +39 -0
- package/dist/visual/index.d.ts.map +1 -0
- package/dist/visual/index.js +30 -0
- package/dist/visual/index.js.map +1 -0
- package/dist/visual/lint.d.ts +41 -0
- package/dist/visual/lint.d.ts.map +1 -0
- package/dist/visual/lint.js +58 -0
- package/dist/visual/lint.js.map +1 -0
- package/dist/visual/mapping.d.ts +13 -0
- package/dist/visual/mapping.d.ts.map +1 -0
- package/dist/visual/mapping.js +43 -0
- package/dist/visual/mapping.js.map +1 -0
- package/dist/visual/semantic-text.d.ts +28 -0
- package/dist/visual/semantic-text.d.ts.map +1 -0
- package/dist/visual/semantic-text.js +36 -0
- package/dist/visual/semantic-text.js.map +1 -0
- package/dist/visual/tokens.d.ts +23 -0
- package/dist/visual/tokens.d.ts.map +1 -0
- package/dist/visual/tokens.js +54 -0
- package/dist/visual/tokens.js.map +1 -0
- package/dist/visual/visualization.d.ts +31 -0
- package/dist/visual/visualization.d.ts.map +1 -0
- package/dist/visual/visualization.js +47 -0
- package/dist/visual/visualization.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended.js","sourceRoot":"","sources":["../../src/forces/extended.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The canonical nine forces (§6) as registry modules.
|
|
3
|
+
*
|
|
4
|
+
* Each is an independent `Force` — the engine never changes to add one (§4).
|
|
5
|
+
* The math is the exact per-frame implementation from `docs/engine-reference/forces-system.md`
|
|
6
|
+
* §6.1–§6.9. `e.dx/e.dy` point from the particle toward the body; `e.dist ≥ 1`.
|
|
7
|
+
* On-state (`b.on`) widens range and boosts strength per the spec.
|
|
8
|
+
*/
|
|
9
|
+
import type { Force } from '../core/types.ts';
|
|
10
|
+
import type { Registry } from '../core/registry.ts';
|
|
11
|
+
/** §6.1 — a soft gravity-like well, with optional orbital swirl. */
|
|
12
|
+
export declare const attract: Force;
|
|
13
|
+
/** §6.6 — inverse-square outward push; carves a void. */
|
|
14
|
+
export declare const repel: Force;
|
|
15
|
+
/** §6.8 — tangential swirl with light inward retention. */
|
|
16
|
+
export declare const swirl: Force;
|
|
17
|
+
/** §6.5 — a steady directional current along the heading. */
|
|
18
|
+
export declare const stream: Force;
|
|
19
|
+
/** §6.7 — viscosity; bleeds momentum, no redirection. */
|
|
20
|
+
export declare const viscosity: Force;
|
|
21
|
+
/** §6.2 — a conduit: draws matter in, jets it out along the heading. */
|
|
22
|
+
export declare const jet: Force;
|
|
23
|
+
/** §6.3 — a tether with a rest length; holds matter at a shell radius. */
|
|
24
|
+
export declare const tether: Force;
|
|
25
|
+
/** §6.4 — an axis-aligned bouncing wall; sparks on hard impact. */
|
|
26
|
+
export declare const wall: Force;
|
|
27
|
+
/** §6.9 — captures matter (held, conserved), then releases on saturation. */
|
|
28
|
+
export declare const sink: Force;
|
|
29
|
+
/** The canonical nine, in spec order. */
|
|
30
|
+
export declare const coreForces: readonly Force[];
|
|
31
|
+
/** Register the canonical nine on a registry (§4). */
|
|
32
|
+
export declare function registerCoreForces(reg: Registry): void;
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forces/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,oEAAoE;AACpE,eAAO,MAAM,OAAO,EAAE,KAqBrB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,KAAK,EAAE,KAanB,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,KAAK,EAAE,KAqBnB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,KAapB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,SAAS,EAAE,KAYvB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,GAAG,EAAE,KAgCjB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,MAAM,EAAE,KAoBpB,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,IAAI,EAAE,KAyBlB,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,IAAI,EAAE,KAUlB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,UAAU,EAAE,SAAS,KAAK,EAUtC,CAAC;AAEF,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAEtD"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The canonical nine forces (§6) as registry modules.
|
|
3
|
+
*
|
|
4
|
+
* Each is an independent `Force` — the engine never changes to add one (§4).
|
|
5
|
+
* The math is the exact per-frame implementation from `docs/engine-reference/forces-system.md`
|
|
6
|
+
* §6.1–§6.9. `e.dx/e.dy` point from the particle toward the body; `e.dist ≥ 1`.
|
|
7
|
+
* On-state (`b.on`) widens range and boosts strength per the spec.
|
|
8
|
+
*/
|
|
9
|
+
import { FORCE_BY } from "../config/forces.config.js";
|
|
10
|
+
/** §6.1 — a soft gravity-like well, with optional orbital swirl. */
|
|
11
|
+
export const attract = {
|
|
12
|
+
token: 'attract',
|
|
13
|
+
label: 'Attract',
|
|
14
|
+
apply(b, p, e) {
|
|
15
|
+
const range = b.range * (b.on ? 1.5 : 1);
|
|
16
|
+
const s = b.strength * (b.on ? 3 : 1);
|
|
17
|
+
if (e.dist >= range)
|
|
18
|
+
return;
|
|
19
|
+
const f = (1 - e.dist / range) ** 2 * s * 0.5;
|
|
20
|
+
const ux = e.dx / e.dist;
|
|
21
|
+
const uy = e.dy / e.dist;
|
|
22
|
+
p.vx += ux * f;
|
|
23
|
+
p.vy += uy * f;
|
|
24
|
+
// optional z leg (z-axis.md): e.dz is 0 in a flat field, so this is inert there.
|
|
25
|
+
if (e.dz)
|
|
26
|
+
p.vz = (p.vz ?? 0) + (e.dz / e.dist) * f;
|
|
27
|
+
if (e.form.orbit) {
|
|
28
|
+
p.vx += -uy * f * e.form.orbit; // tangential swirl → orbits (about the z axis)
|
|
29
|
+
p.vy += ux * f * e.form.orbit;
|
|
30
|
+
}
|
|
31
|
+
if (b.on)
|
|
32
|
+
p.heat = Math.max(p.heat, (1 - e.dist / range) * 0.9);
|
|
33
|
+
},
|
|
34
|
+
meta: { desc: 'a soft gravity-like well, bent into a spiral' },
|
|
35
|
+
};
|
|
36
|
+
/** §6.6 — inverse-square outward push; carves a void. */
|
|
37
|
+
export const repel = {
|
|
38
|
+
token: 'repel',
|
|
39
|
+
label: 'Repel',
|
|
40
|
+
apply(b, p, e) {
|
|
41
|
+
const range = b.range * (b.on ? 1.4 : 1);
|
|
42
|
+
const s = b.strength * (b.on ? 2 : 1);
|
|
43
|
+
if (e.dist >= range)
|
|
44
|
+
return;
|
|
45
|
+
const f = (1 - e.dist / range) ** 2 * s * 0.5;
|
|
46
|
+
p.vx -= (e.dx / e.dist) * f;
|
|
47
|
+
p.vy -= (e.dy / e.dist) * f;
|
|
48
|
+
if (e.dz)
|
|
49
|
+
p.vz = (p.vz ?? 0) - (e.dz / e.dist) * f; // z leg — inert in a flat field
|
|
50
|
+
},
|
|
51
|
+
meta: { desc: 'inverse-square outward push' },
|
|
52
|
+
};
|
|
53
|
+
/** §6.8 — tangential swirl with light inward retention. */
|
|
54
|
+
export const swirl = {
|
|
55
|
+
token: 'swirl',
|
|
56
|
+
label: 'Swirl',
|
|
57
|
+
apply(b, p, e) {
|
|
58
|
+
const range = b.range * (b.on ? 1.4 : 1);
|
|
59
|
+
const s = b.strength * (b.on ? 2 : 1);
|
|
60
|
+
if (e.dist >= range)
|
|
61
|
+
return;
|
|
62
|
+
const f = (1 - e.dist / range) ** 1.4 * s * 0.45;
|
|
63
|
+
const spin = b.spin;
|
|
64
|
+
const ux = e.dx / e.dist;
|
|
65
|
+
const uy = e.dy / e.dist;
|
|
66
|
+
// tangential swirl with a light inward retention (0.12): the swirl dominates ~8×, so
|
|
67
|
+
// canonical swirl reads as a designed spin, not a drain. A tight inward-binding
|
|
68
|
+
// whirlpool belongs in a preset (`whirlpool` / `blackhole` / `accretion`), not here.
|
|
69
|
+
p.vx += uy * f * spin + ux * f * 0.12;
|
|
70
|
+
p.vy += -ux * f * spin + uy * f * 0.12;
|
|
71
|
+
// the swirl is about the z axis (planar tangent); only the inward retention gets a z leg.
|
|
72
|
+
if (e.dz)
|
|
73
|
+
p.vz = (p.vz ?? 0) + (e.dz / e.dist) * f * 0.12;
|
|
74
|
+
if (b.on)
|
|
75
|
+
p.heat = Math.max(p.heat, (1 - e.dist / range) * 0.6);
|
|
76
|
+
},
|
|
77
|
+
meta: { desc: 'tangential swirl with light inward retention' },
|
|
78
|
+
};
|
|
79
|
+
/** §6.5 — a steady directional current along the heading. */
|
|
80
|
+
export const stream = {
|
|
81
|
+
token: 'stream',
|
|
82
|
+
label: 'Stream',
|
|
83
|
+
apply(b, p, e) {
|
|
84
|
+
const range = b.range * (b.on ? 1.4 : 1);
|
|
85
|
+
const s = b.strength * (b.on ? 2 : 1);
|
|
86
|
+
if (e.dist >= range)
|
|
87
|
+
return;
|
|
88
|
+
const f = (1 - e.dist / range) ** 1.1 * s * 0.5;
|
|
89
|
+
p.vx += b.ux * f;
|
|
90
|
+
p.vy += b.uy * f;
|
|
91
|
+
if (b.on)
|
|
92
|
+
p.heat = Math.max(p.heat, (1 - e.dist / range) * 0.5);
|
|
93
|
+
},
|
|
94
|
+
meta: { desc: 'directional current along a heading' },
|
|
95
|
+
};
|
|
96
|
+
/** §6.7 — viscosity; bleeds momentum, no redirection. */
|
|
97
|
+
export const viscosity = {
|
|
98
|
+
token: 'viscosity',
|
|
99
|
+
label: 'Viscosity',
|
|
100
|
+
apply(b, p, e) {
|
|
101
|
+
const range = b.range * (b.on ? 1.4 : 1);
|
|
102
|
+
if (e.dist >= range)
|
|
103
|
+
return;
|
|
104
|
+
const k = (1 - e.dist / range) * (0.05 + b.strength * 0.07) * (b.on ? 1.6 : 1);
|
|
105
|
+
p.vx -= p.vx * k;
|
|
106
|
+
p.vy -= p.vy * k;
|
|
107
|
+
if (p.vz)
|
|
108
|
+
p.vz -= p.vz * k; // the medium thickens in all three axes
|
|
109
|
+
},
|
|
110
|
+
meta: { desc: 'thickens the medium — bleeds momentum' },
|
|
111
|
+
};
|
|
112
|
+
/** §6.2 — a conduit: draws matter in, jets it out along the heading. */
|
|
113
|
+
export const jet = {
|
|
114
|
+
token: 'jet',
|
|
115
|
+
label: 'Jet',
|
|
116
|
+
kinematic: true, // relaunches matter at the nozzle (sets velocity), so mass must not scale it
|
|
117
|
+
apply(b, p, e) {
|
|
118
|
+
const range = b.range * (b.on ? 1.4 : 1);
|
|
119
|
+
if (e.dist >= range)
|
|
120
|
+
return;
|
|
121
|
+
if (e.dist < 24) {
|
|
122
|
+
// at the nozzle: relaunch as a hot jet, with a cone of spread.
|
|
123
|
+
const sp = ((e.rng ?? Math.random)() - 0.5) * 0.8;
|
|
124
|
+
const cs = Math.cos(sp);
|
|
125
|
+
const sn = Math.sin(sp);
|
|
126
|
+
const hx = b.ux * cs - b.uy * sn;
|
|
127
|
+
const hy = b.ux * sn + b.uy * cs;
|
|
128
|
+
const spd = 2.4 + b.strength * 2.6;
|
|
129
|
+
p.vx = hx * spd;
|
|
130
|
+
p.vy = hy * spd;
|
|
131
|
+
p.x = b.cx + hx * 26;
|
|
132
|
+
p.y = b.cy + hy * 26;
|
|
133
|
+
// the nozzle relaunches on the body plane (z-axis.md): z is reset like x/y.
|
|
134
|
+
if (p.z)
|
|
135
|
+
p.z = 0;
|
|
136
|
+
if (p.vz)
|
|
137
|
+
p.vz = 0;
|
|
138
|
+
p.heat = Math.max(p.heat, 0.9);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// feed: draw surrounding matter toward the nozzle.
|
|
142
|
+
const f = (1 - e.dist / range) ** 2 * (0.25 + b.strength * 0.15);
|
|
143
|
+
p.vx += (e.dx / e.dist) * f;
|
|
144
|
+
p.vy += (e.dy / e.dist) * f;
|
|
145
|
+
if (e.dz)
|
|
146
|
+
p.vz = (p.vz ?? 0) + (e.dz / e.dist) * f; // z leg of the feed
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
meta: { desc: 'a fountain — draws matter in, jets it out along a heading' },
|
|
150
|
+
};
|
|
151
|
+
/** §6.3 — a tether with a rest length; holds matter at a shell radius. */
|
|
152
|
+
export const tether = {
|
|
153
|
+
token: 'tether',
|
|
154
|
+
label: 'Tether',
|
|
155
|
+
apply(b, p, e) {
|
|
156
|
+
const rest = b.range * 0.6 * (b.on ? 1.25 : 1);
|
|
157
|
+
const reach = rest * 2.1;
|
|
158
|
+
if (e.dist >= reach)
|
|
159
|
+
return;
|
|
160
|
+
const k = (0.006 + b.strength * 0.012) * (b.on ? 1.7 : 1);
|
|
161
|
+
const stretch = e.dist - rest;
|
|
162
|
+
const ux = e.dx / e.dist;
|
|
163
|
+
const uy = e.dy / e.dist;
|
|
164
|
+
p.vx += ux * stretch * k;
|
|
165
|
+
p.vy += uy * stretch * k;
|
|
166
|
+
if (e.dz)
|
|
167
|
+
p.vz = (p.vz ?? 0) + (e.dz / e.dist) * stretch * k; // the shell is spherical
|
|
168
|
+
p.vx *= 0.985;
|
|
169
|
+
p.vy *= 0.985;
|
|
170
|
+
if (p.vz)
|
|
171
|
+
p.vz *= 0.985;
|
|
172
|
+
if (b.on)
|
|
173
|
+
p.heat = Math.max(p.heat, (1 - Math.min(1, Math.abs(stretch) / rest)) * 0.5);
|
|
174
|
+
},
|
|
175
|
+
meta: { desc: 'a tether with a rest length — holds matter at a fixed radius' },
|
|
176
|
+
};
|
|
177
|
+
/** §6.4 — an axis-aligned bouncing wall; sparks on hard impact. */
|
|
178
|
+
export const wall = {
|
|
179
|
+
token: 'wall',
|
|
180
|
+
label: 'Wall',
|
|
181
|
+
kinematic: true, // an elastic bounce reflects velocity regardless of inertia
|
|
182
|
+
apply(b, p, e) {
|
|
183
|
+
const pad = 6;
|
|
184
|
+
const ox = Math.abs(p.x - b.cx);
|
|
185
|
+
const oy = Math.abs(p.y - b.cy);
|
|
186
|
+
if (ox >= b.hw + pad || oy >= b.hh + pad)
|
|
187
|
+
return;
|
|
188
|
+
const speed = Math.hypot(p.vx, p.vy);
|
|
189
|
+
const px = b.hw + pad - ox;
|
|
190
|
+
const py = b.hh + pad - oy;
|
|
191
|
+
if (px < py) {
|
|
192
|
+
p.x = p.x < b.cx ? b.cx - b.hw - pad : b.cx + b.hw + pad;
|
|
193
|
+
p.vx = -p.vx * 0.85;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
p.y = p.y < b.cy ? b.cy - b.hh - pad : b.cy + b.hh + pad;
|
|
197
|
+
p.vy = -p.vy * 0.85;
|
|
198
|
+
}
|
|
199
|
+
if (speed > 0.7) {
|
|
200
|
+
e.spark(p.x, p.y, Math.min(2.4, speed), FORCE_BY.wall.color);
|
|
201
|
+
p.heat = Math.max(p.heat, Math.min(0.85, speed * 0.4));
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
meta: { desc: 'axis-aligned bouncing wall — sparks on impact' },
|
|
205
|
+
};
|
|
206
|
+
/** §6.9 — captures matter (held, conserved), then releases on saturation. */
|
|
207
|
+
export const sink = {
|
|
208
|
+
token: 'sink',
|
|
209
|
+
label: 'Sink',
|
|
210
|
+
apply(b, p, e) {
|
|
211
|
+
if (p.cap || e.dist >= b.absorbR)
|
|
212
|
+
return;
|
|
213
|
+
p.cap = b;
|
|
214
|
+
b.accreted += 1;
|
|
215
|
+
if (b.accreted >= b.capacity)
|
|
216
|
+
e.supernova(b);
|
|
217
|
+
},
|
|
218
|
+
meta: { desc: 'captures matter, then releases it' },
|
|
219
|
+
};
|
|
220
|
+
/** The canonical nine, in spec order. */
|
|
221
|
+
export const coreForces = [
|
|
222
|
+
attract,
|
|
223
|
+
jet,
|
|
224
|
+
tether,
|
|
225
|
+
wall,
|
|
226
|
+
stream,
|
|
227
|
+
repel,
|
|
228
|
+
viscosity,
|
|
229
|
+
swirl,
|
|
230
|
+
sink,
|
|
231
|
+
];
|
|
232
|
+
/** Register the canonical nine on a registry (§4). */
|
|
233
|
+
export function registerCoreForces(reg) {
|
|
234
|
+
for (const f of coreForces)
|
|
235
|
+
reg.force(f);
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forces/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Natural primitives (§20.10) — real field laws, not the designed UI falloffs.
|
|
3
|
+
*
|
|
4
|
+
* The canonical nine (§6) are *designed*: finite range, soft `(1 − d/d_max)ⁿ`
|
|
5
|
+
* falloff, tuned for legible motion on content bodies. These are *natural*: a true
|
|
6
|
+
* softened inverse-square law in the sim unit system (§20.10). `gravity` and
|
|
7
|
+
* `charge` are the **same kernel** — only the source scalar differs (mass ≥ 0 vs.
|
|
8
|
+
* signed charge), which is the one unification the spec says is worth coding once.
|
|
9
|
+
*
|
|
10
|
+
* Opt-in: a body only feels them via `data-body="gravity"` / `data-body="charge"`,
|
|
11
|
+
* so registering them changes nothing on a page that doesn't ask for them.
|
|
12
|
+
*/
|
|
13
|
+
import type { Body, Particle, Env, Force } from '../core/types.ts';
|
|
14
|
+
import type { Registry } from '../core/registry.ts';
|
|
15
|
+
/**
|
|
16
|
+
* The shared softened inverse-square kernel (§20.10): `s / (d² + ε²)` along the
|
|
17
|
+
* unit vector toward the body, then clamp speed to the unit system's `c` (the
|
|
18
|
+
* hard velocity cap that *is* the speed of light in-sim).
|
|
19
|
+
*
|
|
20
|
+
* Plummer softening `ε = r_s = 2GM/c²` keeps the force finite at the core while
|
|
21
|
+
* staying a true `1/d²` law far out — exactly how N-body sims avoid the singularity.
|
|
22
|
+
* `s` is the signed source strength: `+GM` for gravity (always attractive),
|
|
23
|
+
* `−σ·q·GM` for charge (like repels, opposite attracts).
|
|
24
|
+
*
|
|
25
|
+
* Sign note: this engine's `e.dx/e.dy` point from the particle *toward* the body,
|
|
26
|
+
* so `+s` pulls inward (gravity attracts). Charge negates `σ·q·GM` so that like
|
|
27
|
+
* signs push outward — the §20.3 formula written for an outward-pointing `û`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function inverseSquare(b: Body, p: Particle, e: Env, s: number): void;
|
|
30
|
+
/** §20.10 — true softened inverse-square: `F = GM·d̂/(d²+ε²)`, always attractive. */
|
|
31
|
+
export declare const gravity: Force;
|
|
32
|
+
/** §20.3/§20.10 — the signed sibling of gravity; same kernel, sign sets direction. */
|
|
33
|
+
export declare const charge: Force;
|
|
34
|
+
/**
|
|
35
|
+
* §20.10 — the Lorentz force on a moving charge. In 2D the magnetic field `B` is a
|
|
36
|
+
* scalar out of the plane, so the force is perpendicular to velocity: it curves a
|
|
37
|
+
* particle's path into a circle (cyclotron radius `r_L = m|v|/(qB)`) **without doing
|
|
38
|
+
* work** — speed is preserved, only the heading turns. The body's `spin` sets the
|
|
39
|
+
* out-of-plane sense (which way it curls); `strength` is `|B|`. Acts only on charged,
|
|
40
|
+
* *moving* matter; neutral particles pass straight through.
|
|
41
|
+
*
|
|
42
|
+
* `B` is graded by a `(1 − d/r)` falloff, so the curl is strongest at the core and eases
|
|
43
|
+
* to zero at the rim — a localized, soft-edged field rather than a uniform region with a
|
|
44
|
+
* hard cutoff (the field-systems plan, Stage 0). The rotation preserves speed at every
|
|
45
|
+
* distance; only the turn angle shrinks outward.
|
|
46
|
+
*/
|
|
47
|
+
export declare const magnetism: Force;
|
|
48
|
+
/**
|
|
49
|
+
* The Langevin noise amplitude `σ = √(2·k_B·T·γ)` (§20.10). In sim units `k_B = γ = 1`,
|
|
50
|
+
* so `σ = √(2T)`; negative `T` is floored to 0 (no imaginary kicks). Pure, so the
|
|
51
|
+
* fluctuation–dissipation law itself is golden-tested apart from the RNG.
|
|
52
|
+
*/
|
|
53
|
+
export declare function thermalSigma(T: number): number;
|
|
54
|
+
/**
|
|
55
|
+
* §20.10 — `thermal`: Langevin/Brownian agitation, the *honest* `wander`. Each frame
|
|
56
|
+
* a charge-free Gaussian kick `v += σ·ξ` (ξ ~ N(0,1) per axis) jiggles matter, with
|
|
57
|
+
* `σ = √(2T)`. Paired with `drag` (`−γv`) it's a **thermostat** — fluctuation–
|
|
58
|
+
* dissipation, the swarm equilibrates at temperature `T`. `T` is the body's strength,
|
|
59
|
+
* eased to a localized hot spot by a `(1 − d/d_max)` falloff (sourceable from heat or
|
|
60
|
+
* scroll energy). Box–Muller turns two uniforms into one isotropic 2-D kick.
|
|
61
|
+
*/
|
|
62
|
+
export declare const thermal: Force;
|
|
63
|
+
/**
|
|
64
|
+
* §20.10 — `collide`: elastic pairwise collision (granular / billiard), the hard-sphere
|
|
65
|
+
* complement to the smooth, box-bound `wall`. For each neighbour `q` whose disc
|
|
66
|
+
* overlaps `p`'s (`d < r_p + r_q`, radius ≈ `size`) and that is *approaching*, the pair
|
|
67
|
+
* exchanges normal momentum: `p` takes a half-impulse along the contact normal `n`,
|
|
68
|
+
* `q` the other half on its own turn — so momentum is conserved and, at `e = 1`, energy
|
|
69
|
+
* too. `strength` is the restitution `e ∈ [0,1]`. Class [B] — uses `env.neighbors`.
|
|
70
|
+
*/
|
|
71
|
+
export declare const collide: Force;
|
|
72
|
+
/**
|
|
73
|
+
* §20.10 — `diffuse` (class [C], over the scalar `grid`): the pheromone/stigmergy
|
|
74
|
+
* field. Each frame a particle lays a mark into the shared `diffuse` grid (which the
|
|
75
|
+
* engine blurs via `∂φ/∂t = D∇²φ`) and steers *up* the local gradient, following the
|
|
76
|
+
* smeared trail toward where matter has gathered. `strength` sets both the deposit and
|
|
77
|
+
* the follow gain. Self-organizing trails emerge from the deposit↔blur↔follow loop.
|
|
78
|
+
*/
|
|
79
|
+
export declare const diffuse: Force;
|
|
80
|
+
/**
|
|
81
|
+
* §20.10 — `propagate` (class [C], over a wave-mode `grid`): a travelling disturbance,
|
|
82
|
+
* `∂²φ/∂t² = c²∇²φ`. An engaged body injects an impulsive shock at its centre (via the
|
|
83
|
+
* body-level `source` hook, once per frame — not once per particle), and the grid carries it
|
|
84
|
+
* outward as a real expanding ring. Matter **rides the front out**: where the wavefront is
|
|
85
|
+
* passing (`|∇φ|` is steep) a particle is pushed radially *away from the source*, so the
|
|
86
|
+
* expanding shock sweeps matter outward with it — radiation pressure, not an inward pull.
|
|
87
|
+
*
|
|
88
|
+
* Why a pulse train, not a continuous deposit: depositing every frame builds a standing φ bump
|
|
89
|
+
* at the centre, whose gradient points inward — `v += ∇φ` then sucks matter toward the source
|
|
90
|
+
* (the opposite of a wave). Emitting a shock every `WAVE_PULSE_PERIOD` frames lets each ring
|
|
91
|
+
* radiate and damp away, so the field stays a sequence of outgoing fronts.
|
|
92
|
+
*/
|
|
93
|
+
export declare const propagate: Force;
|
|
94
|
+
/**
|
|
95
|
+
* Memory (class [C], over a slow-decaying `memory` grid) — the field remembers.
|
|
96
|
+
* Each frame a particle lays occupancy where it sits, into a grid that barely blurs
|
|
97
|
+
* and fades slowly; the body's pull is then amplified by how worn the spot is. So
|
|
98
|
+
* `M(x) += λ` and the effective force `×= (1 + μ·M)`: frequently-travelled routes
|
|
99
|
+
* deepen and pull harder, and channels wear in over time.
|
|
100
|
+
*/
|
|
101
|
+
export declare const memory: Force;
|
|
102
|
+
/** The natural primitives, in spec order (§20.10). */
|
|
103
|
+
export declare const naturalForces: readonly Force[];
|
|
104
|
+
/** Register the natural primitives on a registry (§4) — opt-in, alongside the nine. */
|
|
105
|
+
export declare function registerNaturalForces(reg: Registry): void;
|
|
106
|
+
//# sourceMappingURL=natural.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"natural.d.ts","sourceRoot":"","sources":["../../src/forces/natural.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAwDpD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ3E;AA6BD,qFAAqF;AACrF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,MAAM,EAAE,KAepB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,KAsBvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,KAuBrB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AASF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,KAuBvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,KAcpB,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAAE,SAAS,KAAK,EASzC,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAEzD"}
|