@principal-ai/subsystems-react 0.43.0 → 0.43.1
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/subsystem/SubsystemComponentGraph.d.ts +7 -0
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +72 -6
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/SubsystemFileTree.d.ts +5 -5
- package/dist/subsystem/SubsystemFileTree.d.ts.map +1 -1
- package/dist/subsystem/SubsystemFileTree.js +13 -49
- package/dist/subsystem/SubsystemFileTree.js.map +1 -1
- package/dist/subsystem/model.d.ts +50 -3
- package/dist/subsystem/model.d.ts.map +1 -1
- package/dist/subsystem/model.js +306 -7
- package/dist/subsystem/model.js.map +1 -1
- package/dist/subsystem/nodes.d.ts.map +1 -1
- package/dist/subsystem/nodes.js +11 -4
- package/dist/subsystem/nodes.js.map +1 -1
- package/dist/utils/elkLayout.d.ts.map +1 -1
- package/dist/utils/elkLayout.js +7 -0
- package/dist/utils/elkLayout.js.map +1 -1
- package/package.json +1 -1
- package/src/stories/Subsystem/ComponentGraph/ModulePathNesting.stories.tsx +116 -0
- package/src/subsystem/SubsystemComponentGraph.tsx +81 -5
- package/src/subsystem/SubsystemFileTree.tsx +17 -50
- package/src/subsystem/model.test.ts +118 -0
- package/src/subsystem/model.ts +335 -8
- package/src/subsystem/nodes.tsx +13 -3
- package/src/utils/elkLayout.ts +10 -0
package/dist/subsystem/model.js
CHANGED
|
@@ -85,12 +85,19 @@ export function deriveGraphEdges(doc) {
|
|
|
85
85
|
return [...byId.values()];
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
* True when the model has components but no
|
|
89
|
-
*
|
|
88
|
+
* True when the model has components but no graph structure at all: no
|
|
89
|
+
* walkthrough/graphify edges AND no boundary containment (`module` / `process`)
|
|
90
|
+
* to frame. Those snapshots are a catalog of declarations, not a graph.
|
|
91
|
+
*
|
|
92
|
+
* A model that carries `module` / `process` membership still draws frames even
|
|
93
|
+
* with zero edges — that is static topology, so it is not constructs-only.
|
|
90
94
|
*/
|
|
91
95
|
export function isConstructsOnlyModel(doc) {
|
|
92
96
|
if (doc.components.length === 0)
|
|
93
97
|
return false;
|
|
98
|
+
const hasBoundary = doc.components.some((c) => (c.module?.trim() ?? '') !== '' || (c.process?.trim() ?? '') !== '');
|
|
99
|
+
if (hasBoundary)
|
|
100
|
+
return false;
|
|
94
101
|
return deriveGraphEdges({
|
|
95
102
|
walkthroughs: doc.walkthroughs,
|
|
96
103
|
graphifyRelations: doc.graphifyRelations,
|
|
@@ -199,6 +206,20 @@ export function processGroupNodeId(processKey) {
|
|
|
199
206
|
export function moduleGroupNodeId(moduleKey) {
|
|
200
207
|
return `module:${moduleKey}`;
|
|
201
208
|
}
|
|
209
|
+
/** React Flow id for a directory boundary group node (path-derived nesting). */
|
|
210
|
+
export function directoryGroupNodeId(dirKey) {
|
|
211
|
+
return `directory:${dirKey}`;
|
|
212
|
+
}
|
|
213
|
+
/** Normalize a module path to forward slashes, no trailing slash or `./`. */
|
|
214
|
+
function normalizeModulePath(p) {
|
|
215
|
+
return p.trim().replace(/\\/g, '/').replace(/\/+$/, '').replace(/^\.\//, '');
|
|
216
|
+
}
|
|
217
|
+
/** Parent directory of a path-like key, or `''` when it has no slash. */
|
|
218
|
+
function parentDirectory(path) {
|
|
219
|
+
const norm = normalizeModulePath(path);
|
|
220
|
+
const idx = norm.lastIndexOf('/');
|
|
221
|
+
return idx <= 0 ? '' : norm.slice(0, idx);
|
|
222
|
+
}
|
|
202
223
|
export const MODULE_BADGE_INSET = 12;
|
|
203
224
|
const MODULE_BADGE_CHAR_WIDTH = 12.5;
|
|
204
225
|
const MODULE_BADGE_CHROME = 16;
|
|
@@ -267,6 +288,8 @@ export function packageGroupNodeId(packageKey) {
|
|
|
267
288
|
export function boundaryGroupNodeId(region) {
|
|
268
289
|
if (region.kind === 'module')
|
|
269
290
|
return moduleGroupNodeId(region.key);
|
|
291
|
+
if (region.kind === 'directory')
|
|
292
|
+
return directoryGroupNodeId(region.key);
|
|
270
293
|
if (region.kind === 'package')
|
|
271
294
|
return packageGroupNodeId(region.key);
|
|
272
295
|
return processGroupNodeId(region.key);
|
|
@@ -362,6 +385,9 @@ function keepRegion(r, showSingletons) {
|
|
|
362
385
|
* processes nest under a package the same way.
|
|
363
386
|
*/
|
|
364
387
|
export function buildBoundaryLayoutGroups(doc, opts = {}) {
|
|
388
|
+
if (opts.moduleNesting === 'path') {
|
|
389
|
+
return buildBoundaryLayoutGroupsByPath(doc, opts);
|
|
390
|
+
}
|
|
365
391
|
const showSingletons = opts.showSingletonFrames === true;
|
|
366
392
|
const packageMode = opts.packageFrames ?? 'multi-repo';
|
|
367
393
|
const byAlias = new Map(doc.components.map((c) => [c.alias, c]));
|
|
@@ -499,6 +525,247 @@ export function buildBoundaryLayoutGroups(doc, opts = {}) {
|
|
|
499
525
|
});
|
|
500
526
|
return [...moduleGroups, ...processGroups, ...packageGroups];
|
|
501
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* Path-nesting variant of {@link buildBoundaryLayoutGroups}.
|
|
530
|
+
*
|
|
531
|
+
* Adds directory frames derived from each component's `module` path segments
|
|
532
|
+
* (`src/session/transcript.ts` → `src` → `src/session` → module frame) and
|
|
533
|
+
* nests module frames under the deepest directory that contains them. Directory
|
|
534
|
+
* frames are kept when they hold 2+ leaves (or `showSingletonFrames`). Process
|
|
535
|
+
* and package frames nest above directories exactly as before.
|
|
536
|
+
*
|
|
537
|
+
* Module frames are unchanged (one per exact `module` string); leaves still
|
|
538
|
+
* parent to their module frame in `convertSubsystemToNodes`.
|
|
539
|
+
*/
|
|
540
|
+
export function buildBoundaryLayoutGroupsByPath(doc, opts = {}) {
|
|
541
|
+
const showSingletons = opts.showSingletonFrames === true;
|
|
542
|
+
const packageMode = opts.packageFrames ?? 'multi-repo';
|
|
543
|
+
const byAlias = new Map(doc.components.map((c) => [c.alias, c]));
|
|
544
|
+
const allPackages = getSubsystemPackageRegions(doc);
|
|
545
|
+
const packageEligible = packageMode === 'always'
|
|
546
|
+
? true
|
|
547
|
+
: packageMode === 'never'
|
|
548
|
+
? false
|
|
549
|
+
: allPackages.length >= 2;
|
|
550
|
+
const packages = packageEligible
|
|
551
|
+
? allPackages.filter((r) => keepRegion(r, showSingletons))
|
|
552
|
+
: [];
|
|
553
|
+
const keptPackageKeys = new Set(packages.map((r) => r.key));
|
|
554
|
+
const processes = getSubsystemRegions(doc).filter((r) => keepRegion(r, showSingletons));
|
|
555
|
+
const keptProcessKeys = new Set(processes.map((r) => r.key));
|
|
556
|
+
const modules = getSubsystemModuleRegions(doc).filter((r) => keepRegion(r, showSingletons));
|
|
557
|
+
// Directory regions: every ancestor directory of a component's module path,
|
|
558
|
+
// with the union of all aliases beneath it.
|
|
559
|
+
const dirMembers = new Map();
|
|
560
|
+
for (const c of doc.components) {
|
|
561
|
+
const m = c.module?.trim();
|
|
562
|
+
if (!m)
|
|
563
|
+
continue;
|
|
564
|
+
let d = parentDirectory(m);
|
|
565
|
+
while (d) {
|
|
566
|
+
const set = dirMembers.get(d) ?? new Set();
|
|
567
|
+
set.add(c.alias);
|
|
568
|
+
dirMembers.set(d, set);
|
|
569
|
+
d = parentDirectory(d);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
const keptDirKeys = new Set();
|
|
573
|
+
for (const [d, members] of dirMembers) {
|
|
574
|
+
if (members.size >= 2 || showSingletons)
|
|
575
|
+
keptDirKeys.add(d);
|
|
576
|
+
}
|
|
577
|
+
// Files sitting directly in each directory (drives chain compaction below).
|
|
578
|
+
const directFileCount = new Map();
|
|
579
|
+
for (const c of doc.components) {
|
|
580
|
+
const m = c.module?.trim();
|
|
581
|
+
if (!m)
|
|
582
|
+
continue;
|
|
583
|
+
const d = parentDirectory(m);
|
|
584
|
+
if (d)
|
|
585
|
+
directFileCount.set(d, (directFileCount.get(d) ?? 0) + 1);
|
|
586
|
+
}
|
|
587
|
+
// Compact single-child directory chains, mirroring the file tree: a directory
|
|
588
|
+
// whose only child is a single subdirectory (and which holds no files
|
|
589
|
+
// directly) is merged into it. `app` → `app/book` renders one `app/book`
|
|
590
|
+
// frame, not `app` wrapping `book`.
|
|
591
|
+
let compacting = true;
|
|
592
|
+
while (compacting) {
|
|
593
|
+
compacting = false;
|
|
594
|
+
const childDirsOf = new Map();
|
|
595
|
+
for (const d of keptDirKeys) {
|
|
596
|
+
let a = parentDirectory(d);
|
|
597
|
+
while (a && !keptDirKeys.has(a))
|
|
598
|
+
a = parentDirectory(a);
|
|
599
|
+
if (!a)
|
|
600
|
+
continue;
|
|
601
|
+
const list = childDirsOf.get(a) ?? [];
|
|
602
|
+
list.push(d);
|
|
603
|
+
childDirsOf.set(a, list);
|
|
604
|
+
}
|
|
605
|
+
for (const d of [...keptDirKeys]) {
|
|
606
|
+
const childDirs = childDirsOf.get(d) ?? [];
|
|
607
|
+
if (childDirs.length === 1 && (directFileCount.get(d) ?? 0) === 0) {
|
|
608
|
+
keptDirKeys.delete(d);
|
|
609
|
+
compacting = true;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
const nearestKeptDirAncestor = (dirKey) => {
|
|
614
|
+
let p = parentDirectory(dirKey);
|
|
615
|
+
while (p) {
|
|
616
|
+
if (keptDirKeys.has(p))
|
|
617
|
+
return p;
|
|
618
|
+
p = parentDirectory(p);
|
|
619
|
+
}
|
|
620
|
+
return undefined;
|
|
621
|
+
};
|
|
622
|
+
const dirRegions = [...keptDirKeys]
|
|
623
|
+
.sort()
|
|
624
|
+
.map((key) => {
|
|
625
|
+
// Label is the path relative to the enclosing kept directory (which
|
|
626
|
+
// already carries the prefix): `book` under `app`, or the full collapsed
|
|
627
|
+
// path `app/book` when the chain was compacted.
|
|
628
|
+
const ancestor = nearestKeptDirAncestor(key);
|
|
629
|
+
return {
|
|
630
|
+
kind: 'directory',
|
|
631
|
+
key,
|
|
632
|
+
label: ancestor ? key.slice(ancestor.length + 1) : key,
|
|
633
|
+
memberAliases: [...(dirMembers.get(key) ?? [])],
|
|
634
|
+
};
|
|
635
|
+
});
|
|
636
|
+
const moduleDirParent = (moduleKey) => {
|
|
637
|
+
let d = parentDirectory(moduleKey);
|
|
638
|
+
while (d) {
|
|
639
|
+
if (keptDirKeys.has(d))
|
|
640
|
+
return d;
|
|
641
|
+
d = parentDirectory(d);
|
|
642
|
+
}
|
|
643
|
+
return undefined;
|
|
644
|
+
};
|
|
645
|
+
const sharedProcessParent = (memberAliases) => {
|
|
646
|
+
const seen = new Set();
|
|
647
|
+
for (const alias of memberAliases) {
|
|
648
|
+
const p = byAlias.get(alias)?.process?.trim();
|
|
649
|
+
if (p)
|
|
650
|
+
seen.add(p);
|
|
651
|
+
}
|
|
652
|
+
if (seen.size !== 1)
|
|
653
|
+
return undefined;
|
|
654
|
+
const p = [...seen][0];
|
|
655
|
+
return keptProcessKeys.has(p) ? processGroupNodeId(p) : undefined;
|
|
656
|
+
};
|
|
657
|
+
const sharedPackageParent = (memberAliases) => {
|
|
658
|
+
const seen = new Set();
|
|
659
|
+
for (const alias of memberAliases) {
|
|
660
|
+
const c = byAlias.get(alias);
|
|
661
|
+
const pkg = c ? componentPackageKey(c) : undefined;
|
|
662
|
+
if (pkg)
|
|
663
|
+
seen.add(pkg);
|
|
664
|
+
}
|
|
665
|
+
if (seen.size !== 1)
|
|
666
|
+
return undefined;
|
|
667
|
+
const pkg = [...seen][0];
|
|
668
|
+
return keptPackageKeys.has(pkg) ? packageGroupNodeId(pkg) : undefined;
|
|
669
|
+
};
|
|
670
|
+
const frameParent = (memberAliases) => sharedProcessParent(memberAliases) ?? sharedPackageParent(memberAliases);
|
|
671
|
+
const moduleGroups = modules.map((r) => {
|
|
672
|
+
const dirParent = moduleDirParent(r.key);
|
|
673
|
+
const parentId = dirParent
|
|
674
|
+
? directoryGroupNodeId(dirParent)
|
|
675
|
+
: frameParent(r.memberAliases);
|
|
676
|
+
// Relative label when nested: `app/book/actions.ts` under `app/book`
|
|
677
|
+
// reads as `actions.ts`. At the root the full module path stays.
|
|
678
|
+
const label = dirParent ? r.key.slice(dirParent.length + 1) : r.label;
|
|
679
|
+
return {
|
|
680
|
+
id: moduleGroupNodeId(r.key),
|
|
681
|
+
memberAliases: [...r.memberAliases],
|
|
682
|
+
parentId,
|
|
683
|
+
region: { ...r, label },
|
|
684
|
+
};
|
|
685
|
+
});
|
|
686
|
+
const dirGroupByKey = new Map(dirRegions.map((r) => [r.key, r]));
|
|
687
|
+
const moduleRegionByKey = new Map(modules.map((r) => [r.key, r]));
|
|
688
|
+
const dirGroups = dirRegions.map((r) => {
|
|
689
|
+
const id = directoryGroupNodeId(r.key);
|
|
690
|
+
const ancestor = nearestKeptDirAncestor(r.key);
|
|
691
|
+
const parentId = ancestor
|
|
692
|
+
? directoryGroupNodeId(ancestor)
|
|
693
|
+
: frameParent(r.memberAliases);
|
|
694
|
+
// Immediate children: subdirectories and module frames parented here.
|
|
695
|
+
// Only child *group ids* go in the layout member list — a group's
|
|
696
|
+
// descendant leaves belong to its child groups alone, or ELK sees the
|
|
697
|
+
// same leaf in two compound parents and rejects the layout.
|
|
698
|
+
const childDirKeys = dirRegions
|
|
699
|
+
.filter((d) => nearestKeptDirAncestor(d.key) === r.key)
|
|
700
|
+
.map((d) => d.key);
|
|
701
|
+
const childModuleKeys = modules
|
|
702
|
+
.filter((m) => moduleDirParent(m.key) === r.key)
|
|
703
|
+
.map((m) => m.key);
|
|
704
|
+
const claimed = new Set();
|
|
705
|
+
for (const dk of childDirKeys) {
|
|
706
|
+
for (const a of dirGroupByKey.get(dk)?.memberAliases ?? [])
|
|
707
|
+
claimed.add(a);
|
|
708
|
+
}
|
|
709
|
+
for (const mk of childModuleKeys) {
|
|
710
|
+
for (const a of moduleRegionByKey.get(mk)?.memberAliases ?? [])
|
|
711
|
+
claimed.add(a);
|
|
712
|
+
}
|
|
713
|
+
const directLeaves = r.memberAliases.filter((a) => !claimed.has(a));
|
|
714
|
+
return {
|
|
715
|
+
id,
|
|
716
|
+
memberAliases: [
|
|
717
|
+
...childDirKeys.map(directoryGroupNodeId),
|
|
718
|
+
...childModuleKeys.map(moduleGroupNodeId),
|
|
719
|
+
...directLeaves,
|
|
720
|
+
],
|
|
721
|
+
parentId,
|
|
722
|
+
region: r,
|
|
723
|
+
};
|
|
724
|
+
});
|
|
725
|
+
const frameGroups = [...dirGroups, ...moduleGroups];
|
|
726
|
+
// Aliases owned by a module frame (singleton or not) must not become direct
|
|
727
|
+
// leaves of an enclosing process/package frame.
|
|
728
|
+
const moduleMemberAliases = new Set();
|
|
729
|
+
for (const r of modules)
|
|
730
|
+
for (const a of r.memberAliases)
|
|
731
|
+
moduleMemberAliases.add(a);
|
|
732
|
+
const processGroups = processes.map((r) => {
|
|
733
|
+
const processId = processGroupNodeId(r.key);
|
|
734
|
+
const nested = frameGroups.filter((g) => g.parentId === processId);
|
|
735
|
+
const claimed = new Set();
|
|
736
|
+
for (const g of nested)
|
|
737
|
+
for (const a of g.region.memberAliases)
|
|
738
|
+
claimed.add(a);
|
|
739
|
+
const directLeaves = r.memberAliases.filter((alias) => !claimed.has(alias) && !moduleMemberAliases.has(alias));
|
|
740
|
+
return {
|
|
741
|
+
id: processId,
|
|
742
|
+
memberAliases: [...nested.map((g) => g.id), ...directLeaves],
|
|
743
|
+
parentId: sharedPackageParent(r.memberAliases),
|
|
744
|
+
region: r,
|
|
745
|
+
};
|
|
746
|
+
});
|
|
747
|
+
const processMemberAliases = new Set();
|
|
748
|
+
for (const r of processes)
|
|
749
|
+
for (const a of r.memberAliases)
|
|
750
|
+
processMemberAliases.add(a);
|
|
751
|
+
const packageGroups = packages.map((r) => {
|
|
752
|
+
const packageId = packageGroupNodeId(r.key);
|
|
753
|
+
const nested = [...processGroups, ...frameGroups].filter((g) => g.parentId === packageId);
|
|
754
|
+
const claimed = new Set();
|
|
755
|
+
for (const g of nested)
|
|
756
|
+
for (const a of g.region.memberAliases)
|
|
757
|
+
claimed.add(a);
|
|
758
|
+
const directLeaves = r.memberAliases.filter((alias) => !claimed.has(alias) &&
|
|
759
|
+
!moduleMemberAliases.has(alias) &&
|
|
760
|
+
!processMemberAliases.has(alias));
|
|
761
|
+
return {
|
|
762
|
+
id: packageId,
|
|
763
|
+
memberAliases: [...nested.map((g) => g.id), ...directLeaves],
|
|
764
|
+
region: r,
|
|
765
|
+
};
|
|
766
|
+
});
|
|
767
|
+
return [...frameGroups, ...processGroups, ...packageGroups];
|
|
768
|
+
}
|
|
502
769
|
/** Runtime vocabulary of walkthrough hop mechanisms — mirrors `SubsystemWalkthroughMechanism`. */
|
|
503
770
|
export const SUBSYSTEM_WALKTHROUGH_MECHANISMS = [
|
|
504
771
|
'calls',
|
|
@@ -682,6 +949,29 @@ export const MECHANISM_DESCRIPTIONS = [
|
|
|
682
949
|
['watches', 'observes retained state without owning it', false],
|
|
683
950
|
['registers-into', 'registration pattern', false],
|
|
684
951
|
];
|
|
952
|
+
/**
|
|
953
|
+
* Single border/badge color for directory (folder) frames. Folders read as one
|
|
954
|
+
* kind of container, so they share a neutral hue rather than hashing per-path
|
|
955
|
+
* like modules / processes / packages. Host `boundaryColors` still overrides.
|
|
956
|
+
*/
|
|
957
|
+
export const FOLDER_FRAME_COLOR = '#7aa2d4';
|
|
958
|
+
/**
|
|
959
|
+
* True when a boundary frame names a folder. `directory` frames always are.
|
|
960
|
+
* A `module` frame is a folder when its key looks like a directory path — the
|
|
961
|
+
* last segment has no file extension (the model has no explicit file/folder
|
|
962
|
+
* flag, so this is a heuristic; `Dockerfile`-style extensionless files read as
|
|
963
|
+
* folders).
|
|
964
|
+
*/
|
|
965
|
+
export function isFolderFrame(region) {
|
|
966
|
+
if (!region)
|
|
967
|
+
return false;
|
|
968
|
+
if (region.kind === 'directory')
|
|
969
|
+
return true;
|
|
970
|
+
if (region.kind !== 'module')
|
|
971
|
+
return false;
|
|
972
|
+
const last = region.key.split('/').pop() ?? '';
|
|
973
|
+
return last !== '' && !last.includes('.');
|
|
974
|
+
}
|
|
685
975
|
/** Package color palette (derived deterministically from the package name). */
|
|
686
976
|
export function packageColor(name) {
|
|
687
977
|
const palette = [
|
|
@@ -992,8 +1282,12 @@ export function subsystemGraphLayoutKey(doc) {
|
|
|
992
1282
|
* layered with minimized crossings.
|
|
993
1283
|
*/
|
|
994
1284
|
export async function buildSubsystemGraph(doc, opts = {}) {
|
|
995
|
-
const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, graphifyRelations, orderByLine = false, } = opts;
|
|
996
|
-
const frameOpts = {
|
|
1285
|
+
const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, moduleNesting, graphifyRelations, orderByLine = false, } = opts;
|
|
1286
|
+
const frameOpts = {
|
|
1287
|
+
showSingletonFrames,
|
|
1288
|
+
packageFrames,
|
|
1289
|
+
moduleNesting,
|
|
1290
|
+
};
|
|
997
1291
|
const nodes = convertSubsystemToNodes(doc, { maxNodeWidth });
|
|
998
1292
|
const edges = convertSubsystemToEdges(doc, graphifyRelations);
|
|
999
1293
|
// Nested boundary tree: package → process → module → leaves.
|
|
@@ -1084,7 +1378,12 @@ export async function buildSubsystemGraph(doc, opts = {}) {
|
|
|
1084
1378
|
try {
|
|
1085
1379
|
const result = await computeElkLayout(nodes, edges, {
|
|
1086
1380
|
routingStyle: 'orthogonal',
|
|
1087
|
-
|
|
1381
|
+
// Edge-driven graphs flow left-to-right. With no edges (pure
|
|
1382
|
+
// containment, e.g. the static-topology layer) a RIGHT layout stacks
|
|
1383
|
+
// disconnected top-level frames in one vertical column; DOWN makes the
|
|
1384
|
+
// layered pass place those sibling frames along the horizontal axis
|
|
1385
|
+
// while each frame's members stack vertically.
|
|
1386
|
+
direction: edges.length > 0 ? 'RIGHT' : 'DOWN',
|
|
1088
1387
|
nodeSpacing: 60,
|
|
1089
1388
|
edgeSpacing: 30,
|
|
1090
1389
|
edgeNodeSpacing: 60,
|
|
@@ -1104,7 +1403,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
|
|
|
1104
1403
|
// Modules collapse a long path to `first/…/last`, so they only need
|
|
1105
1404
|
// room for the collapsed badge. Processes/packages never collapse:
|
|
1106
1405
|
// size the frame to hold the full centered label plus padding.
|
|
1107
|
-
minWidth: g.region.kind === 'module'
|
|
1406
|
+
minWidth: g.region.kind === 'module' || g.region.kind === 'directory'
|
|
1108
1407
|
? moduleMinWidthForBadge(g.region.label)
|
|
1109
1408
|
: boundaryMinWidthForBadge(g.region.label),
|
|
1110
1409
|
})),
|
|
@@ -1172,7 +1471,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
|
|
|
1172
1471
|
id: g.id,
|
|
1173
1472
|
type: 'subsystem-group',
|
|
1174
1473
|
position: { x: 0, y: 0 },
|
|
1175
|
-
width: Math.max(400, g.region.kind === 'module'
|
|
1474
|
+
width: Math.max(400, g.region.kind === 'module' || g.region.kind === 'directory'
|
|
1176
1475
|
? moduleMinWidthForBadge(g.region.label)
|
|
1177
1476
|
: boundaryMinWidthForBadge(g.region.label)),
|
|
1178
1477
|
height: 300,
|
|
@@ -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;AAEH,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,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;AAEH,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAmBL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAC;AAgBF,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,uBAA4B,CAAC;AAM/D;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAMA;AAgFD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,+BAgP3G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,sCAwKnG;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,+BA0C/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 { 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, PROPOSED_COLOR, constructBadgeColor, constructBadgeLabel, rightBadgeLabel, rightBadgeColor, storageBadgeLabel, storageBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, MODULE_BADGE_INSET, moduleBadgeLabel, moduleBadgeHoverLabel, moduleBadgeWidth, packageColor, } from './model';
|
|
13
|
+
import { edgeColor, edgeStrokeStyle, PROPOSED_COLOR, 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';
|
|
@@ -283,8 +283,13 @@ export function SubsystemGroupNode(props) {
|
|
|
283
283
|
const { theme } = useTheme();
|
|
284
284
|
const { data, width, height, selected } = props;
|
|
285
285
|
const region = data.region;
|
|
286
|
-
// Explicit host override wins over the derived
|
|
287
|
-
|
|
286
|
+
// Explicit host override wins over the derived frame color. Folder frames
|
|
287
|
+
// (directory, or a module whose key names a folder) share one neutral hue;
|
|
288
|
+
// everything else hashes per key.
|
|
289
|
+
const color = data.color ??
|
|
290
|
+
(isFolderFrame(region ?? undefined)
|
|
291
|
+
? FOLDER_FRAME_COLOR
|
|
292
|
+
: packageColor(region?.key ?? 'process'));
|
|
288
293
|
const dimmed = data.dimmed === true;
|
|
289
294
|
const hidden = data.hidden === true;
|
|
290
295
|
// Label is the region identity alone (path / process key / owner/name).
|
|
@@ -292,7 +297,9 @@ export function SubsystemGroupNode(props) {
|
|
|
292
297
|
// — don't prefix `module ·` / `package ·` or the path reads twice.
|
|
293
298
|
const label = region?.label ?? '';
|
|
294
299
|
const [expandedLabel, setExpandedLabel] = useState(null);
|
|
295
|
-
|
|
300
|
+
// Directory frames (path-derived nesting) render like modules — dashed,
|
|
301
|
+
// collapsible path badge.
|
|
302
|
+
const isModule = region?.kind === 'module' || region?.kind === 'directory';
|
|
296
303
|
const isProcess = region?.kind === 'process';
|
|
297
304
|
const expanded = isModule && expandedLabel === label;
|
|
298
305
|
const availableBadgeWidth = Math.max(0, (width ?? 400) - MODULE_BADGE_INSET * 2 - 4);
|