@fundamental-engine/core 0.9.4 → 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/inspect/report.js +2 -2
- package/dist/inspect/report.js.map +1 -1
- package/dist/recipes/catalog.d.ts +14 -9
- package/dist/recipes/catalog.d.ts.map +1 -1
- package/dist/recipes/catalog.js +9 -5
- package/dist/recipes/catalog.js.map +1 -1
- package/dist/recipes/compile.d.ts +26 -16
- package/dist/recipes/compile.d.ts.map +1 -1
- package/dist/recipes/compile.js +14 -10
- package/dist/recipes/compile.js.map +1 -1
- package/dist/recipes/index.d.ts +2 -0
- package/dist/recipes/index.d.ts.map +1 -1
- package/dist/recipes/index.js +5 -3
- package/dist/recipes/index.js.map +1 -1
- package/dist/recipes/schema.d.ts +27 -17
- package/dist/recipes/schema.d.ts.map +1 -1
- package/dist/recipes/schema.js +11 -6
- package/dist/recipes/schema.js.map +1 -1
- package/dist/recipes/wayfinding.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EAyBpD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,yBAAoB,CAAC"}
|
package/dist/recipes/index.js
CHANGED
|
@@ -8,20 +8,20 @@ export * from "./focus.js";
|
|
|
8
8
|
export * from "./explain.js";
|
|
9
9
|
export * from "./compile.js";
|
|
10
10
|
/** The Recipe / Authoring contracts (system-contracts §13). */
|
|
11
|
-
export const
|
|
11
|
+
export const PATTERN_CONTRACTS = [
|
|
12
12
|
{
|
|
13
13
|
name: 'Field Recipe Contract',
|
|
14
14
|
mustExist: 'id, name, intent, primitives, bodies, render, metrics, diagnostics, accessibility (+ optional naturalField, relationships, budget, expected, notes)',
|
|
15
15
|
mayMutate: 'nothing — a recipe is data; applying it builds a scene',
|
|
16
16
|
sideEffectFree: 'serialize / parse / validate are pure',
|
|
17
|
-
testable: '
|
|
17
|
+
testable: 'validatePattern rejects unknown tokens, render layers, diagnostics, and fields; primitives must match the body tokens; round-trips through JSON',
|
|
18
18
|
inspectable: 'the recipe is plain serializable data; explainScene renders it in plain language',
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
name: 'Recipe Runtime Contract',
|
|
22
22
|
mustExist: 'compileRecipe(recipe) → a runtime plan (bodies/relationships/feedback/diagnostics/metrics/conditions/reducedMotion); applyRecipe(root, recipe) registers it and returns an inspectable, destroyable handle (@fundamental-engine/dom)',
|
|
23
23
|
mayMutate: 'applyRecipe mutates the DOM it is given (registers bodies, writes --field-* vars); compileRecipe is pure',
|
|
24
|
-
sideEffectFree: 'compileRecipe /
|
|
24
|
+
sideEffectFree: 'compileRecipe / patternToMarkup are pure; applyRecipe owns its lifecycle and cleans up on destroy()',
|
|
25
25
|
testable: 'compiled bodies carry only real tokens (concepts never become tokens); metrics map to --field-* feedback; every shipped recipe compiles a reduced-motion output path',
|
|
26
26
|
inspectable: 'applied.inspect() returns live measurements, relationships, metric values, and lint',
|
|
27
27
|
},
|
|
@@ -34,4 +34,6 @@ export const RECIPE_CONTRACTS = [
|
|
|
34
34
|
inspectable: 'the compiled data-body / data-render the author can read back',
|
|
35
35
|
},
|
|
36
36
|
];
|
|
37
|
+
/** @deprecated Renamed to {@link PATTERN_CONTRACTS} (recipe → Pattern rename); removed at 1.0. */
|
|
38
|
+
export const RECIPE_CONTRACTS = PATTERN_CONTRACTS;
|
|
37
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAQA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAQA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACxD;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,qJAAqJ;QAChK,SAAS,EAAE,wDAAwD;QACnE,cAAc,EAAE,uCAAuC;QACvD,QAAQ,EAAE,iJAAiJ;QAC3J,WAAW,EAAE,kFAAkF;KAChG;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,sOAAsO;QACjP,SAAS,EAAE,0GAA0G;QACrH,cAAc,EAAE,qGAAqG;QACrH,QAAQ,EAAE,sKAAsK;QAChL,WAAW,EAAE,qFAAqF;KACnG;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,uEAAuE;QAClF,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,yEAAyE;QACzF,QAAQ,EAAE,wEAAwE;QAClF,WAAW,EAAE,+DAA+D;KAC7E;CACF,CAAC;AAEF,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC"}
|
package/dist/recipes/schema.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type RenderLayer = 'particles' | 'dots' | 'trails' | 'links' | 'streamlin
|
|
|
4
4
|
/** A diagnostic mode that reveals a recipe's behavior (the debug / scalar / graph overlays). */
|
|
5
5
|
export type DiagnosticMode = 'force-vectors' | 'contours' | 'potential' | 'energy' | 'topology' | 'inspector' | 'causality' | 'prediction';
|
|
6
6
|
/** One body in a recipe: a force token (or space-separated tokens) + attributes. */
|
|
7
|
-
export interface
|
|
7
|
+
export interface BodyPattern {
|
|
8
8
|
body: string;
|
|
9
9
|
strength?: number;
|
|
10
10
|
range?: number;
|
|
@@ -13,18 +13,18 @@ export interface BodyRecipe {
|
|
|
13
13
|
feedback?: boolean;
|
|
14
14
|
scope?: 'local' | 'global';
|
|
15
15
|
/** condition gate for this body (`data-when`) — must be a REGISTERED engine condition id
|
|
16
|
-
* (active, fast, slow, hot, cool, scrolling);
|
|
16
|
+
* (active, fast, slow, hot, cool, scrolling); validatePattern rejects unknown ids so a
|
|
17
17
|
* recipe can never declare a gate that silently never passes (#370). Recipe-level
|
|
18
18
|
* `conditions` remain the activation vocabulary; `when` is the executable per-body gate. */
|
|
19
19
|
when?: string;
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface RelationshipPattern {
|
|
22
22
|
from: string;
|
|
23
23
|
to: string;
|
|
24
24
|
type: string;
|
|
25
25
|
strength?: number;
|
|
26
26
|
}
|
|
27
|
-
export interface
|
|
27
|
+
export interface AccessibilityPattern {
|
|
28
28
|
/** what replaces motion under prefers-reduced-motion. */
|
|
29
29
|
reducedMotion: string;
|
|
30
30
|
/** how meaning survives without color/motion. */
|
|
@@ -36,9 +36,9 @@ export interface ExpectedMetrics {
|
|
|
36
36
|
energyDriftMax?: number;
|
|
37
37
|
}
|
|
38
38
|
/** Which catalog tier a recipe belongs to. */
|
|
39
|
-
export type
|
|
39
|
+
export type PatternTier = 'core' | 'applied' | 'systems' | 'operational';
|
|
40
40
|
/** A recipe's implementation status. */
|
|
41
|
-
export type
|
|
41
|
+
export type PatternStatus = 'shipped' | 'experimental' | 'planned' | 'conceptual';
|
|
42
42
|
/**
|
|
43
43
|
* A portable field recipe (authoring §5) — the reusable unit that connects the natural-field model,
|
|
44
44
|
* engine primitives, DOM authoring, platform feedback, diagnostics, and the accessibility fallback.
|
|
@@ -49,7 +49,7 @@ export interface FieldPattern {
|
|
|
49
49
|
name: string;
|
|
50
50
|
intent: string;
|
|
51
51
|
/** which catalog tier the recipe sits in (injected during assembly). */
|
|
52
|
-
tier?:
|
|
52
|
+
tier?: PatternTier;
|
|
53
53
|
/** the fundamental field this recipe translates (gravity / electromagnetic / strong / weak), if one dominates. */
|
|
54
54
|
naturalField?: FundamentalField;
|
|
55
55
|
/** a short natural-field translation phrase (conceptual), e.g. "priority, convergence, hierarchy". */
|
|
@@ -64,12 +64,12 @@ export interface FieldPattern {
|
|
|
64
64
|
diagnostics: string[];
|
|
65
65
|
/** CONDITIONS: activation logic (dwell, threshold, stale, in-view, focused) — not forces. */
|
|
66
66
|
conditions?: string[];
|
|
67
|
-
bodies:
|
|
68
|
-
relationships?:
|
|
67
|
+
bodies: BodyPattern[];
|
|
68
|
+
relationships?: RelationshipPattern[];
|
|
69
69
|
render: RenderLayer[];
|
|
70
70
|
/** the reduced-motion + meaning-without-motion equivalent — required: no recipe is motion-only. */
|
|
71
|
-
accessibility:
|
|
72
|
-
status?:
|
|
71
|
+
accessibility: AccessibilityPattern;
|
|
72
|
+
status?: PatternStatus;
|
|
73
73
|
budget?: Partial<PerformanceBudget>;
|
|
74
74
|
expected?: ExpectedMetrics;
|
|
75
75
|
notes?: string;
|
|
@@ -90,8 +90,8 @@ export interface VisualizationPreset {
|
|
|
90
90
|
/** Every render + diagnostic mode id a recipe may reference (mirrors `RENDER_MODES` + `particles`). */
|
|
91
91
|
export declare const FIELD_MODES: ReadonlySet<string>;
|
|
92
92
|
/** The distinct engine primitives used across a recipe's bodies, in first-seen order. */
|
|
93
|
-
export declare function primitivesOf(bodies: readonly
|
|
94
|
-
export interface
|
|
93
|
+
export declare function primitivesOf(bodies: readonly BodyPattern[]): string[];
|
|
94
|
+
export interface PatternProblem {
|
|
95
95
|
path: string;
|
|
96
96
|
issue: string;
|
|
97
97
|
}
|
|
@@ -100,9 +100,19 @@ export interface RecipeProblem {
|
|
|
100
100
|
* must be a real, passported force; each render layer + diagnostic must be a known mode; the declared
|
|
101
101
|
* primitives must match the body tokens; the natural field must be one of the four.
|
|
102
102
|
*/
|
|
103
|
-
export declare function
|
|
103
|
+
export declare function validatePattern(r: FieldRecipe): PatternProblem[];
|
|
104
104
|
/** Serialize a recipe to canonical JSON. */
|
|
105
|
-
export declare function
|
|
106
|
-
/** Parse + validate a
|
|
107
|
-
export declare function
|
|
105
|
+
export declare function serializePattern(r: FieldRecipe): string;
|
|
106
|
+
/** Parse + validate a Field Pattern from JSON; throws on invalid shape. */
|
|
107
|
+
export declare function parsePattern(json: string): FieldPattern;
|
|
108
|
+
/** @deprecated Renamed to {@link parsePattern}. */
|
|
109
|
+
export declare const parseRecipe: typeof parsePattern;
|
|
110
|
+
/** @deprecated Renamed to {@link BodyPattern}. */ export type BodyRecipe = BodyPattern;
|
|
111
|
+
/** @deprecated Renamed to {@link RelationshipPattern}. */ export type RelationshipRecipe = RelationshipPattern;
|
|
112
|
+
/** @deprecated Renamed to {@link AccessibilityPattern}. */ export type AccessibilityRecipe = AccessibilityPattern;
|
|
113
|
+
/** @deprecated Renamed to {@link PatternTier}. */ export type RecipeTier = PatternTier;
|
|
114
|
+
/** @deprecated Renamed to {@link PatternStatus}. */ export type RecipeStatus = PatternStatus;
|
|
115
|
+
/** @deprecated Renamed to {@link PatternProblem}. */ export type RecipeProblem = PatternProblem;
|
|
116
|
+
/** @deprecated Renamed to {@link validatePattern}. */ export declare const validateRecipe: typeof validatePattern;
|
|
117
|
+
/** @deprecated Renamed to {@link serializePattern}. */ export declare const serializeRecipe: typeof serializePattern;
|
|
108
118
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,MAAM,GACN,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,gGAAgG;AAChG,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,UAAU,GACV,WAAW,GACX,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB,oFAAoF;AACpF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/recipes/schema.js
CHANGED
|
@@ -56,7 +56,7 @@ export function primitivesOf(bodies) {
|
|
|
56
56
|
* must be a real, passported force; each render layer + diagnostic must be a known mode; the declared
|
|
57
57
|
* primitives must match the body tokens; the natural field must be one of the four.
|
|
58
58
|
*/
|
|
59
|
-
export function
|
|
59
|
+
export function validatePattern(r) {
|
|
60
60
|
const problems = [];
|
|
61
61
|
if (!r.id)
|
|
62
62
|
problems.push({ path: 'id', issue: 'required' });
|
|
@@ -110,15 +110,20 @@ export function validateRecipe(r) {
|
|
|
110
110
|
return problems;
|
|
111
111
|
}
|
|
112
112
|
/** Serialize a recipe to canonical JSON. */
|
|
113
|
-
export function
|
|
113
|
+
export function serializePattern(r) {
|
|
114
114
|
return JSON.stringify(r, null, 2);
|
|
115
115
|
}
|
|
116
|
-
/** Parse + validate a
|
|
117
|
-
export function
|
|
116
|
+
/** Parse + validate a Field Pattern from JSON; throws on invalid shape. */
|
|
117
|
+
export function parsePattern(json) {
|
|
118
118
|
const r = JSON.parse(json);
|
|
119
|
-
const problems =
|
|
119
|
+
const problems = validatePattern(r);
|
|
120
120
|
if (problems.length)
|
|
121
|
-
throw new Error(`invalid
|
|
121
|
+
throw new Error(`invalid pattern: ${problems.map((p) => `${p.path} (${p.issue})`).join('; ')}`);
|
|
122
122
|
return r;
|
|
123
123
|
}
|
|
124
|
+
// ── Deprecated aliases (recipe → Pattern rename, phase 4; removed at 1.0) ──────────────────────
|
|
125
|
+
/** @deprecated Renamed to {@link parsePattern}. */
|
|
126
|
+
export const parseRecipe = parsePattern;
|
|
127
|
+
/** @deprecated Renamed to {@link validatePattern}. */ export const validateRecipe = validatePattern;
|
|
128
|
+
/** @deprecated Renamed to {@link serializePattern}. */ export const serializeRecipe = serializePattern;
|
|
124
129
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,gFAAgF;AAChF,gGAAgG;AAChG,OAAO,EAAE,UAAU,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAClF,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;AA0H/F,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAc;IAC9D,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;IACvG,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO;CAC7C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAiB;IACpE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY;CACvG,CAAC,CAAC;AAEH,uGAAuG;AACvG,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAS,CAAC,GAAG,aAAa,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAEzG,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAS,kBAAkB,CAAC,CAAC;AAC9E,MAAM,WAAW,GAAwB,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/recipes/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* • Wayfinding Field (gravity) — "where am I, what's adjacent" (present-tense orientation).
|
|
12
12
|
* • Wayfinding Current (electromagnetic) — "where have I been" (the path travelled, the current from home).
|
|
13
13
|
*
|
|
14
|
-
* Both pass `
|
|
14
|
+
* Both pass `validatePattern` (real passported tokens, known render layers + diagnostics, primitives =
|
|
15
15
|
* body tokens, a fundamental field, a reduced-motion equivalent). They are kept OUT of the canonical
|
|
16
16
|
* 64-recipe `FIELD_RECIPES` catalog (a locked 4×16 of shipped recipes, cited as such across the
|
|
17
17
|
* papers) and marked `experimental` — they surface on the /recipes hub as a labelled experimental
|
package/dist/version.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* with `packages/core/package.json` by `version.test.ts` (the build fails if they drift), so the
|
|
5
5
|
* release bump is the single source of truth.
|
|
6
6
|
*/
|
|
7
|
-
export declare const FIELD_VERSION = "0.9.
|
|
7
|
+
export declare const FIELD_VERSION = "0.9.5";
|
|
8
8
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -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"}
|