@principal-ai/subsystems-react 0.55.3 → 0.56.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/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/pierre/PierreFileView.js +3 -3
- package/dist/pierre/PierreFileView.js.map +1 -1
- package/dist/pierre/PierreTrailCodeView.d.ts +1 -6
- package/dist/pierre/PierreTrailCodeView.d.ts.map +1 -1
- package/dist/pierre/PierreTrailCodeView.js +21 -18
- package/dist/pierre/PierreTrailCodeView.js.map +1 -1
- package/dist/pierre/fileAvailability.d.ts +4 -7
- package/dist/pierre/fileAvailability.d.ts.map +1 -1
- package/dist/pierre/fileAvailability.js +5 -10
- package/dist/pierre/fileAvailability.js.map +1 -1
- package/dist/subsystem/C4Graph.d.ts.map +1 -1
- package/dist/subsystem/C4Graph.js +1 -1
- package/dist/subsystem/C4Graph.js.map +1 -1
- package/dist/subsystem/DecorationPanel.d.ts +37 -0
- package/dist/subsystem/DecorationPanel.d.ts.map +1 -0
- package/dist/subsystem/DecorationPanel.js +147 -0
- package/dist/subsystem/DecorationPanel.js.map +1 -0
- package/dist/subsystem/FileDrawer.d.ts +3 -1
- package/dist/subsystem/FileDrawer.d.ts.map +1 -1
- package/dist/subsystem/FileDrawer.js +2 -2
- package/dist/subsystem/FileDrawer.js.map +1 -1
- package/dist/subsystem/IssueList.d.ts.map +1 -1
- package/dist/subsystem/IssueList.js +26 -0
- package/dist/subsystem/IssueList.js.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.d.ts +9 -5
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +37 -47
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/TrailStackBreadcrumb.d.ts +21 -0
- package/dist/subsystem/TrailStackBreadcrumb.d.ts.map +1 -0
- package/dist/subsystem/TrailStackBreadcrumb.js +77 -0
- package/dist/subsystem/TrailStackBreadcrumb.js.map +1 -0
- package/dist/subsystem/TrailStepsNav.d.ts +4 -3
- package/dist/subsystem/TrailStepsNav.d.ts.map +1 -1
- package/dist/subsystem/TrailStepsNav.js +13 -16
- package/dist/subsystem/TrailStepsNav.js.map +1 -1
- package/dist/subsystem/TrailsPanel.d.ts +9 -7
- package/dist/subsystem/TrailsPanel.d.ts.map +1 -1
- package/dist/subsystem/TrailsPanel.js +126 -76
- package/dist/subsystem/TrailsPanel.js.map +1 -1
- package/dist/subsystem/decoration.d.ts +112 -0
- package/dist/subsystem/decoration.d.ts.map +1 -0
- package/dist/subsystem/decoration.js +54 -0
- package/dist/subsystem/decoration.js.map +1 -0
- package/dist/subsystem/model.d.ts +5 -18
- package/dist/subsystem/model.d.ts.map +1 -1
- package/dist/subsystem/model.js +3 -11
- package/dist/subsystem/model.js.map +1 -1
- package/dist/subsystem/nodes.d.ts.map +1 -1
- package/dist/subsystem/nodes.js +17 -24
- package/dist/subsystem/nodes.js.map +1 -1
- package/dist/subsystem/stepEmphasis.d.ts +78 -0
- package/dist/subsystem/stepEmphasis.d.ts.map +1 -0
- package/dist/subsystem/stepEmphasis.js +89 -0
- package/dist/subsystem/stepEmphasis.js.map +1 -0
- package/dist/subsystem/trailBrief.d.ts.map +1 -1
- package/dist/subsystem/trailBrief.js +20 -0
- package/dist/subsystem/trailBrief.js.map +1 -1
- package/dist/subsystem/trailStack.d.ts +53 -0
- package/dist/subsystem/trailStack.d.ts.map +1 -0
- package/dist/subsystem/trailStack.js +154 -0
- package/dist/subsystem/trailStack.js.map +1 -0
- package/dist/subsystem/trailStepDisplay.d.ts +38 -0
- package/dist/subsystem/trailStepDisplay.d.ts.map +1 -0
- package/dist/subsystem/trailStepDisplay.js +41 -0
- package/dist/subsystem/trailStepDisplay.js.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +47 -1
- package/src/pierre/PierreFileView.tsx +3 -3
- package/src/pierre/PierreTrailCodeView.tsx +25 -28
- package/src/pierre/fileAvailability.test.ts +0 -6
- package/src/pierre/fileAvailability.ts +5 -13
- package/src/stories/Canvases/Subsystem/Deprecated.stories.tsx +3 -17
- package/src/stories/Canvases/Subsystem/NodeAnatomy.stories.tsx +3 -31
- package/src/stories/Canvases/Subsystem/StepEmphasis.stories.tsx +528 -0
- package/src/stories/Canvases/Subsystem/Trails.stories.tsx +0 -187
- package/src/stories/Components/DecorationPanel.stories.tsx +160 -0
- package/src/subsystem/C4Graph.tsx +0 -1
- package/src/subsystem/DecorationPanel.test.tsx +128 -0
- package/src/subsystem/DecorationPanel.tsx +334 -0
- package/src/subsystem/FileDrawer.tsx +6 -0
- package/src/subsystem/IssueList.tsx +26 -0
- package/src/subsystem/SubsystemComponentGraph.tsx +68 -65
- package/src/subsystem/TrailStackBreadcrumb.test.tsx +109 -0
- package/src/subsystem/TrailStackBreadcrumb.tsx +172 -0
- package/src/subsystem/TrailStepsNav.test.tsx +35 -0
- package/src/subsystem/TrailStepsNav.tsx +18 -19
- package/src/subsystem/TrailsPanel.test.tsx +149 -0
- package/src/subsystem/TrailsPanel.tsx +165 -39
- package/src/subsystem/decoration.test.ts +72 -0
- package/src/subsystem/decoration.ts +151 -0
- package/src/subsystem/model.test.ts +7 -22
- package/src/subsystem/model.ts +6 -20
- package/src/subsystem/nodes.tsx +19 -28
- package/src/subsystem/stepEmphasis.test.ts +110 -0
- package/src/subsystem/stepEmphasis.ts +151 -0
- package/src/subsystem/trailBrief.test.ts +29 -0
- package/src/subsystem/trailBrief.ts +20 -0
- package/src/subsystem/trailStack.test.ts +133 -0
- package/src/subsystem/trailStack.ts +229 -0
- package/src/subsystem/trailStepDisplay.ts +68 -0
- package/src/stories/Canvases/Subsystem/Proposed.stories.tsx +0 -256
- package/src/stories/Canvases/Subsystem/ProposedTrails.stories.tsx +0 -184
package/dist/subsystem/nodes.js
CHANGED
|
@@ -10,7 +10,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
10
10
|
import { createContext, useContext, useState } from 'react';
|
|
11
11
|
import { Handle, Position, } from '@xyflow/react';
|
|
12
12
|
import { useTheme } from '@principal-ade/industry-theme';
|
|
13
|
-
import { edgeColor, edgeStrokeStyle, DEPRECATED_COLOR,
|
|
13
|
+
import { edgeColor, edgeStrokeStyle, DEPRECATED_COLOR, deprecatedBadgeColor, deprecatedBadgeLabel, constructBadgeColor, constructBadgeLabel, rightBadgeLabel, rightBadgeColor, storageBadgeLabel, storageBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, MODULE_BADGE_INSET, moduleBadgeLabel, moduleBadgeHoverLabel, moduleBadgeWidth, packageColor, FOLDER_FRAME_COLOR, isFolderFrame, } from './model';
|
|
14
14
|
import { componentColor } from '../pierre/constructColors';
|
|
15
15
|
import { resolvePierreSyntaxThemeName } from '../pierre/pierreSyntaxTheme';
|
|
16
16
|
import { ISSUE_KIND_ICON, ISSUE_RUNG_ICON } from './IssueList';
|
|
@@ -131,7 +131,7 @@ export function SubsystemComponentNode(props) {
|
|
|
131
131
|
// `symbol` is the source of truth; `name` is derived from it consistently.
|
|
132
132
|
const displayName = deriveNameFromSymbol(c.symbol, c.construct, c.name, c.file, c.stereotype);
|
|
133
133
|
// Top badges are absolutely positioned — widen the node so they nowrap
|
|
134
|
-
// instead of wrapping, including when construct + role
|
|
134
|
+
// instead of wrapping, including when construct + role share the top.
|
|
135
135
|
const badgeMinWidth = nodeMinWidthForBadges(c);
|
|
136
136
|
const topRightLabel = rightBadgeLabel(c);
|
|
137
137
|
const topRightColor = rightBadgeColor(c);
|
|
@@ -152,17 +152,14 @@ export function SubsystemComponentNode(props) {
|
|
|
152
152
|
// so they read as tabs on the same surface rather than floating patches.
|
|
153
153
|
const nodeBg = theme.colors.backgroundSecondary ?? theme.colors.background;
|
|
154
154
|
const hoverBg = theme.colors.backgroundHover ?? theme.colors.backgroundTertiary ?? nodeBg;
|
|
155
|
-
// Border:
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
// with primary.
|
|
155
|
+
// Border: deprecated uses the slate accent (dotted, same family as issue)
|
|
156
|
+
// since it means "not a live claim"; construct color stays on the left
|
|
157
|
+
// badge. File-open spotlight still wins with primary.
|
|
159
158
|
const borderColor = fileMatch
|
|
160
159
|
? theme.colors.primary
|
|
161
|
-
: c.
|
|
162
|
-
?
|
|
163
|
-
:
|
|
164
|
-
? DEPRECATED_COLOR
|
|
165
|
-
: color;
|
|
160
|
+
: c.deprecated
|
|
161
|
+
? DEPRECATED_COLOR
|
|
162
|
+
: color;
|
|
166
163
|
// Selection is stamped into data by the graph component — React Flow's own
|
|
167
164
|
// `selected` never updates because the node stops click propagation.
|
|
168
165
|
const isSelected = selected || data.isSelected === true;
|
|
@@ -178,21 +175,19 @@ export function SubsystemComponentNode(props) {
|
|
|
178
175
|
const borderW = isSelected || fileMatch ? 4 : 2;
|
|
179
176
|
const badgeTop = -9 - borderW;
|
|
180
177
|
const badgeEdge = -borderW;
|
|
181
|
-
// A node with diagnostics turns its border dotted —
|
|
182
|
-
//
|
|
183
|
-
//
|
|
184
|
-
//
|
|
178
|
+
// A node with diagnostics turns its border dotted — an "something's off"
|
|
179
|
+
// signal. The border keeps its construct color; the severity rides on the
|
|
180
|
+
// chip. Deprecated is also dotted, but slate rather than construct-colored:
|
|
181
|
+
// "this claim was retired" is closer to a diagnostic than to a placeholder.
|
|
185
182
|
const hasIssue = data.issue != null;
|
|
186
183
|
// Deprecated is dotted like issue but slate rather than construct-colored:
|
|
187
184
|
// "this claim was retired" is closer to a diagnostic than to a placeholder,
|
|
188
185
|
// and verification skips deprecated nodes so the two never stack in practice.
|
|
189
186
|
const borderStyle = hasIssue
|
|
190
187
|
? 'dotted'
|
|
191
|
-
: c.
|
|
192
|
-
? '
|
|
193
|
-
:
|
|
194
|
-
? 'dotted'
|
|
195
|
-
: 'solid';
|
|
188
|
+
: c.deprecated
|
|
189
|
+
? 'dotted'
|
|
190
|
+
: 'solid';
|
|
196
191
|
return (_jsxs("div", { onMouseEnter: () => {
|
|
197
192
|
setHover(true);
|
|
198
193
|
callbacks.onHover?.(c.alias);
|
|
@@ -589,10 +584,8 @@ export function SubsystemEdge({ data, markerEnd, }) {
|
|
|
589
584
|
const edgeRef = { mechanism, provenance: data?.provenance };
|
|
590
585
|
const color = edgeColor(edgeRef);
|
|
591
586
|
// Dash style encodes provenance (graphify) and relationship kind (dashed =
|
|
592
|
-
// inverted-control or observational: hierarchy, registration, watches).
|
|
593
|
-
|
|
594
|
-
// the dashed edge label and a proposed node's dashed border.
|
|
595
|
-
const isDashed = edgeStrokeStyle(edgeRef) === 'dashed' || data?.proposedStep === true;
|
|
587
|
+
// inverted-control or observational: hierarchy, registration, watches).
|
|
588
|
+
const isDashed = edgeStrokeStyle(edgeRef) === 'dashed';
|
|
596
589
|
const dimmed = data?.dimmed === true;
|
|
597
590
|
// Dim the stroke by color, never via path `opacity`. SVG markers are shared
|
|
598
591
|
// by id; opacity on the referencing path paints every arrowhead that uses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step emphasis — PROTOTYPE contract for the "guiding focus" augmentation.
|
|
3
|
+
*
|
|
4
|
+
* A step emphasis is an authored pointer at a walkthrough step: "look here
|
|
5
|
+
* first", with optional markdown guidance explaining why. It is deliberately
|
|
6
|
+
* **not** part of the portable subsystem model and **not** a verification
|
|
7
|
+
* signal — it belongs in a separate, host-owned augmentation document:
|
|
8
|
+
*
|
|
9
|
+
* `~/.principal/subsystem-model-augmentations/<model-identity>.json`
|
|
10
|
+
*
|
|
11
|
+
* The key question this prototype is here to answer is identity: a step has no
|
|
12
|
+
* id today and steps move. `stepClaimKey` fingerprints the step's *claim*
|
|
13
|
+
* (`from`/`to`/`mechanism`/site/symbol/span), so a mark survives a reorder but
|
|
14
|
+
* stops resolving when the claim itself is edited. Orphaned records are kept
|
|
15
|
+
* (and can be pruned deliberately) rather than silently dropped.
|
|
16
|
+
*
|
|
17
|
+
* The mark is a single star rather than a closed kind vocabulary. `guidance`
|
|
18
|
+
* is markdown so a mark can carry the same kind of prose as a model
|
|
19
|
+
* description — headings, emphasis, links, code — while staying a string.
|
|
20
|
+
*
|
|
21
|
+
* Nothing here is wired to disk yet. The story `Canvases/Subsystem/Step
|
|
22
|
+
* Emphasis` exercises the shape with an in-memory store and a live JSON view.
|
|
23
|
+
*/
|
|
24
|
+
import type { SubsystemTrail, SubsystemTrailStep } from './model';
|
|
25
|
+
export interface StepEmphasisProvenance {
|
|
26
|
+
/** Who authored the mark. Agent marks are expected too. */
|
|
27
|
+
source: 'author' | 'agent';
|
|
28
|
+
/** ISO timestamp. */
|
|
29
|
+
at: string;
|
|
30
|
+
/** Optional human/agent identity. */
|
|
31
|
+
author?: string;
|
|
32
|
+
}
|
|
33
|
+
/** One mark in the separate augmentation document. */
|
|
34
|
+
export interface StepEmphasisRecord {
|
|
35
|
+
/** The trail the step belongs to. */
|
|
36
|
+
trailId: string;
|
|
37
|
+
/**
|
|
38
|
+
* Fingerprint of the step's claim (see `stepClaimKey`). Stable across
|
|
39
|
+
* reorder; changes when the claim changes.
|
|
40
|
+
*/
|
|
41
|
+
stepKey: string;
|
|
42
|
+
/** Optional markdown "why look here", rendered like a model description. */
|
|
43
|
+
guidance?: string;
|
|
44
|
+
provenance: StepEmphasisProvenance;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The whole separate document. `modelId` is the host-store id (or an identity
|
|
48
|
+
* key) — this document is host-local and never rides on the portable model.
|
|
49
|
+
*/
|
|
50
|
+
export interface StepEmphasisDocument {
|
|
51
|
+
version: 1;
|
|
52
|
+
modelId: string;
|
|
53
|
+
emphasis: StepEmphasisRecord[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Lookup key for the UI. `trailId:stepKey` — one flat map is enough for a
|
|
57
|
+
* graph and keeps the panel from re-deriving a nested structure per render.
|
|
58
|
+
*/
|
|
59
|
+
export type StepEmphasisMap = ReadonlyMap<string, StepEmphasisRecord>;
|
|
60
|
+
/** Stable content key for a step's claim. */
|
|
61
|
+
export declare function stepClaimKey(step: Pick<SubsystemTrailStep, 'from' | 'to' | 'mechanism' | 'file' | 'symbol' | 'span'>): string;
|
|
62
|
+
/** Map key for one step's mark. */
|
|
63
|
+
export declare function emphasisKey(trailId: string, step: Pick<SubsystemTrailStep, 'from' | 'to' | 'mechanism' | 'file' | 'symbol' | 'span'>): string;
|
|
64
|
+
export declare function buildStepEmphasisMap(records: readonly StepEmphasisRecord[]): StepEmphasisMap;
|
|
65
|
+
export declare function findStepEmphasis(map: StepEmphasisMap | undefined, trailId: string, step: SubsystemTrailStep): StepEmphasisRecord | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Records whose step claim no longer exists in the current trails. Kept in the
|
|
68
|
+
* document (so a bad edit does not destroy authored intent) but surfaced so
|
|
69
|
+
* the author can prune them.
|
|
70
|
+
*/
|
|
71
|
+
export declare function orphanedEmphasis(records: readonly StepEmphasisRecord[], trails: readonly SubsystemTrail[]): StepEmphasisRecord[];
|
|
72
|
+
/** Records for one trail, in current step order (for reader surfaces). */
|
|
73
|
+
export declare function emphasisForTrail(map: StepEmphasisMap | undefined, trail: SubsystemTrail): Array<{
|
|
74
|
+
stepIndex: number;
|
|
75
|
+
step: SubsystemTrailStep;
|
|
76
|
+
record: StepEmphasisRecord;
|
|
77
|
+
}>;
|
|
78
|
+
//# sourceMappingURL=stepEmphasis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepEmphasis.d.ts","sourceRoot":"","sources":["../../src/subsystem/stepEmphasis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AA8BtE,6CAA6C;AAC7C,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,GACvF,MAAM,CAER;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,GACvF,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACrC,eAAe,CAEjB;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,kBAAkB,GAAG,SAAS,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,kBAAkB,EAAE,CAMtB;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,KAAK,EAAE,cAAc,GACpB,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAQpF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step emphasis — PROTOTYPE contract for the "guiding focus" augmentation.
|
|
3
|
+
*
|
|
4
|
+
* A step emphasis is an authored pointer at a walkthrough step: "look here
|
|
5
|
+
* first", with optional markdown guidance explaining why. It is deliberately
|
|
6
|
+
* **not** part of the portable subsystem model and **not** a verification
|
|
7
|
+
* signal — it belongs in a separate, host-owned augmentation document:
|
|
8
|
+
*
|
|
9
|
+
* `~/.principal/subsystem-model-augmentations/<model-identity>.json`
|
|
10
|
+
*
|
|
11
|
+
* The key question this prototype is here to answer is identity: a step has no
|
|
12
|
+
* id today and steps move. `stepClaimKey` fingerprints the step's *claim*
|
|
13
|
+
* (`from`/`to`/`mechanism`/site/symbol/span), so a mark survives a reorder but
|
|
14
|
+
* stops resolving when the claim itself is edited. Orphaned records are kept
|
|
15
|
+
* (and can be pruned deliberately) rather than silently dropped.
|
|
16
|
+
*
|
|
17
|
+
* The mark is a single star rather than a closed kind vocabulary. `guidance`
|
|
18
|
+
* is markdown so a mark can carry the same kind of prose as a model
|
|
19
|
+
* description — headings, emphasis, links, code — while staying a string.
|
|
20
|
+
*
|
|
21
|
+
* Nothing here is wired to disk yet. The story `Canvases/Subsystem/Step
|
|
22
|
+
* Emphasis` exercises the shape with an in-memory store and a live JSON view.
|
|
23
|
+
*/
|
|
24
|
+
/** The claim fields a mark is attached to. Deliberately excludes `annotation`. */
|
|
25
|
+
function claimFields(step) {
|
|
26
|
+
return [
|
|
27
|
+
step.from,
|
|
28
|
+
step.to,
|
|
29
|
+
step.mechanism,
|
|
30
|
+
step.file,
|
|
31
|
+
step.symbol,
|
|
32
|
+
step.span?.startLine == null ? '' : String(step.span.startLine),
|
|
33
|
+
step.span?.endLine == null ? '' : String(step.span.endLine),
|
|
34
|
+
step.span?.contentHash ?? '',
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* FNV-1a (32-bit) fingerprint. Good enough for a local key: the point is
|
|
39
|
+
* "same claim => same key", not cryptographic resistance. Swap for SHA-256 at
|
|
40
|
+
* the store boundary if marks ever travel between hosts.
|
|
41
|
+
*/
|
|
42
|
+
function fnv1a(value) {
|
|
43
|
+
let hash = 0x811c9dc5;
|
|
44
|
+
for (let i = 0; i < value.length; i++) {
|
|
45
|
+
hash ^= value.charCodeAt(i);
|
|
46
|
+
hash = Math.imul(hash, 0x01000193);
|
|
47
|
+
}
|
|
48
|
+
return (hash >>> 0).toString(16).padStart(8, '0');
|
|
49
|
+
}
|
|
50
|
+
/** Stable content key for a step's claim. */
|
|
51
|
+
export function stepClaimKey(step) {
|
|
52
|
+
return fnv1a(claimFields(step).join('\u001f'));
|
|
53
|
+
}
|
|
54
|
+
/** Map key for one step's mark. */
|
|
55
|
+
export function emphasisKey(trailId, step) {
|
|
56
|
+
return `${trailId}:${stepClaimKey(step)}`;
|
|
57
|
+
}
|
|
58
|
+
export function buildStepEmphasisMap(records) {
|
|
59
|
+
return new Map(records.map((r) => [`${r.trailId}:${r.stepKey}`, r]));
|
|
60
|
+
}
|
|
61
|
+
export function findStepEmphasis(map, trailId, step) {
|
|
62
|
+
return map?.get(emphasisKey(trailId, step));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Records whose step claim no longer exists in the current trails. Kept in the
|
|
66
|
+
* document (so a bad edit does not destroy authored intent) but surfaced so
|
|
67
|
+
* the author can prune them.
|
|
68
|
+
*/
|
|
69
|
+
export function orphanedEmphasis(records, trails) {
|
|
70
|
+
const live = new Set();
|
|
71
|
+
for (const trail of trails) {
|
|
72
|
+
for (const step of trail.steps)
|
|
73
|
+
live.add(emphasisKey(trail.id, step));
|
|
74
|
+
}
|
|
75
|
+
return records.filter((r) => !live.has(`${r.trailId}:${r.stepKey}`));
|
|
76
|
+
}
|
|
77
|
+
/** Records for one trail, in current step order (for reader surfaces). */
|
|
78
|
+
export function emphasisForTrail(map, trail) {
|
|
79
|
+
if (!map)
|
|
80
|
+
return [];
|
|
81
|
+
const rows = [];
|
|
82
|
+
trail.steps.forEach((step, stepIndex) => {
|
|
83
|
+
const record = map.get(emphasisKey(trail.id, step));
|
|
84
|
+
if (record)
|
|
85
|
+
rows.push({ stepIndex, step, record });
|
|
86
|
+
});
|
|
87
|
+
return rows;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=stepEmphasis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepEmphasis.js","sourceRoot":"","sources":["../../src/subsystem/stepEmphasis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trailBrief.d.ts","sourceRoot":"","sources":["../../src/subsystem/trailBrief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"trailBrief.d.ts","sourceRoot":"","sources":["../../src/subsystem/trailBrief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CA2CR"}
|
|
@@ -24,12 +24,32 @@ export function buildStepBrief(trail, stepIndex) {
|
|
|
24
24
|
lines.push(`- to: \`${step.to}\``);
|
|
25
25
|
lines.push(`- mechanism: \`${step.mechanism}\``);
|
|
26
26
|
lines.push(`- symbol: \`${step.symbol}\``);
|
|
27
|
+
// `calls` means the site is the caller frame. Every other mechanism is a
|
|
28
|
+
// logical hop whose evidence can live in another construct; say so, so an
|
|
29
|
+
// agent does not treat the site symbol as the source component.
|
|
30
|
+
if (step.mechanism !== 'calls') {
|
|
31
|
+
lines.push(`- site role: \`via\``);
|
|
32
|
+
}
|
|
27
33
|
const site = step.span
|
|
28
34
|
? step.span.startLine === step.span.endLine
|
|
29
35
|
? `${step.file}:${step.span.startLine}`
|
|
30
36
|
: `${step.file}:${step.span.startLine}-${step.span.endLine}`
|
|
31
37
|
: step.file;
|
|
32
38
|
lines.push(`- site: \`${site}\``);
|
|
39
|
+
if (step.site) {
|
|
40
|
+
const frame = step.site.span.startLine === step.site.span.endLine
|
|
41
|
+
? `${step.file}:${step.site.span.startLine}`
|
|
42
|
+
: `${step.file}:${step.site.span.startLine}-${step.site.span.endLine}`;
|
|
43
|
+
lines.push(`- site construct: \`${step.site.symbol}\` (${frame})`);
|
|
44
|
+
}
|
|
45
|
+
if (step.target) {
|
|
46
|
+
const targetSpan = step.target.span
|
|
47
|
+
? step.target.span.startLine === step.target.span.endLine
|
|
48
|
+
? `:${step.target.span.startLine}`
|
|
49
|
+
: `:${step.target.span.startLine}-${step.target.span.endLine}`
|
|
50
|
+
: '';
|
|
51
|
+
lines.push(`- target: \`${step.target.symbol}\` (${step.target.file}${targetSpan})`);
|
|
52
|
+
}
|
|
33
53
|
lines.push(`- purl: \`${step.purl}\``);
|
|
34
54
|
if (step.annotation != null && step.annotation.length > 0) {
|
|
35
55
|
lines.push(`- note: ${step.annotation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trailBrief.js","sourceRoot":"","sources":["../../src/subsystem/trailBrief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAqB,EACrB,SAAiB;IAEjB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,UAAU,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,YAAY,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CACpF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;YACzC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACvC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QAC9D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KAC1C;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"trailBrief.js","sourceRoot":"","sources":["../../src/subsystem/trailBrief.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive a call stack for one trail step.
|
|
3
|
+
*
|
|
4
|
+
* A trail is a timeline, not a stack frame dump: steps can return to an
|
|
5
|
+
* ancestor, take sibling calls, or describe a non-call seam (`uses`, `feeds`,
|
|
6
|
+
* …). This module links each `calls` step to the prior call that entered its
|
|
7
|
+
* caller construct, then renders that ancestry as a stack. Non-call steps are
|
|
8
|
+
* annotations on the nearest frame — they are not frames.
|
|
9
|
+
*
|
|
10
|
+
* The links use the resolved `site`/`target` when present, falling back to the
|
|
11
|
+
* component aliases. That keeps the view useful before every step has its
|
|
12
|
+
* construct refs captured.
|
|
13
|
+
*/
|
|
14
|
+
import type { SubsystemTrail, SubsystemTrailMechanism } from './model';
|
|
15
|
+
import { type TrailComponentLabels } from './trailStepDisplay';
|
|
16
|
+
export interface TrailStackFrame {
|
|
17
|
+
/** The step whose call creates this frame. */
|
|
18
|
+
stepIndex: number;
|
|
19
|
+
/** Frame label — the caller construct, or the component alias. */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Component alias of the caller (for focus/selection wiring). */
|
|
22
|
+
componentAlias: string;
|
|
23
|
+
/** The selected step's own frame (innermost). */
|
|
24
|
+
current: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface TrailStackAnnotation {
|
|
27
|
+
/** Non-call step attached to the current frame. */
|
|
28
|
+
stepIndex: number;
|
|
29
|
+
mechanism: SubsystemTrailMechanism;
|
|
30
|
+
label: string;
|
|
31
|
+
/** The selected step itself (vs context around it). */
|
|
32
|
+
selected: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface TrailStackView {
|
|
35
|
+
/** Outermost → innermost. Empty only for an out-of-range index. */
|
|
36
|
+
frames: TrailStackFrame[];
|
|
37
|
+
/** Non-call seams attached to the current frame. */
|
|
38
|
+
annotations: TrailStackAnnotation[];
|
|
39
|
+
/** True when the selected step is a call frame. */
|
|
40
|
+
isCall: boolean;
|
|
41
|
+
/** The selected call's target, shown as the next frame-to-be. */
|
|
42
|
+
callee?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build the stack at one trail step.
|
|
46
|
+
*
|
|
47
|
+
* - `calls` → the chain of calls into the caller frame, plus the callee as the
|
|
48
|
+
* next frame (not yet on the stack).
|
|
49
|
+
* - `uses` / data + event seams → the nearest call frame they attach to, with
|
|
50
|
+
* the seam as an annotation.
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildTrailStack(trail: SubsystemTrail, stepIndex: number, byAlias?: TrailComponentLabels): TrailStackView;
|
|
53
|
+
//# sourceMappingURL=trailStack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailStack.d.ts","sourceRoot":"","sources":["../../src/subsystem/trailStack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EAExB,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,uBAAuB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,oDAAoD;IACpD,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+GD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,cAAc,CAoDhB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive a call stack for one trail step.
|
|
3
|
+
*
|
|
4
|
+
* A trail is a timeline, not a stack frame dump: steps can return to an
|
|
5
|
+
* ancestor, take sibling calls, or describe a non-call seam (`uses`, `feeds`,
|
|
6
|
+
* …). This module links each `calls` step to the prior call that entered its
|
|
7
|
+
* caller construct, then renders that ancestry as a stack. Non-call steps are
|
|
8
|
+
* annotations on the nearest frame — they are not frames.
|
|
9
|
+
*
|
|
10
|
+
* The links use the resolved `site`/`target` when present, falling back to the
|
|
11
|
+
* component aliases. That keeps the view useful before every step has its
|
|
12
|
+
* construct refs captured.
|
|
13
|
+
*/
|
|
14
|
+
import { trailComponentLabel, } from './trailStepDisplay';
|
|
15
|
+
function callerSymbol(step) {
|
|
16
|
+
return step.site?.symbol?.trim() || step.symbol?.trim() || step.from;
|
|
17
|
+
}
|
|
18
|
+
function calleeSymbol(step) {
|
|
19
|
+
return step.target?.symbol?.trim() || step.to;
|
|
20
|
+
}
|
|
21
|
+
function callerLabel(step, byAlias) {
|
|
22
|
+
return callerSymbol(step) || trailComponentLabel(step.from, byAlias);
|
|
23
|
+
}
|
|
24
|
+
function calleeLabel(step, byAlias) {
|
|
25
|
+
return step.target?.symbol?.trim() || trailComponentLabel(step.to, byAlias);
|
|
26
|
+
}
|
|
27
|
+
function isCallStep(step) {
|
|
28
|
+
return step?.mechanism === 'calls';
|
|
29
|
+
}
|
|
30
|
+
/** Does call `a` lead into the caller of call `b`? */
|
|
31
|
+
function leadsInto(a, b) {
|
|
32
|
+
return a.to === b.from || calleeSymbol(a) === callerSymbol(b);
|
|
33
|
+
}
|
|
34
|
+
/** The nearest earlier call that entered this step's caller frame. */
|
|
35
|
+
function parentCallIndex(trail, stepIndex) {
|
|
36
|
+
const child = trail.steps[stepIndex];
|
|
37
|
+
if (!child)
|
|
38
|
+
return null;
|
|
39
|
+
for (let i = stepIndex - 1; i >= 0; i--) {
|
|
40
|
+
const candidate = trail.steps[i];
|
|
41
|
+
if (!isCallStep(candidate))
|
|
42
|
+
continue;
|
|
43
|
+
if (leadsInto(candidate, child))
|
|
44
|
+
return i;
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
/** The call chain ending at `stepIndex`, outermost first. */
|
|
49
|
+
function callChain(trail, stepIndex) {
|
|
50
|
+
const chain = [];
|
|
51
|
+
const seen = new Set();
|
|
52
|
+
let cursor = stepIndex;
|
|
53
|
+
while (cursor != null && !seen.has(cursor)) {
|
|
54
|
+
seen.add(cursor);
|
|
55
|
+
chain.unshift(cursor);
|
|
56
|
+
cursor = parentCallIndex(trail, cursor);
|
|
57
|
+
}
|
|
58
|
+
return chain;
|
|
59
|
+
}
|
|
60
|
+
function framesForChain(trail, chain, selectedStepIndex, byAlias) {
|
|
61
|
+
return chain.map((idx) => {
|
|
62
|
+
const step = trail.steps[idx];
|
|
63
|
+
return {
|
|
64
|
+
stepIndex: idx,
|
|
65
|
+
label: callerLabel(step, byAlias),
|
|
66
|
+
componentAlias: step.from,
|
|
67
|
+
current: idx === selectedStepIndex,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The nearest earlier call that shares this non-call step's source component.
|
|
73
|
+
* `uses`/`feeds`/… are dependencies of that frame, not new frames.
|
|
74
|
+
*/
|
|
75
|
+
function anchorCallIndex(trail, stepIndex) {
|
|
76
|
+
const step = trail.steps[stepIndex];
|
|
77
|
+
if (!step)
|
|
78
|
+
return null;
|
|
79
|
+
const source = callerSymbol(step);
|
|
80
|
+
for (let i = stepIndex - 1; i >= 0; i--) {
|
|
81
|
+
const candidate = trail.steps[i];
|
|
82
|
+
if (!isCallStep(candidate))
|
|
83
|
+
continue;
|
|
84
|
+
if (candidate.from === step.from ||
|
|
85
|
+
candidate.to === step.from ||
|
|
86
|
+
callerSymbol(candidate) === source ||
|
|
87
|
+
calleeSymbol(candidate) === source) {
|
|
88
|
+
return i;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
function annotationLabel(step, byAlias) {
|
|
94
|
+
return `${step.mechanism} ${calleeLabel(step, byAlias)}`;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Build the stack at one trail step.
|
|
98
|
+
*
|
|
99
|
+
* - `calls` → the chain of calls into the caller frame, plus the callee as the
|
|
100
|
+
* next frame (not yet on the stack).
|
|
101
|
+
* - `uses` / data + event seams → the nearest call frame they attach to, with
|
|
102
|
+
* the seam as an annotation.
|
|
103
|
+
*/
|
|
104
|
+
export function buildTrailStack(trail, stepIndex, byAlias) {
|
|
105
|
+
const step = trail.steps[stepIndex];
|
|
106
|
+
if (!step) {
|
|
107
|
+
return { frames: [], annotations: [], isCall: false };
|
|
108
|
+
}
|
|
109
|
+
if (isCallStep(step)) {
|
|
110
|
+
const chain = callChain(trail, stepIndex);
|
|
111
|
+
return {
|
|
112
|
+
frames: framesForChain(trail, chain, stepIndex, byAlias),
|
|
113
|
+
annotations: [],
|
|
114
|
+
isCall: true,
|
|
115
|
+
callee: calleeLabel(step, byAlias),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
const anchor = anchorCallIndex(trail, stepIndex);
|
|
119
|
+
if (anchor != null) {
|
|
120
|
+
const chain = callChain(trail, anchor);
|
|
121
|
+
return {
|
|
122
|
+
frames: framesForChain(trail, chain, anchor, byAlias),
|
|
123
|
+
annotations: [
|
|
124
|
+
{
|
|
125
|
+
stepIndex,
|
|
126
|
+
mechanism: step.mechanism,
|
|
127
|
+
label: annotationLabel(step, byAlias),
|
|
128
|
+
selected: true,
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
isCall: false,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
frames: [
|
|
136
|
+
{
|
|
137
|
+
stepIndex,
|
|
138
|
+
label: callerLabel(step, byAlias),
|
|
139
|
+
componentAlias: step.from,
|
|
140
|
+
current: true,
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
annotations: [
|
|
144
|
+
{
|
|
145
|
+
stepIndex,
|
|
146
|
+
mechanism: step.mechanism,
|
|
147
|
+
label: annotationLabel(step, byAlias),
|
|
148
|
+
selected: true,
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
isCall: false,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=trailStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailStack.js","sourceRoot":"","sources":["../../src/subsystem/trailStack.ts"],"names":[],"mappings":"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"}
|