@principal-ai/principal-view-react 0.16.60 → 0.16.61
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 +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pierre/constructColors.d.ts.map +1 -1
- package/dist/pierre/constructColors.js +1 -4
- package/dist/pierre/constructColors.js.map +1 -1
- package/dist/subsystem/model.d.ts +64 -10
- package/dist/subsystem/model.d.ts.map +1 -1
- package/dist/subsystem/model.js +53 -8
- package/dist/subsystem/model.js.map +1 -1
- package/dist/subsystem/nodes.d.ts.map +1 -1
- package/dist/subsystem/nodes.js +16 -8
- package/dist/subsystem/nodes.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +10 -0
- package/src/pierre/constructColors.ts +1 -4
- package/src/stories/Subsystem/ComponentGraph/FrameworkStereotype.stories.tsx +216 -0
- package/src/stories/Subsystem/ComponentGraph/Spotlights.stories.tsx +38 -3
- package/src/subsystem/model.test.ts +44 -0
- package/src/subsystem/model.ts +105 -16
- package/src/subsystem/nodes.tsx +24 -12
package/dist/index.d.ts
CHANGED
|
@@ -64,7 +64,8 @@ export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
|
|
|
64
64
|
export type { SubsystemFileTreeProps } from './subsystem/SubsystemFileTree';
|
|
65
65
|
export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
|
|
66
66
|
export type { GraphLayoutCoverProps } from './subsystem/GraphLayoutCover';
|
|
67
|
-
export type { SubsystemComponent, SubsystemComponentEdge, SubsystemGraphDocument, SubsystemComponentConstruct, SubsystemEdgeMechanism, } from './subsystem/model';
|
|
67
|
+
export type { SubsystemComponent, SubsystemComponentEdge, SubsystemGraphDocument, SubsystemComponentConstruct, SubsystemComponentRole, SubsystemFramework, SubsystemStereotype, SubsystemEdgeMechanism, } from './subsystem/model';
|
|
68
|
+
export { constructBadgeLabel, deriveNameFromSymbol, nodeMinWidthForBadges, ROLE_COLOR, ROLE_LABEL, } from './subsystem/model';
|
|
68
69
|
export type { SubsystemDeclarationRef, SubsystemOpenFileOptions, DeclarationFreshness, } from './subsystem/declarationRef';
|
|
69
70
|
export { parseSourceLocation, normalizeDeclarationLine, extractDeclarationLine, DECLARATION_HASH_ALGO, } from './subsystem/declarationRef';
|
|
70
71
|
export { PierreFileView, PierreSnippetView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -44,6 +44,7 @@ export { CONSTRUCT_COLOR, constructColorsFromPierreTheme } from './pierre/constr
|
|
|
44
44
|
export { purlRepoKey, purlOwnerName, buildTreePathMapping, buildRepoGroups, repoAvatarUrl, } from './subsystem/paths';
|
|
45
45
|
export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
|
|
46
46
|
export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
|
|
47
|
+
export { constructBadgeLabel, deriveNameFromSymbol, nodeMinWidthForBadges, ROLE_COLOR, ROLE_LABEL, } from './subsystem/model';
|
|
47
48
|
export { parseSourceLocation, normalizeDeclarationLine, extractDeclarationLine, DECLARATION_HASH_ALGO, } from './subsystem/declarationRef';
|
|
48
49
|
// Pierre code views (@pierre/diffs wrappers)
|
|
49
50
|
export { PierreFileView, PierreSnippetView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAS9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvG,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAsChC,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmCrE,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAyCrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constructColors.d.ts","sourceRoot":"","sources":["../../src/pierre/constructColors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA+CjE,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,qBAAqB,GAC/B,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"constructColors.d.ts","sourceRoot":"","sources":["../../src/pierre/constructColors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA+CjE,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,qBAAqB,GAC/B,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CA8B7C;AAUD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,2BAA2B,EAAE,MAAM,CACzB,CAAC"}
|
|
@@ -66,10 +66,7 @@ export function constructColorsFromPierreTheme(themeName) {
|
|
|
66
66
|
interface: towardBackground(typeColor, 0.14),
|
|
67
67
|
type_alias: towardBackground(typeColor, 0.28),
|
|
68
68
|
function: functionColor,
|
|
69
|
-
|
|
70
|
-
// a shade of the function hue keeps them visually adjacent
|
|
71
|
-
react_component: towardBackground(functionColor, 0.14),
|
|
72
|
-
method: towardBackground(functionColor, 0.28),
|
|
69
|
+
method: towardBackground(functionColor, 0.14),
|
|
73
70
|
// enum members are constants — the generic constant hue
|
|
74
71
|
enum: pick('constant'),
|
|
75
72
|
// module and store share the constant hue — the module holds the store,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constructColors.js","sourceRoot":"","sources":["../../src/pierre/constructColors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constructColors.js","sourceRoot":"","sources":["../../src/pierre/constructColors.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { type Edge, type Node } from '@xyflow/react';
|
|
15
15
|
import type { GraphifyComponentDetail } from '../graphify';
|
|
16
16
|
import type { SubsystemDeclarationRef } from './declarationRef';
|
|
17
|
-
export type SubsystemComponentConstruct = 'class' | 'function' | 'method' | 'interface' | 'type_alias' | 'enum' | '
|
|
17
|
+
export type SubsystemComponentConstruct = 'class' | 'function' | 'method' | 'interface' | 'type_alias' | 'enum' | 'module' | 'store' | 'external';
|
|
18
18
|
/**
|
|
19
19
|
* Semantic role — where the node sits in the topology, orthogonal to
|
|
20
20
|
* `construct` (what it is). Roles have *inherited* anatomy: an entry renders
|
|
@@ -27,6 +27,20 @@ export type SubsystemComponentConstruct = 'class' | 'function' | 'method' | 'int
|
|
|
27
27
|
* calls out to (identity via purl, no `process` — it belongs to no region).
|
|
28
28
|
*/
|
|
29
29
|
export type SubsystemComponentRole = 'entry' | 'service';
|
|
30
|
+
/**
|
|
31
|
+
* Framework that owns a stereotype vocabulary (open string).
|
|
32
|
+
* Examples: `react`, `vue`, `nestjs`, `django`, `spring`.
|
|
33
|
+
* Empty when the node is language-only / framework-agnostic.
|
|
34
|
+
*/
|
|
35
|
+
export type SubsystemFramework = string;
|
|
36
|
+
/**
|
|
37
|
+
* Framework-level pattern stamped on a language construct (open string).
|
|
38
|
+
* Examples: `component`, `hook`, `middleware`, `controller`, `guard`.
|
|
39
|
+
* Empty when no framework pattern applies. Pair with `framework` when set —
|
|
40
|
+
* a React component stays `construct: 'function'` with
|
|
41
|
+
* `framework: 'react'` + `stereotype: 'component'`.
|
|
42
|
+
*/
|
|
43
|
+
export type SubsystemStereotype = string;
|
|
30
44
|
export type SubsystemDeclTokenKind = 'keyword' | 'name' | 'member' | 'type' | 'punctuation' | 'string' | 'newline';
|
|
31
45
|
export interface SubsystemDeclToken {
|
|
32
46
|
text: string;
|
|
@@ -41,14 +55,15 @@ export interface SubsystemComponent {
|
|
|
41
55
|
name: string;
|
|
42
56
|
/**
|
|
43
57
|
* The node's construct — what it IS as a declaration (class, function,
|
|
44
|
-
* method, interface, type alias, enum,
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* it
|
|
51
|
-
*
|
|
58
|
+
* method, interface, type alias, enum, store, external), driving node
|
|
59
|
+
* anatomy, color, badge, and the verification strategy. Every construct
|
|
60
|
+
* anchors to a definition; runtime occurrences (variables, activations,
|
|
61
|
+
* instances) are NOT constructs — they belong to a future execution-mode
|
|
62
|
+
* graph whose occurrence nodes reference these definitions. Ontology:
|
|
63
|
+
* construct = what it is, framework + stereotype = which framework pattern
|
|
64
|
+
* it plays, role = where it sits, process = where it runs. Prefer
|
|
65
|
+
* `framework` + `stereotype` over inventing framework-specific constructs
|
|
66
|
+
* (a React component is still `construct: 'function'`).
|
|
52
67
|
*/
|
|
53
68
|
construct: SubsystemComponentConstruct;
|
|
54
69
|
/** Source location the component lives in (repo-root-relative path). */
|
|
@@ -66,6 +81,17 @@ export interface SubsystemComponent {
|
|
|
66
81
|
* inbound, `produces` outbound).
|
|
67
82
|
*/
|
|
68
83
|
role?: SubsystemComponentRole;
|
|
84
|
+
/**
|
|
85
|
+
* Framework that owns the stereotype vocabulary (e.g. `react`, `nestjs`).
|
|
86
|
+
* Orthogonal to `construct` — leave empty for language-only units.
|
|
87
|
+
*/
|
|
88
|
+
framework?: SubsystemFramework;
|
|
89
|
+
/**
|
|
90
|
+
* Framework pattern this declaration plays (e.g. `component`, `hook`).
|
|
91
|
+
* When set, the node badge prefers this label over the construct name so
|
|
92
|
+
* a React UI unit reads as "component" rather than "function".
|
|
93
|
+
*/
|
|
94
|
+
stereotype?: SubsystemStereotype;
|
|
69
95
|
/**
|
|
70
96
|
* Runtime process membership — which deployment unit this node is a
|
|
71
97
|
* member of (e.g. `trail-viewer/host`, `trail-viewer/renderer`). Nodes
|
|
@@ -167,7 +193,7 @@ export interface SubsystemThroughline {
|
|
|
167
193
|
* a common-sense convention for whole-file modules, not a real TS name
|
|
168
194
|
* - otherwise no symbol → fall back to an existing name
|
|
169
195
|
*/
|
|
170
|
-
export declare function deriveNameFromSymbol(symbol: string | undefined, construct: SubsystemComponentConstruct, existingName?: string, file?: string): string;
|
|
196
|
+
export declare function deriveNameFromSymbol(symbol: string | undefined, construct: SubsystemComponentConstruct, existingName?: string, file?: string, stereotype?: string): string;
|
|
171
197
|
/**
|
|
172
198
|
* Human-readable purl identity — drops the `pkg:<type>/` scheme wrapper and
|
|
173
199
|
* trailing version, keeping the package / owner-repo identity:
|
|
@@ -248,6 +274,34 @@ export declare function packageColor(name: string): string;
|
|
|
248
274
|
* take over node borders. */
|
|
249
275
|
export declare const ROLE_COLOR: Record<SubsystemComponentRole, string>;
|
|
250
276
|
export declare const ROLE_LABEL: Record<SubsystemComponentRole, string>;
|
|
277
|
+
/**
|
|
278
|
+
* Primary badge text for a node: prefer framework stereotype over the
|
|
279
|
+
* language construct so a React UI unit reads as "component" / "hook"
|
|
280
|
+
* rather than "function". When both framework and stereotype are set,
|
|
281
|
+
* show `framework · stereotype` (e.g. `react · component`).
|
|
282
|
+
*/
|
|
283
|
+
export declare function constructBadgeLabel(component: {
|
|
284
|
+
construct: SubsystemComponentConstruct;
|
|
285
|
+
framework?: string;
|
|
286
|
+
stereotype?: string;
|
|
287
|
+
}): string;
|
|
288
|
+
/** Default CSS floor for component nodes (padding aside). */
|
|
289
|
+
export declare const NODE_CSS_MIN_WIDTH = 150;
|
|
290
|
+
/** Inset of each top badge from the node edge (`left` / `right` style). */
|
|
291
|
+
export declare const BADGE_EDGE_INSET = 5;
|
|
292
|
+
/** Estimated rendered width of a top tab badge label. */
|
|
293
|
+
export declare function estimateBadgeLabelWidth(label: string): number;
|
|
294
|
+
/**
|
|
295
|
+
* Minimum node width so top badges stay on one line and (when both are
|
|
296
|
+
* present) don't overlap — badges are absolutely positioned, so they don't
|
|
297
|
+
* contribute to layout unless we widen the node explicitly.
|
|
298
|
+
*/
|
|
299
|
+
export declare function nodeMinWidthForBadges(component: {
|
|
300
|
+
construct: SubsystemComponentConstruct;
|
|
301
|
+
framework?: string;
|
|
302
|
+
stereotype?: string;
|
|
303
|
+
role?: SubsystemComponentRole;
|
|
304
|
+
}): number;
|
|
251
305
|
/**
|
|
252
306
|
* Convert a subsystem graph document into React Flow nodes. Components that
|
|
253
307
|
* carry a `process` get a `parentId` pointing at their boundary group node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,2BAA2B,GACnC,OAAO,GACP,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,MAAM,GACN,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
|
package/dist/subsystem/model.js
CHANGED
|
@@ -24,7 +24,7 @@ import { computeElkLayout, calculatePathLength } from '../utils/elkLayout';
|
|
|
24
24
|
* a common-sense convention for whole-file modules, not a real TS name
|
|
25
25
|
* - otherwise no symbol → fall back to an existing name
|
|
26
26
|
*/
|
|
27
|
-
export function deriveNameFromSymbol(symbol, construct, existingName, file) {
|
|
27
|
+
export function deriveNameFromSymbol(symbol, construct, existingName, file, stereotype) {
|
|
28
28
|
let name;
|
|
29
29
|
if (symbol && symbol.trim()) {
|
|
30
30
|
name = symbol;
|
|
@@ -37,10 +37,13 @@ export function deriveNameFromSymbol(symbol, construct, existingName, file) {
|
|
|
37
37
|
}
|
|
38
38
|
if (!name)
|
|
39
39
|
name = existingName ?? 'untitled';
|
|
40
|
-
//
|
|
41
|
-
// (a
|
|
42
|
-
//
|
|
43
|
-
// Everything else (store,
|
|
40
|
+
// Decorations = what the drill-down shows. Framework stereotypes can override
|
|
41
|
+
// the language decoration (a React component wears `<>` instead of `()`).
|
|
42
|
+
// Executable constructs wear `()`; brace-bodied constructs wear ` {}`.
|
|
43
|
+
// Everything else (store, module, external) renders bare.
|
|
44
|
+
if (stereotype === 'component' && !name.startsWith('<')) {
|
|
45
|
+
return `<${name}>`;
|
|
46
|
+
}
|
|
44
47
|
if ((construct === 'function' || construct === 'method') && !name.endsWith('()')) {
|
|
45
48
|
name = `${name}()`;
|
|
46
49
|
}
|
|
@@ -172,6 +175,48 @@ export const ROLE_LABEL = {
|
|
|
172
175
|
entry: 'entry',
|
|
173
176
|
service: 'service',
|
|
174
177
|
};
|
|
178
|
+
/**
|
|
179
|
+
* Primary badge text for a node: prefer framework stereotype over the
|
|
180
|
+
* language construct so a React UI unit reads as "component" / "hook"
|
|
181
|
+
* rather than "function". When both framework and stereotype are set,
|
|
182
|
+
* show `framework · stereotype` (e.g. `react · component`).
|
|
183
|
+
*/
|
|
184
|
+
export function constructBadgeLabel(component) {
|
|
185
|
+
const constructLabel = component.construct === 'type_alias' ? 'type alias' : component.construct;
|
|
186
|
+
if (component.stereotype && component.framework) {
|
|
187
|
+
return `${component.framework} · ${component.stereotype}`;
|
|
188
|
+
}
|
|
189
|
+
if (component.stereotype)
|
|
190
|
+
return component.stereotype;
|
|
191
|
+
return constructLabel ?? '';
|
|
192
|
+
}
|
|
193
|
+
/** Default CSS floor for component nodes (padding aside). */
|
|
194
|
+
export const NODE_CSS_MIN_WIDTH = 150;
|
|
195
|
+
/** Inset of each top badge from the node edge (`left` / `right` style). */
|
|
196
|
+
export const BADGE_EDGE_INSET = 5;
|
|
197
|
+
/** Minimum gap between left construct badge and right role badge. */
|
|
198
|
+
const BADGE_PAIR_GAP = 8;
|
|
199
|
+
/** Badge box chrome: padding 5+5 + border 1+1. */
|
|
200
|
+
const BADGE_BOX_CHROME = 12;
|
|
201
|
+
/** Approx monospace uppercase width incl. letter-spacing (~0.5px). */
|
|
202
|
+
const BADGE_CHAR_WIDTH = 8;
|
|
203
|
+
/** Estimated rendered width of a top tab badge label. */
|
|
204
|
+
export function estimateBadgeLabelWidth(label) {
|
|
205
|
+
return (label?.length ?? 0) * BADGE_CHAR_WIDTH + BADGE_BOX_CHROME;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Minimum node width so top badges stay on one line and (when both are
|
|
209
|
+
* present) don't overlap — badges are absolutely positioned, so they don't
|
|
210
|
+
* contribute to layout unless we widen the node explicitly.
|
|
211
|
+
*/
|
|
212
|
+
export function nodeMinWidthForBadges(component) {
|
|
213
|
+
const left = estimateBadgeLabelWidth(constructBadgeLabel(component));
|
|
214
|
+
if (component.role == null) {
|
|
215
|
+
return Math.max(NODE_CSS_MIN_WIDTH, BADGE_EDGE_INSET + left + BADGE_EDGE_INSET);
|
|
216
|
+
}
|
|
217
|
+
const right = estimateBadgeLabelWidth(ROLE_LABEL[component.role]);
|
|
218
|
+
return Math.max(NODE_CSS_MIN_WIDTH, BADGE_EDGE_INSET + left + BADGE_PAIR_GAP + right + BADGE_EDGE_INSET);
|
|
219
|
+
}
|
|
175
220
|
/**
|
|
176
221
|
* Convert a subsystem graph document into React Flow nodes. Components that
|
|
177
222
|
* carry a `process` get a `parentId` pointing at their boundary group node
|
|
@@ -212,9 +257,9 @@ export function convertSubsystemToNodes(doc, opts = {}) {
|
|
|
212
257
|
.sort((a, b) => b.length - a.length)[0];
|
|
213
258
|
const cap = maxNodeWidth ?? 300;
|
|
214
259
|
const textWidth = Math.min(cap, Math.max(60, (text?.length ?? 10) * 8));
|
|
215
|
-
// Account for CSS minWidth and padding/border so ELK's
|
|
216
|
-
// the actual rendered node boundaries.
|
|
217
|
-
const cssMinWidth =
|
|
260
|
+
// Account for CSS minWidth (incl. top badges) and padding/border so ELK's
|
|
261
|
+
// port positions match the actual rendered node boundaries.
|
|
262
|
+
const cssMinWidth = nodeMinWidthForBadges(c);
|
|
218
263
|
const cssPadding = 20; // horizontal padding (left + right)
|
|
219
264
|
const cssBorder = 4; // 2px border each side
|
|
220
265
|
const rawWidth = Math.max(cssMinWidth, textWidth + cssPadding + cssBorder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB,OAAO,
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAUL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAC;AAgBF,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;0EACsE;IACtE,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,uBAA4B,CAAC;AAE/D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,2CA6M3G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,kDAmDnG;AAED;;6EAE6E;AAC7E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,eAAe,EAAE,OAAO,GACvB,OAAO,GAAG,SAAS,CAKrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAMvC;AAED,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;cAGc;AACd,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,GACV,EAAE,SAAS,CAAC,kBAAkB,CAAC,2CAsC/B"}
|
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 { useState } from 'react';
|
|
11
11
|
import { Handle, Position, } from '@xyflow/react';
|
|
12
12
|
import { useTheme } from '@principal-ade/industry-theme';
|
|
13
|
-
import { MECHANISM_COLOR, MECHANISM_STYLE, ROLE_COLOR, ROLE_LABEL, deriveNameFromSymbol, packageColor, } from './model';
|
|
13
|
+
import { MECHANISM_COLOR, MECHANISM_STYLE, ROLE_COLOR, ROLE_LABEL, constructBadgeLabel, deriveNameFromSymbol, BADGE_EDGE_INSET, nodeMinWidthForBadges, packageColor, } from './model';
|
|
14
14
|
import { constructColorsFromPierreTheme } from '../pierre/constructColors';
|
|
15
15
|
import { resolvePierreSyntaxThemeName } from '../pierre/pierreSyntaxTheme';
|
|
16
16
|
export const CONSTRUCT_LABEL = {
|
|
@@ -20,7 +20,6 @@ export const CONSTRUCT_LABEL = {
|
|
|
20
20
|
interface: 'interface',
|
|
21
21
|
type_alias: 'type alias',
|
|
22
22
|
enum: 'enum',
|
|
23
|
-
react_component: 'component',
|
|
24
23
|
module: 'module',
|
|
25
24
|
store: 'store',
|
|
26
25
|
external: 'external',
|
|
@@ -53,7 +52,10 @@ export function SubsystemComponentNode(props) {
|
|
|
53
52
|
const configuredMax = SUBSYSTEM_CALLBACKS.maxNodeWidth;
|
|
54
53
|
const maxWidth = configuredMax ?? 300;
|
|
55
54
|
// `symbol` is the source of truth; `name` is derived from it consistently.
|
|
56
|
-
const displayName = deriveNameFromSymbol(c.symbol, c.construct, c.name, c.file);
|
|
55
|
+
const displayName = deriveNameFromSymbol(c.symbol, c.construct, c.name, c.file, c.stereotype);
|
|
56
|
+
// Top badges are absolutely positioned — widen the node so they nowrap
|
|
57
|
+
// instead of wrapping, including when construct + role badges share the top.
|
|
58
|
+
const badgeMinWidth = nodeMinWidthForBadges(c);
|
|
57
59
|
// Set while a file is open in the drawer: true → spotlight, false → dim,
|
|
58
60
|
// absent (no file open) → neutral.
|
|
59
61
|
const fileMatch = data.fileMatch;
|
|
@@ -78,7 +80,7 @@ export function SubsystemComponentNode(props) {
|
|
|
78
80
|
boxSizing: 'border-box',
|
|
79
81
|
width: nodeWidth,
|
|
80
82
|
height: nodeHeight,
|
|
81
|
-
minWidth:
|
|
83
|
+
minWidth: badgeMinWidth,
|
|
82
84
|
maxWidth,
|
|
83
85
|
padding: '6px 10px',
|
|
84
86
|
borderRadius: 8,
|
|
@@ -97,28 +99,30 @@ export function SubsystemComponentNode(props) {
|
|
|
97
99
|
}, children: [_jsx("div", { style: {
|
|
98
100
|
position: 'absolute',
|
|
99
101
|
top: -9,
|
|
100
|
-
left:
|
|
102
|
+
left: BADGE_EDGE_INSET,
|
|
101
103
|
zIndex: 1,
|
|
102
104
|
fontFamily: theme.fonts.monospace,
|
|
103
105
|
fontSize: theme.fontSizes[0] * 1.1,
|
|
104
106
|
letterSpacing: 0.5,
|
|
105
107
|
textTransform: 'uppercase',
|
|
106
108
|
lineHeight: '17px',
|
|
109
|
+
whiteSpace: 'nowrap',
|
|
107
110
|
color,
|
|
108
111
|
background: theme.colors.backgroundSecondary ?? theme.colors.background,
|
|
109
112
|
border: `1px solid ${color}`,
|
|
110
113
|
borderRadius: 4,
|
|
111
114
|
padding: '0 5px',
|
|
112
|
-
}, children:
|
|
115
|
+
}, children: constructBadgeLabel(c) }), c.role != null && (_jsx("div", { style: {
|
|
113
116
|
position: 'absolute',
|
|
114
117
|
top: -9,
|
|
115
|
-
right:
|
|
118
|
+
right: BADGE_EDGE_INSET,
|
|
116
119
|
zIndex: 1,
|
|
117
120
|
fontFamily: theme.fonts.monospace,
|
|
118
121
|
fontSize: theme.fontSizes[0] * 1.1,
|
|
119
122
|
letterSpacing: 0.5,
|
|
120
123
|
textTransform: 'uppercase',
|
|
121
124
|
lineHeight: '17px',
|
|
125
|
+
whiteSpace: 'nowrap',
|
|
122
126
|
color: ROLE_COLOR[c.role],
|
|
123
127
|
background: theme.colors.backgroundSecondary ?? theme.colors.background,
|
|
124
128
|
border: `1px solid ${ROLE_COLOR[c.role]}`,
|
|
@@ -160,7 +164,11 @@ export function SubsystemComponentNode(props) {
|
|
|
160
164
|
maxWidth: '100%',
|
|
161
165
|
fontFamily: theme.fonts.body,
|
|
162
166
|
}, children: breakWords(displayName) }), c.symbol &&
|
|
163
|
-
c.symbol !==
|
|
167
|
+
c.symbol !==
|
|
168
|
+
displayName
|
|
169
|
+
.replace(/^<(.+)>$/, '$1')
|
|
170
|
+
.replace(/ ?\{\}$/, '')
|
|
171
|
+
.replace(/\(\)$/, '') && (_jsx("div", { style: {
|
|
164
172
|
fontSize: theme.fontSizes[0] * 0.82,
|
|
165
173
|
fontFamily: theme.fonts.monospace,
|
|
166
174
|
color: color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,MAAM,EACN,QAAQ,GAIT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,YAAY,GAIb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/subsystem/nodes.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@principal-ai/principal-view-react",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.61",
|
|
4
4
|
"description": "React components for graph-based principal view framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@pierre/diffs": ">=1.1.20",
|
|
39
39
|
"@principal-ade/industry-theme": "^0.1.7",
|
|
40
|
-
"@principal-ai/principal-view-core": ">=0.
|
|
40
|
+
"@principal-ai/principal-view-core": ">=0.28.13",
|
|
41
41
|
"react": "^18.0.0 || ^19.0.0",
|
|
42
42
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
43
43
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@pierre/diffs": "^1.3.0",
|
|
46
46
|
"@principal-ade/industry-theme": "0.1.7",
|
|
47
47
|
"@principal-ai/agent-monitoring": "^0.3.38",
|
|
48
|
-
"@principal-ai/principal-view-core": "0.
|
|
48
|
+
"@principal-ai/principal-view-core": "0.28.13",
|
|
49
49
|
"@storybook/addon-docs": "10.1.2",
|
|
50
50
|
"@storybook/addon-links": "10.1.2",
|
|
51
51
|
"@storybook/addon-onboarding": "10.1.2",
|
package/src/index.ts
CHANGED
|
@@ -304,8 +304,18 @@ export type {
|
|
|
304
304
|
SubsystemComponentEdge,
|
|
305
305
|
SubsystemGraphDocument,
|
|
306
306
|
SubsystemComponentConstruct,
|
|
307
|
+
SubsystemComponentRole,
|
|
308
|
+
SubsystemFramework,
|
|
309
|
+
SubsystemStereotype,
|
|
307
310
|
SubsystemEdgeMechanism,
|
|
308
311
|
} from './subsystem/model';
|
|
312
|
+
export {
|
|
313
|
+
constructBadgeLabel,
|
|
314
|
+
deriveNameFromSymbol,
|
|
315
|
+
nodeMinWidthForBadges,
|
|
316
|
+
ROLE_COLOR,
|
|
317
|
+
ROLE_LABEL,
|
|
318
|
+
} from './subsystem/model';
|
|
309
319
|
export type {
|
|
310
320
|
SubsystemDeclarationRef,
|
|
311
321
|
SubsystemOpenFileOptions,
|
|
@@ -84,10 +84,7 @@ export function constructColorsFromPierreTheme(
|
|
|
84
84
|
interface: towardBackground(typeColor, 0.14),
|
|
85
85
|
type_alias: towardBackground(typeColor, 0.28),
|
|
86
86
|
function: functionColor,
|
|
87
|
-
|
|
88
|
-
// a shade of the function hue keeps them visually adjacent
|
|
89
|
-
react_component: towardBackground(functionColor, 0.14),
|
|
90
|
-
method: towardBackground(functionColor, 0.28),
|
|
87
|
+
method: towardBackground(functionColor, 0.14),
|
|
91
88
|
// enum members are constants — the generic constant hue
|
|
92
89
|
enum: pick('constant'),
|
|
93
90
|
// module and store share the constant hue — the module holds the store,
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import '@xyflow/react/dist/style.css';
|
|
2
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
+
import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
|
|
4
|
+
import { SubsystemComponentGraph } from '../../../subsystem/SubsystemComponentGraph';
|
|
5
|
+
import type { SubsystemComponent, SubsystemComponentEdge } from '../../../subsystem/model';
|
|
6
|
+
|
|
7
|
+
const meta = {
|
|
8
|
+
title: 'Subsystem/ComponentGraph/FrameworkStereotype',
|
|
9
|
+
component: SubsystemComponentGraph,
|
|
10
|
+
parameters: { layout: 'fullscreen' },
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story) => (
|
|
14
|
+
<ThemeProvider theme={defaultEditorTheme}>
|
|
15
|
+
<Story />
|
|
16
|
+
</ThemeProvider>
|
|
17
|
+
),
|
|
18
|
+
],
|
|
19
|
+
} satisfies Meta<typeof SubsystemComponentGraph>;
|
|
20
|
+
|
|
21
|
+
export default meta;
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
|
|
24
|
+
const purl = 'pkg:github/principal-ai/principal-view-core-library';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Same language construct (`function`) with and without framework stereotypes.
|
|
28
|
+
* Badge text prefers `framework · stereotype` so UI units read as components /
|
|
29
|
+
* hooks instead of plain functions; construct color stays function-indigo.
|
|
30
|
+
*/
|
|
31
|
+
const reactUiComponents: SubsystemComponent[] = [
|
|
32
|
+
{
|
|
33
|
+
id: 'create-graph',
|
|
34
|
+
name: 'createSubsystemGraph',
|
|
35
|
+
construct: 'function',
|
|
36
|
+
file: 'packages/trail-viewer/src/bun/subsystem-graph-store.ts',
|
|
37
|
+
purl,
|
|
38
|
+
symbol: 'createSubsystemGraph',
|
|
39
|
+
purpose: 'language-only helper — no framework / stereotype',
|
|
40
|
+
process: 'trail-viewer/host',
|
|
41
|
+
layer: 1,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'http-entry',
|
|
45
|
+
name: 'handleSubsystemGraphRequest',
|
|
46
|
+
construct: 'function',
|
|
47
|
+
file: 'packages/trail-viewer/src/bun/http-server.ts',
|
|
48
|
+
purl,
|
|
49
|
+
symbol: 'handleSubsystemGraphRequest',
|
|
50
|
+
purpose: 'HTTP bridge entry — topology role, still no React stereotype',
|
|
51
|
+
role: 'entry',
|
|
52
|
+
process: 'trail-viewer/host',
|
|
53
|
+
layer: 1,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'sessions-view',
|
|
57
|
+
name: 'AgentSessionsOverviewView',
|
|
58
|
+
construct: 'function',
|
|
59
|
+
file: 'packages/trail-viewer/src/mainview/views/AgentSessions.tsx',
|
|
60
|
+
purl,
|
|
61
|
+
symbol: 'AgentSessionsOverviewView',
|
|
62
|
+
purpose: 'React view — construct stays function; stereotype labels it',
|
|
63
|
+
framework: 'react',
|
|
64
|
+
stereotype: 'component',
|
|
65
|
+
process: 'trail-viewer/renderer',
|
|
66
|
+
layer: 2,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'analysis-view',
|
|
70
|
+
name: 'AnalysisView',
|
|
71
|
+
construct: 'function',
|
|
72
|
+
file: 'packages/trail-viewer/src/mainview/views/AnalysisView.tsx',
|
|
73
|
+
purl,
|
|
74
|
+
symbol: 'AnalysisView',
|
|
75
|
+
purpose: 'another React component alongside a hook',
|
|
76
|
+
framework: 'react',
|
|
77
|
+
stereotype: 'component',
|
|
78
|
+
process: 'trail-viewer/renderer',
|
|
79
|
+
layer: 2,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: 'drawings-host',
|
|
83
|
+
name: 'useDrawingsHost',
|
|
84
|
+
construct: 'function',
|
|
85
|
+
file: 'packages/trail-viewer/src/mainview/hooks/useDrawingsHost.ts',
|
|
86
|
+
purl,
|
|
87
|
+
symbol: 'useDrawingsHost',
|
|
88
|
+
purpose: 'React hook — same construct, different stereotype',
|
|
89
|
+
framework: 'react',
|
|
90
|
+
stereotype: 'hook',
|
|
91
|
+
process: 'trail-viewer/renderer',
|
|
92
|
+
layer: 2,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'graph-doc-type',
|
|
96
|
+
name: 'SubsystemGraphDocument',
|
|
97
|
+
construct: 'type_alias',
|
|
98
|
+
file: 'packages/core/src/types/subsystem-graph.ts',
|
|
99
|
+
purl,
|
|
100
|
+
symbol: 'SubsystemGraphDocument',
|
|
101
|
+
purpose: 'type-only — framework / stereotype stay empty',
|
|
102
|
+
layer: 3,
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
const reactUiEdges: SubsystemComponentEdge[] = [
|
|
107
|
+
{
|
|
108
|
+
id: 'http-to-create',
|
|
109
|
+
from: 'http-entry',
|
|
110
|
+
to: 'create-graph',
|
|
111
|
+
mechanism: 'calls',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: 'sessions-uses-hook',
|
|
115
|
+
from: 'sessions-view',
|
|
116
|
+
to: 'drawings-host',
|
|
117
|
+
mechanism: 'uses',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: 'analysis-uses-type',
|
|
121
|
+
from: 'analysis-view',
|
|
122
|
+
to: 'graph-doc-type',
|
|
123
|
+
mechanism: 'references',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 'sessions-to-analysis',
|
|
127
|
+
from: 'sessions-view',
|
|
128
|
+
to: 'analysis-view',
|
|
129
|
+
mechanism: 'feeds',
|
|
130
|
+
},
|
|
131
|
+
];
|
|
132
|
+
|
|
133
|
+
export const ReactComponentsAndHooks: Story = {
|
|
134
|
+
render: () => (
|
|
135
|
+
<div style={{ width: '100%', height: '100vh' }}>
|
|
136
|
+
<SubsystemComponentGraph
|
|
137
|
+
title="Framework + stereotype"
|
|
138
|
+
description="construct stays language-shaped (function / type_alias). framework + stereotype label React units as component / hook without inventing a react_component construct. Empty fields mean language-only."
|
|
139
|
+
components={reactUiComponents}
|
|
140
|
+
edges={reactUiEdges}
|
|
141
|
+
/>
|
|
142
|
+
</div>
|
|
143
|
+
),
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/** Nest-style stereotypes on the same ontology — controller / middleware / guard. */
|
|
147
|
+
const nestComponents: SubsystemComponent[] = [
|
|
148
|
+
{
|
|
149
|
+
id: 'graphs-controller',
|
|
150
|
+
name: 'SubsystemGraphsController',
|
|
151
|
+
construct: 'class',
|
|
152
|
+
file: 'src/graphs/graphs.controller.ts',
|
|
153
|
+
purl: 'pkg:github/acme/api',
|
|
154
|
+
symbol: 'SubsystemGraphsController',
|
|
155
|
+
purpose: 'Nest HTTP controller',
|
|
156
|
+
framework: 'nestjs',
|
|
157
|
+
stereotype: 'controller',
|
|
158
|
+
role: 'entry',
|
|
159
|
+
layer: 1,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
id: 'auth-guard',
|
|
163
|
+
name: 'AuthGuard',
|
|
164
|
+
construct: 'class',
|
|
165
|
+
file: 'src/auth/auth.guard.ts',
|
|
166
|
+
purl: 'pkg:github/acme/api',
|
|
167
|
+
symbol: 'AuthGuard',
|
|
168
|
+
purpose: 'request guard',
|
|
169
|
+
framework: 'nestjs',
|
|
170
|
+
stereotype: 'guard',
|
|
171
|
+
layer: 1,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: 'logging-mw',
|
|
175
|
+
name: 'LoggingMiddleware',
|
|
176
|
+
construct: 'function',
|
|
177
|
+
file: 'src/logging/logging.middleware.ts',
|
|
178
|
+
purl: 'pkg:github/acme/api',
|
|
179
|
+
symbol: 'LoggingMiddleware',
|
|
180
|
+
purpose: 'Express-style middleware function under Nest',
|
|
181
|
+
framework: 'nestjs',
|
|
182
|
+
stereotype: 'middleware',
|
|
183
|
+
layer: 1,
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
id: 'graphs-service',
|
|
187
|
+
name: 'GraphsService',
|
|
188
|
+
construct: 'class',
|
|
189
|
+
file: 'src/graphs/graphs.service.ts',
|
|
190
|
+
purl: 'pkg:github/acme/api',
|
|
191
|
+
symbol: 'GraphsService',
|
|
192
|
+
purpose: 'injectable service — stereotype without UI',
|
|
193
|
+
framework: 'nestjs',
|
|
194
|
+
stereotype: 'injectable',
|
|
195
|
+
layer: 2,
|
|
196
|
+
},
|
|
197
|
+
];
|
|
198
|
+
|
|
199
|
+
const nestEdges: SubsystemComponentEdge[] = [
|
|
200
|
+
{ id: 'mw-to-guard', from: 'logging-mw', to: 'auth-guard', mechanism: 'uses' },
|
|
201
|
+
{ id: 'guard-to-ctrl', from: 'auth-guard', to: 'graphs-controller', mechanism: 'uses' },
|
|
202
|
+
{ id: 'ctrl-to-svc', from: 'graphs-controller', to: 'graphs-service', mechanism: 'calls' },
|
|
203
|
+
];
|
|
204
|
+
|
|
205
|
+
export const NestControllerStack: Story = {
|
|
206
|
+
render: () => (
|
|
207
|
+
<div style={{ width: '100%', height: '100vh' }}>
|
|
208
|
+
<SubsystemComponentGraph
|
|
209
|
+
title="Nest framework stereotypes"
|
|
210
|
+
description="Same optional fields work outside React: class/function constructs plus nestjs controller / guard / middleware / injectable stereotypes."
|
|
211
|
+
components={nestComponents}
|
|
212
|
+
edges={nestEdges}
|
|
213
|
+
/>
|
|
214
|
+
</div>
|
|
215
|
+
),
|
|
216
|
+
};
|
|
@@ -38,8 +38,8 @@ type Story = StoryObj<typeof meta>;
|
|
|
38
38
|
// Targeted side-by-side spotlights: each construct's DATA next to its
|
|
39
39
|
// RENDERING — no full graph shell. Three spotlights: nodes, mechanisms
|
|
40
40
|
// (edges), and anatomy (declaration panels). The mapping these make visible:
|
|
41
|
-
// construct:→ node anatomy + color,
|
|
42
|
-
// mechanism → edge color/style.
|
|
41
|
+
// construct:→ node anatomy + color, framework+stereotype → badge label,
|
|
42
|
+
// role → topology glyph, detail → drill-down, mechanism → edge color/style.
|
|
43
43
|
// ---------------------------------------------------------------------------
|
|
44
44
|
|
|
45
45
|
/** Data snippet card — the raw object on the left of every row. */
|
|
@@ -209,6 +209,35 @@ const nodeSpotlights: Array<{ label: string; component: SubsystemComponent; note
|
|
|
209
209
|
symbol: 'createSubsystemGraph',
|
|
210
210
|
},
|
|
211
211
|
},
|
|
212
|
+
{
|
|
213
|
+
label: 'framework: react · stereotype: component — still construct: function',
|
|
214
|
+
note: 'badge reads "react · component"; name wears <> ; color stays function',
|
|
215
|
+
component: {
|
|
216
|
+
id: 'analysis-view',
|
|
217
|
+
name: 'AnalysisView',
|
|
218
|
+
construct: 'function',
|
|
219
|
+
file: 'packages/trail-viewer/src/mainview/views/AnalysisView.tsx',
|
|
220
|
+
purl: corePurl,
|
|
221
|
+
symbol: 'AnalysisView',
|
|
222
|
+
framework: 'react',
|
|
223
|
+
stereotype: 'component',
|
|
224
|
+
purpose: 'renders a saved analysis as concept cards',
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
label: 'framework: react · stereotype: hook',
|
|
229
|
+
note: 'same construct, different stereotype — badge "react · hook", keeps ()',
|
|
230
|
+
component: {
|
|
231
|
+
id: 'drawings-host',
|
|
232
|
+
name: 'useDrawingsHost',
|
|
233
|
+
construct: 'function',
|
|
234
|
+
file: 'packages/trail-viewer/src/mainview/hooks/useDrawingsHost.ts',
|
|
235
|
+
purl: corePurl,
|
|
236
|
+
symbol: 'useDrawingsHost',
|
|
237
|
+
framework: 'react',
|
|
238
|
+
stereotype: 'hook',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
212
241
|
{
|
|
213
242
|
label: 'role: entry on construct: function — boundary element',
|
|
214
243
|
note: 'orange overrides construct:color; anatomy inherited from the function',
|
|
@@ -331,7 +360,13 @@ function NodeSpotlightsDemo() {
|
|
|
331
360
|
{nodeSpotlights.map(({ component }) => {
|
|
332
361
|
const on = activeIds.has(component.id);
|
|
333
362
|
const color = constructColors[component.construct];
|
|
334
|
-
const chip = component.
|
|
363
|
+
const chip = component.stereotype
|
|
364
|
+
? component.framework
|
|
365
|
+
? `${component.framework} · ${component.stereotype}`
|
|
366
|
+
: component.stereotype
|
|
367
|
+
: component.role != null
|
|
368
|
+
? `${component.construct} · ${component.role}`
|
|
369
|
+
: component.construct;
|
|
335
370
|
return (
|
|
336
371
|
<button
|
|
337
372
|
key={component.id}
|
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
processGroupNodeId,
|
|
8
8
|
buildSubsystemGraph,
|
|
9
9
|
deriveNameFromSymbol,
|
|
10
|
+
constructBadgeLabel,
|
|
11
|
+
nodeMinWidthForBadges,
|
|
10
12
|
formatPurl,
|
|
11
13
|
packageColor,
|
|
12
14
|
subsystemGraphLayoutKey,
|
|
@@ -105,6 +107,48 @@ describe('subsystem graph model', () => {
|
|
|
105
107
|
expect(deriveNameFromSymbol('Foo {}', 'class')).toBe('Foo {}');
|
|
106
108
|
});
|
|
107
109
|
|
|
110
|
+
test('deriveNameFromSymbol uses JSX decoration for component stereotype', () => {
|
|
111
|
+
expect(deriveNameFromSymbol('AnalysisView', 'function', undefined, undefined, 'component')).toBe(
|
|
112
|
+
'<AnalysisView>',
|
|
113
|
+
);
|
|
114
|
+
expect(deriveNameFromSymbol('useDrawingsHost', 'function', undefined, undefined, 'hook')).toBe(
|
|
115
|
+
'useDrawingsHost()',
|
|
116
|
+
);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
test('constructBadgeLabel prefers framework · stereotype over construct', () => {
|
|
120
|
+
expect(
|
|
121
|
+
constructBadgeLabel({
|
|
122
|
+
construct: 'function',
|
|
123
|
+
framework: 'react',
|
|
124
|
+
stereotype: 'component',
|
|
125
|
+
}),
|
|
126
|
+
).toBe('react · component');
|
|
127
|
+
expect(constructBadgeLabel({ construct: 'function', stereotype: 'hook' })).toBe('hook');
|
|
128
|
+
expect(constructBadgeLabel({ construct: 'function' })).toBe('function');
|
|
129
|
+
expect(constructBadgeLabel({ construct: 'type_alias' })).toBe('type alias');
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
test('nodeMinWidthForBadges widens for long construct badges and role pairs', () => {
|
|
133
|
+
const plain = nodeMinWidthForBadges({ construct: 'function' });
|
|
134
|
+
expect(plain).toBe(150);
|
|
135
|
+
|
|
136
|
+
const stereotype = nodeMinWidthForBadges({
|
|
137
|
+
construct: 'function',
|
|
138
|
+
framework: 'react',
|
|
139
|
+
stereotype: 'component',
|
|
140
|
+
});
|
|
141
|
+
expect(stereotype).toBeGreaterThan(150);
|
|
142
|
+
|
|
143
|
+
const withRole = nodeMinWidthForBadges({
|
|
144
|
+
construct: 'function',
|
|
145
|
+
framework: 'react',
|
|
146
|
+
stereotype: 'component',
|
|
147
|
+
role: 'entry',
|
|
148
|
+
});
|
|
149
|
+
expect(withRole).toBeGreaterThan(stereotype);
|
|
150
|
+
});
|
|
151
|
+
|
|
108
152
|
test('deriveNameFromSymbol falls back to file basename for modules', () => {
|
|
109
153
|
expect(deriveNameFromSymbol(undefined, 'module', undefined, 'transcript.ts')).toBe('transcript');
|
|
110
154
|
expect(deriveNameFromSymbol(undefined, 'module', undefined, 'src/event-processors/index.ts')).toBe('index');
|
package/src/subsystem/model.ts
CHANGED
|
@@ -28,7 +28,6 @@ export type SubsystemComponentConstruct =
|
|
|
28
28
|
| 'interface'
|
|
29
29
|
| 'type_alias'
|
|
30
30
|
| 'enum'
|
|
31
|
-
| 'react_component'
|
|
32
31
|
| 'module'
|
|
33
32
|
| 'store'
|
|
34
33
|
| 'external';
|
|
@@ -46,6 +45,22 @@ export type SubsystemComponentConstruct =
|
|
|
46
45
|
*/
|
|
47
46
|
export type SubsystemComponentRole = 'entry' | 'service';
|
|
48
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Framework that owns a stereotype vocabulary (open string).
|
|
50
|
+
* Examples: `react`, `vue`, `nestjs`, `django`, `spring`.
|
|
51
|
+
* Empty when the node is language-only / framework-agnostic.
|
|
52
|
+
*/
|
|
53
|
+
export type SubsystemFramework = string;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Framework-level pattern stamped on a language construct (open string).
|
|
57
|
+
* Examples: `component`, `hook`, `middleware`, `controller`, `guard`.
|
|
58
|
+
* Empty when no framework pattern applies. Pair with `framework` when set —
|
|
59
|
+
* a React component stays `construct: 'function'` with
|
|
60
|
+
* `framework: 'react'` + `stereotype: 'component'`.
|
|
61
|
+
*/
|
|
62
|
+
export type SubsystemStereotype = string;
|
|
63
|
+
|
|
49
64
|
// ---------------------------------------------------------------------------
|
|
50
65
|
// Declaration tokens — structured source representation
|
|
51
66
|
// ---------------------------------------------------------------------------
|
|
@@ -93,14 +108,15 @@ export interface SubsystemComponent {
|
|
|
93
108
|
name: string;
|
|
94
109
|
/**
|
|
95
110
|
* The node's construct — what it IS as a declaration (class, function,
|
|
96
|
-
* method, interface, type alias, enum,
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* it
|
|
103
|
-
*
|
|
111
|
+
* method, interface, type alias, enum, store, external), driving node
|
|
112
|
+
* anatomy, color, badge, and the verification strategy. Every construct
|
|
113
|
+
* anchors to a definition; runtime occurrences (variables, activations,
|
|
114
|
+
* instances) are NOT constructs — they belong to a future execution-mode
|
|
115
|
+
* graph whose occurrence nodes reference these definitions. Ontology:
|
|
116
|
+
* construct = what it is, framework + stereotype = which framework pattern
|
|
117
|
+
* it plays, role = where it sits, process = where it runs. Prefer
|
|
118
|
+
* `framework` + `stereotype` over inventing framework-specific constructs
|
|
119
|
+
* (a React component is still `construct: 'function'`).
|
|
104
120
|
*/
|
|
105
121
|
construct: SubsystemComponentConstruct;
|
|
106
122
|
/** Source location the component lives in (repo-root-relative path). */
|
|
@@ -118,6 +134,17 @@ export interface SubsystemComponent {
|
|
|
118
134
|
* inbound, `produces` outbound).
|
|
119
135
|
*/
|
|
120
136
|
role?: SubsystemComponentRole;
|
|
137
|
+
/**
|
|
138
|
+
* Framework that owns the stereotype vocabulary (e.g. `react`, `nestjs`).
|
|
139
|
+
* Orthogonal to `construct` — leave empty for language-only units.
|
|
140
|
+
*/
|
|
141
|
+
framework?: SubsystemFramework;
|
|
142
|
+
/**
|
|
143
|
+
* Framework pattern this declaration plays (e.g. `component`, `hook`).
|
|
144
|
+
* When set, the node badge prefers this label over the construct name so
|
|
145
|
+
* a React UI unit reads as "component" rather than "function".
|
|
146
|
+
*/
|
|
147
|
+
stereotype?: SubsystemStereotype;
|
|
121
148
|
/**
|
|
122
149
|
* Runtime process membership — which deployment unit this node is a
|
|
123
150
|
* member of (e.g. `trail-viewer/host`, `trail-viewer/renderer`). Nodes
|
|
@@ -228,6 +255,7 @@ export function deriveNameFromSymbol(
|
|
|
228
255
|
construct: SubsystemComponentConstruct,
|
|
229
256
|
existingName?: string,
|
|
230
257
|
file?: string,
|
|
258
|
+
stereotype?: string,
|
|
231
259
|
): string {
|
|
232
260
|
let name: string | undefined;
|
|
233
261
|
if (symbol && symbol.trim()) {
|
|
@@ -239,10 +267,13 @@ export function deriveNameFromSymbol(
|
|
|
239
267
|
}
|
|
240
268
|
if (!name) name = existingName ?? 'untitled';
|
|
241
269
|
|
|
242
|
-
//
|
|
243
|
-
// (a
|
|
244
|
-
//
|
|
245
|
-
// Everything else (store,
|
|
270
|
+
// Decorations = what the drill-down shows. Framework stereotypes can override
|
|
271
|
+
// the language decoration (a React component wears `<>` instead of `()`).
|
|
272
|
+
// Executable constructs wear `()`; brace-bodied constructs wear ` {}`.
|
|
273
|
+
// Everything else (store, module, external) renders bare.
|
|
274
|
+
if (stereotype === 'component' && !name.startsWith('<')) {
|
|
275
|
+
return `<${name}>`;
|
|
276
|
+
}
|
|
246
277
|
if ((construct === 'function' || construct === 'method') && !name.endsWith('()')) {
|
|
247
278
|
name = `${name}()`;
|
|
248
279
|
}
|
|
@@ -446,6 +477,64 @@ export const ROLE_LABEL: Record<SubsystemComponentRole, string> = {
|
|
|
446
477
|
service: 'service',
|
|
447
478
|
};
|
|
448
479
|
|
|
480
|
+
/**
|
|
481
|
+
* Primary badge text for a node: prefer framework stereotype over the
|
|
482
|
+
* language construct so a React UI unit reads as "component" / "hook"
|
|
483
|
+
* rather than "function". When both framework and stereotype are set,
|
|
484
|
+
* show `framework · stereotype` (e.g. `react · component`).
|
|
485
|
+
*/
|
|
486
|
+
export function constructBadgeLabel(component: {
|
|
487
|
+
construct: SubsystemComponentConstruct;
|
|
488
|
+
framework?: string;
|
|
489
|
+
stereotype?: string;
|
|
490
|
+
}): string {
|
|
491
|
+
const constructLabel =
|
|
492
|
+
component.construct === 'type_alias' ? 'type alias' : component.construct;
|
|
493
|
+
if (component.stereotype && component.framework) {
|
|
494
|
+
return `${component.framework} · ${component.stereotype}`;
|
|
495
|
+
}
|
|
496
|
+
if (component.stereotype) return component.stereotype;
|
|
497
|
+
return constructLabel ?? '';
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/** Default CSS floor for component nodes (padding aside). */
|
|
501
|
+
export const NODE_CSS_MIN_WIDTH = 150;
|
|
502
|
+
/** Inset of each top badge from the node edge (`left` / `right` style). */
|
|
503
|
+
export const BADGE_EDGE_INSET = 5;
|
|
504
|
+
/** Minimum gap between left construct badge and right role badge. */
|
|
505
|
+
const BADGE_PAIR_GAP = 8;
|
|
506
|
+
/** Badge box chrome: padding 5+5 + border 1+1. */
|
|
507
|
+
const BADGE_BOX_CHROME = 12;
|
|
508
|
+
/** Approx monospace uppercase width incl. letter-spacing (~0.5px). */
|
|
509
|
+
const BADGE_CHAR_WIDTH = 8;
|
|
510
|
+
|
|
511
|
+
/** Estimated rendered width of a top tab badge label. */
|
|
512
|
+
export function estimateBadgeLabelWidth(label: string): number {
|
|
513
|
+
return (label?.length ?? 0) * BADGE_CHAR_WIDTH + BADGE_BOX_CHROME;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Minimum node width so top badges stay on one line and (when both are
|
|
518
|
+
* present) don't overlap — badges are absolutely positioned, so they don't
|
|
519
|
+
* contribute to layout unless we widen the node explicitly.
|
|
520
|
+
*/
|
|
521
|
+
export function nodeMinWidthForBadges(component: {
|
|
522
|
+
construct: SubsystemComponentConstruct;
|
|
523
|
+
framework?: string;
|
|
524
|
+
stereotype?: string;
|
|
525
|
+
role?: SubsystemComponentRole;
|
|
526
|
+
}): number {
|
|
527
|
+
const left = estimateBadgeLabelWidth(constructBadgeLabel(component));
|
|
528
|
+
if (component.role == null) {
|
|
529
|
+
return Math.max(NODE_CSS_MIN_WIDTH, BADGE_EDGE_INSET + left + BADGE_EDGE_INSET);
|
|
530
|
+
}
|
|
531
|
+
const right = estimateBadgeLabelWidth(ROLE_LABEL[component.role]);
|
|
532
|
+
return Math.max(
|
|
533
|
+
NODE_CSS_MIN_WIDTH,
|
|
534
|
+
BADGE_EDGE_INSET + left + BADGE_PAIR_GAP + right + BADGE_EDGE_INSET,
|
|
535
|
+
);
|
|
536
|
+
}
|
|
537
|
+
|
|
449
538
|
/**
|
|
450
539
|
* Convert a subsystem graph document into React Flow nodes. Components that
|
|
451
540
|
* carry a `process` get a `parentId` pointing at their boundary group node
|
|
@@ -492,9 +581,9 @@ export function convertSubsystemToNodes(
|
|
|
492
581
|
.sort((a, b) => b.length - a.length)[0];
|
|
493
582
|
const cap = maxNodeWidth ?? 300;
|
|
494
583
|
const textWidth = Math.min(cap, Math.max(60, (text?.length ?? 10) * 8));
|
|
495
|
-
// Account for CSS minWidth and padding/border so ELK's
|
|
496
|
-
// the actual rendered node boundaries.
|
|
497
|
-
const cssMinWidth =
|
|
584
|
+
// Account for CSS minWidth (incl. top badges) and padding/border so ELK's
|
|
585
|
+
// port positions match the actual rendered node boundaries.
|
|
586
|
+
const cssMinWidth = nodeMinWidthForBadges(c);
|
|
498
587
|
const cssPadding = 20; // horizontal padding (left + right)
|
|
499
588
|
const cssBorder = 4; // 2px border each side
|
|
500
589
|
const rawWidth = Math.max(cssMinWidth, textWidth + cssPadding + cssBorder);
|
package/src/subsystem/nodes.tsx
CHANGED
|
@@ -21,7 +21,10 @@ import {
|
|
|
21
21
|
MECHANISM_STYLE,
|
|
22
22
|
ROLE_COLOR,
|
|
23
23
|
ROLE_LABEL,
|
|
24
|
+
constructBadgeLabel,
|
|
24
25
|
deriveNameFromSymbol,
|
|
26
|
+
BADGE_EDGE_INSET,
|
|
27
|
+
nodeMinWidthForBadges,
|
|
25
28
|
packageColor,
|
|
26
29
|
type SubsystemGraphNodeData,
|
|
27
30
|
type SubsystemGroupNodeData,
|
|
@@ -37,7 +40,6 @@ export const CONSTRUCT_LABEL: Record<string, string> = {
|
|
|
37
40
|
interface: 'interface',
|
|
38
41
|
type_alias: 'type alias',
|
|
39
42
|
enum: 'enum',
|
|
40
|
-
react_component: 'component',
|
|
41
43
|
module: 'module',
|
|
42
44
|
store: 'store',
|
|
43
45
|
external: 'external',
|
|
@@ -87,7 +89,10 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
87
89
|
const configuredMax = SUBSYSTEM_CALLBACKS.maxNodeWidth;
|
|
88
90
|
const maxWidth = configuredMax ?? 300;
|
|
89
91
|
// `symbol` is the source of truth; `name` is derived from it consistently.
|
|
90
|
-
const displayName = deriveNameFromSymbol(c.symbol, c.construct, c.name, c.file);
|
|
92
|
+
const displayName = deriveNameFromSymbol(c.symbol, c.construct, c.name, c.file, c.stereotype);
|
|
93
|
+
// Top badges are absolutely positioned — widen the node so they nowrap
|
|
94
|
+
// instead of wrapping, including when construct + role badges share the top.
|
|
95
|
+
const badgeMinWidth = nodeMinWidthForBadges(c);
|
|
91
96
|
// Set while a file is open in the drawer: true → spotlight, false → dim,
|
|
92
97
|
// absent (no file open) → neutral.
|
|
93
98
|
const fileMatch = data.fileMatch as boolean | undefined;
|
|
@@ -118,7 +123,7 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
118
123
|
boxSizing: 'border-box',
|
|
119
124
|
width: nodeWidth,
|
|
120
125
|
height: nodeHeight,
|
|
121
|
-
minWidth:
|
|
126
|
+
minWidth: badgeMinWidth,
|
|
122
127
|
maxWidth,
|
|
123
128
|
padding: '6px 10px',
|
|
124
129
|
borderRadius: 8,
|
|
@@ -136,20 +141,21 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
136
141
|
fontFamily: theme.fonts.body,
|
|
137
142
|
}}
|
|
138
143
|
>
|
|
139
|
-
{/* Construct badge —
|
|
140
|
-
|
|
141
|
-
clicks pass through to the node. */}
|
|
144
|
+
{/* Construct / stereotype badge — prefers framework stereotype so a
|
|
145
|
+
React UI unit reads as "react · component" instead of "function".
|
|
146
|
+
Persistent; pointer-events none so clicks pass through to the node. */}
|
|
142
147
|
<div
|
|
143
148
|
style={{
|
|
144
149
|
position: 'absolute',
|
|
145
150
|
top: -9,
|
|
146
|
-
left:
|
|
151
|
+
left: BADGE_EDGE_INSET,
|
|
147
152
|
zIndex: 1,
|
|
148
153
|
fontFamily: theme.fonts.monospace,
|
|
149
154
|
fontSize: theme.fontSizes[0] * 1.1,
|
|
150
155
|
letterSpacing: 0.5,
|
|
151
156
|
textTransform: 'uppercase',
|
|
152
157
|
lineHeight: '17px',
|
|
158
|
+
whiteSpace: 'nowrap',
|
|
153
159
|
color,
|
|
154
160
|
background: theme.colors.backgroundSecondary ?? theme.colors.background,
|
|
155
161
|
border: `1px solid ${color}`,
|
|
@@ -157,7 +163,7 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
157
163
|
padding: '0 5px',
|
|
158
164
|
}}
|
|
159
165
|
>
|
|
160
|
-
{
|
|
166
|
+
{constructBadgeLabel(c)}
|
|
161
167
|
</div>
|
|
162
168
|
|
|
163
169
|
{/* Role badge — top-right, only when the node carries a topology role.
|
|
@@ -168,13 +174,14 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
168
174
|
style={{
|
|
169
175
|
position: 'absolute',
|
|
170
176
|
top: -9,
|
|
171
|
-
right:
|
|
177
|
+
right: BADGE_EDGE_INSET,
|
|
172
178
|
zIndex: 1,
|
|
173
179
|
fontFamily: theme.fonts.monospace,
|
|
174
180
|
fontSize: theme.fontSizes[0] * 1.1,
|
|
175
181
|
letterSpacing: 0.5,
|
|
176
182
|
textTransform: 'uppercase',
|
|
177
183
|
lineHeight: '17px',
|
|
184
|
+
whiteSpace: 'nowrap',
|
|
178
185
|
color: ROLE_COLOR[c.role],
|
|
179
186
|
background: theme.colors.backgroundSecondary ?? theme.colors.background,
|
|
180
187
|
border: `1px solid ${ROLE_COLOR[c.role]}`,
|
|
@@ -243,10 +250,15 @@ export function SubsystemComponentNode(props: NodeProps<Node<SubsystemGraphNodeD
|
|
|
243
250
|
</div>
|
|
244
251
|
|
|
245
252
|
{/* Hide the identity line when the symbol is just the title without its
|
|
246
|
-
decoration (`()
|
|
247
|
-
(e.g. the dotted host on methods, or a different code
|
|
253
|
+
decoration (`()`, ` {}`, or `<>`) — only show it when it adds
|
|
254
|
+
information (e.g. the dotted host on methods, or a different code
|
|
255
|
+
identity). */}
|
|
248
256
|
{c.symbol &&
|
|
249
|
-
c.symbol !==
|
|
257
|
+
c.symbol !==
|
|
258
|
+
displayName
|
|
259
|
+
.replace(/^<(.+)>$/, '$1')
|
|
260
|
+
.replace(/ ?\{\}$/, '')
|
|
261
|
+
.replace(/\(\)$/, '') && (
|
|
250
262
|
<div
|
|
251
263
|
style={{
|
|
252
264
|
fontSize: theme.fontSizes[0] * 0.82,
|