@cristianormazabal/triton-core 0.1.0 → 0.1.2
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/contracts/anchors.js +20 -0
- package/dist/contracts/anchors.js.map +1 -0
- package/dist/contracts/animations.d.ts +5 -0
- package/dist/contracts/animations.d.ts.map +1 -0
- package/dist/contracts/animations.js +15 -0
- package/dist/contracts/animations.js.map +1 -0
- package/dist/contracts/crosslink.d.ts +21 -41
- package/dist/contracts/crosslink.d.ts.map +1 -1
- package/dist/contracts/crosslink.js +17 -0
- package/dist/contracts/crosslink.js.map +1 -0
- package/dist/contracts/diagram.js +24 -0
- package/dist/contracts/diagram.js.map +1 -0
- package/dist/contracts/index.d.ts +6 -3
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +21 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/overlay.js +22 -0
- package/dist/contracts/overlay.js.map +1 -0
- package/dist/contracts/primitives.js +13 -0
- package/dist/contracts/primitives.js.map +1 -0
- package/dist/contracts/renderer.js +15 -0
- package/dist/contracts/renderer.js.map +1 -0
- package/dist/contracts/result.js +26 -0
- package/dist/contracts/result.js.map +1 -0
- package/dist/contracts/routing.d.ts +4 -0
- package/dist/contracts/routing.d.ts.map +1 -1
- package/dist/contracts/routing.js +14 -0
- package/dist/contracts/routing.js.map +1 -0
- package/dist/contracts/scene.d.ts +5 -1
- package/dist/contracts/scene.d.ts.map +1 -1
- package/dist/contracts/scene.js +18 -0
- package/dist/contracts/scene.js.map +1 -0
- package/dist/contracts/theme.js +18 -0
- package/dist/contracts/theme.js.map +1 -0
- package/dist/crosslink/connectors.d.ts +66 -0
- package/dist/crosslink/connectors.d.ts.map +1 -0
- package/dist/crosslink/connectors.js +130 -0
- package/dist/crosslink/connectors.js.map +1 -0
- package/dist/crosslink/engine2.d.ts +2 -2
- package/dist/crosslink/engine2.d.ts.map +1 -1
- package/dist/crosslink/engine2.js +783 -0
- package/dist/crosslink/engine2.js.map +1 -0
- package/dist/crosslink/engine3.d.ts +2 -2
- package/dist/crosslink/engine3.d.ts.map +1 -1
- package/dist/crosslink/engine3.js +968 -0
- package/dist/crosslink/engine3.js.map +1 -0
- package/dist/crosslink/index.d.ts +2 -0
- package/dist/crosslink/index.d.ts.map +1 -1
- package/dist/crosslink/index.js +4 -0
- package/dist/crosslink/index.js.map +1 -0
- package/dist/crosslink/render.d.ts +2 -2
- package/dist/crosslink/render.d.ts.map +1 -1
- package/dist/crosslink/render.js +997 -0
- package/dist/crosslink/render.js.map +1 -0
- package/dist/crosslink/resolve.js +331 -0
- package/dist/crosslink/resolve.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/c4/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/index.js +14 -0
- package/dist/diagrams/mermaid/c4/index.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/c4/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/ir.js +2 -0
- package/dist/diagrams/mermaid/c4/ir.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/c4/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/layout.js +110 -0
- package/dist/diagrams/mermaid/c4/layout.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/class/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/index.js +14 -0
- package/dist/diagrams/mermaid/class/index.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/class/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/ir.js +2 -0
- package/dist/diagrams/mermaid/class/ir.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/class/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/layout.js +877 -0
- package/dist/diagrams/mermaid/class/layout.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/er/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/index.js +14 -0
- package/dist/diagrams/mermaid/er/index.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/er/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/ir.js +2 -0
- package/dist/diagrams/mermaid/er/ir.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/er/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/layout.js +116 -0
- package/dist/diagrams/mermaid/er/layout.js.map +1 -0
- package/dist/diagrams/{flowchart → mermaid/flowchart}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/flowchart/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/index.js +24 -0
- package/dist/diagrams/mermaid/flowchart/index.js.map +1 -0
- package/dist/diagrams/{flowchart → mermaid/flowchart}/ir.d.ts +7 -1
- package/dist/diagrams/mermaid/flowchart/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/ir.js +2 -0
- package/dist/diagrams/mermaid/flowchart/ir.js.map +1 -0
- package/dist/diagrams/mermaid/flowchart/layout.d.ts +5 -0
- package/dist/diagrams/mermaid/flowchart/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/layout.js +652 -0
- package/dist/diagrams/mermaid/flowchart/layout.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/gantt/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/index.js +89 -0
- package/dist/diagrams/mermaid/gantt/index.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/gantt/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/ir.js +2 -0
- package/dist/diagrams/mermaid/gantt/ir.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/gantt/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/layout.js +95 -0
- package/dist/diagrams/mermaid/gantt/layout.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/gitgraph/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/index.js +58 -0
- package/dist/diagrams/mermaid/gitgraph/index.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/gitgraph/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/ir.js +2 -0
- package/dist/diagrams/mermaid/gitgraph/ir.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/gitgraph/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/layout.js +89 -0
- package/dist/diagrams/mermaid/gitgraph/layout.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/journey/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/index.js +14 -0
- package/dist/diagrams/mermaid/journey/index.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/journey/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/ir.js +2 -0
- package/dist/diagrams/mermaid/journey/ir.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/journey/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/layout.js +92 -0
- package/dist/diagrams/mermaid/journey/layout.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/kanban/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/index.js +14 -0
- package/dist/diagrams/mermaid/kanban/index.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/kanban/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/ir.js +2 -0
- package/dist/diagrams/mermaid/kanban/ir.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/kanban/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/layout.js +68 -0
- package/dist/diagrams/mermaid/kanban/layout.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/mindmap/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/index.js +52 -0
- package/dist/diagrams/mermaid/mindmap/index.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/mindmap/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/ir.js +2 -0
- package/dist/diagrams/mermaid/mindmap/ir.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/mindmap/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/layout.js +100 -0
- package/dist/diagrams/mermaid/mindmap/layout.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/pie/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/index.js +14 -0
- package/dist/diagrams/mermaid/pie/index.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/pie/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/ir.js +2 -0
- package/dist/diagrams/mermaid/pie/ir.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/pie/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/layout.js +84 -0
- package/dist/diagrams/mermaid/pie/layout.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/quadrant/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/index.js +14 -0
- package/dist/diagrams/mermaid/quadrant/index.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/quadrant/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/ir.js +2 -0
- package/dist/diagrams/mermaid/quadrant/ir.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/quadrant/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/layout.js +83 -0
- package/dist/diagrams/mermaid/quadrant/layout.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/radar/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/index.js +14 -0
- package/dist/diagrams/mermaid/radar/index.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/radar/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/ir.js +2 -0
- package/dist/diagrams/mermaid/radar/ir.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/radar/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/layout.js +91 -0
- package/dist/diagrams/mermaid/radar/layout.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/requirement/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/index.js +14 -0
- package/dist/diagrams/mermaid/requirement/index.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/requirement/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/ir.js +2 -0
- package/dist/diagrams/mermaid/requirement/ir.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/requirement/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/layout.js +79 -0
- package/dist/diagrams/mermaid/requirement/layout.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/sankey/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/index.js +14 -0
- package/dist/diagrams/mermaid/sankey/index.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/sankey/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/ir.js +2 -0
- package/dist/diagrams/mermaid/sankey/ir.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/sankey/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/layout.js +124 -0
- package/dist/diagrams/mermaid/sankey/layout.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/sequence/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/index.js +14 -0
- package/dist/diagrams/mermaid/sequence/index.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/sequence/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/ir.js +2 -0
- package/dist/diagrams/mermaid/sequence/ir.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/sequence/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/layout.js +168 -0
- package/dist/diagrams/mermaid/sequence/layout.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/state/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/index.js +14 -0
- package/dist/diagrams/mermaid/state/index.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/state/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/ir.js +2 -0
- package/dist/diagrams/mermaid/state/ir.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/state/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/layout.js +172 -0
- package/dist/diagrams/mermaid/state/layout.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/index.js +23 -0
- package/dist/diagrams/mermaid/timeline/index.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/ir.js +2 -0
- package/dist/diagrams/mermaid/timeline/ir.js.map +1 -0
- package/dist/diagrams/mermaid/timeline/layout.d.ts +5 -0
- package/dist/diagrams/mermaid/timeline/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/layout.js +228 -0
- package/dist/diagrams/mermaid/timeline/layout.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/numbered.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/numbered.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/numbered.js +112 -0
- package/dist/diagrams/mermaid/timeline/numbered.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/roadmap.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/roadmap.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/roadmap.js +125 -0
- package/dist/diagrams/mermaid/timeline/roadmap.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/serpentine.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/serpentine.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/serpentine.js +152 -0
- package/dist/diagrams/mermaid/timeline/serpentine.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/shared.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/shared.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/shared.js +47 -0
- package/dist/diagrams/mermaid/timeline/shared.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/timeline-columns.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/timeline-columns.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/timeline-columns.js +136 -0
- package/dist/diagrams/mermaid/timeline/timeline-columns.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/vertical-spine.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/vertical-spine.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/vertical-spine.js +136 -0
- package/dist/diagrams/mermaid/timeline/vertical-spine.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/xychart/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/index.js +14 -0
- package/dist/diagrams/mermaid/xychart/index.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/xychart/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/ir.js +2 -0
- package/dist/diagrams/mermaid/xychart/ir.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/xychart/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/layout.js +120 -0
- package/dist/diagrams/mermaid/xychart/layout.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/index.d.ts +1 -1
- package/dist/diagrams/triton/architecture/index.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/index.js +14 -0
- package/dist/diagrams/triton/architecture/index.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/ir.d.ts +1 -1
- package/dist/diagrams/triton/architecture/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/ir.js +2 -0
- package/dist/diagrams/triton/architecture/ir.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/layout.d.ts +2 -2
- package/dist/diagrams/triton/architecture/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/layout.js +124 -0
- package/dist/diagrams/triton/architecture/layout.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/index.d.ts +1 -1
- package/dist/diagrams/triton/block/index.d.ts.map +1 -0
- package/dist/diagrams/triton/block/index.js +14 -0
- package/dist/diagrams/triton/block/index.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/ir.d.ts +1 -1
- package/dist/diagrams/triton/block/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/block/ir.js +2 -0
- package/dist/diagrams/triton/block/ir.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/layout.d.ts +2 -2
- package/dist/diagrams/triton/block/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/block/layout.js +73 -0
- package/dist/diagrams/triton/block/layout.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/graph/graph.d.ts +1 -1
- package/dist/diagrams/triton/ds/graph/graph.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/graph/graph.js +140 -0
- package/dist/diagrams/triton/ds/graph/graph.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/hashmap/hashmap.d.ts +1 -1
- package/dist/diagrams/triton/ds/hashmap/hashmap.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/hashmap/hashmap.js +131 -0
- package/dist/diagrams/triton/ds/hashmap/hashmap.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/matrix/matrix.d.ts +1 -1
- package/dist/diagrams/triton/ds/matrix/matrix.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/matrix/matrix.js +113 -0
- package/dist/diagrams/triton/ds/matrix/matrix.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/cqueue.d.ts +5 -3
- package/dist/diagrams/triton/ds/queue/cqueue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/cqueue.js +195 -0
- package/dist/diagrams/triton/ds/queue/cqueue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/deque.d.ts +3 -1
- package/dist/diagrams/triton/ds/queue/deque.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/deque.js +118 -0
- package/dist/diagrams/triton/ds/queue/deque.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/pqueue.d.ts +5 -3
- package/dist/diagrams/triton/ds/queue/pqueue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/pqueue.js +129 -0
- package/dist/diagrams/triton/ds/queue/pqueue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/queue.d.ts +3 -1
- package/dist/diagrams/triton/ds/queue/queue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/queue.js +128 -0
- package/dist/diagrams/triton/ds/queue/queue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/shared.d.ts +18 -2
- package/dist/diagrams/triton/ds/queue/shared.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/shared.js +186 -0
- package/dist/diagrams/triton/ds/queue/shared.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/stack/stack.d.ts +3 -1
- package/dist/diagrams/triton/ds/stack/stack.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/stack/stack.js +119 -0
- package/dist/diagrams/triton/ds/stack/stack.js.map +1 -0
- package/dist/diagrams/triton/ds/struct/array.d.ts +52 -0
- package/dist/diagrams/triton/ds/struct/array.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/array.js +491 -0
- package/dist/diagrams/triton/ds/struct/array.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/linkedlist.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/linkedlist.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/linkedlist.js +99 -0
- package/dist/diagrams/triton/ds/struct/linkedlist.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/memory.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/memory.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/memory.js +172 -0
- package/dist/diagrams/triton/ds/struct/memory.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/page.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/page.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/page.js +137 -0
- package/dist/diagrams/triton/ds/struct/page.js.map +1 -0
- package/dist/diagrams/triton/ds/struct/shared.d.ts +17 -0
- package/dist/diagrams/triton/ds/struct/shared.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/shared.js +60 -0
- package/dist/diagrams/triton/ds/struct/shared.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/avl.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/avl.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/avl.js +87 -0
- package/dist/diagrams/triton/ds/tree/avl.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/btree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/btree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/btree.js +76 -0
- package/dist/diagrams/triton/ds/tree/btree.js.map +1 -0
- package/dist/diagrams/triton/ds/tree/build.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/build.js +51 -0
- package/dist/diagrams/triton/ds/tree/build.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/heap.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/heap.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/heap.js +48 -0
- package/dist/diagrams/triton/ds/tree/heap.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/index.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/index.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/index.js +20 -0
- package/dist/diagrams/triton/ds/tree/index.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/ir.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/ir.js +10 -0
- package/dist/diagrams/triton/ds/tree/ir.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/layout.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/layout.js +281 -0
- package/dist/diagrams/triton/ds/tree/layout.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/plan.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/plan.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/plan.js +48 -0
- package/dist/diagrams/triton/ds/tree/plan.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/radix.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/radix.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/radix.js +88 -0
- package/dist/diagrams/triton/ds/tree/radix.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/rbtree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/rbtree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/rbtree.js +78 -0
- package/dist/diagrams/triton/ds/tree/rbtree.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/segtree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/segtree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/segtree.js +51 -0
- package/dist/diagrams/triton/ds/tree/segtree.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/trie/trie.d.ts +1 -1
- package/dist/diagrams/triton/ds/trie/trie.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/trie/trie.js +58 -0
- package/dist/diagrams/triton/ds/trie/trie.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/unionfind/unionfind.d.ts +1 -1
- package/dist/diagrams/triton/ds/unionfind/unionfind.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/unionfind/unionfind.js +110 -0
- package/dist/diagrams/triton/ds/unionfind/unionfind.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/index.d.ts +1 -1
- package/dist/diagrams/triton/packet/index.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/index.js +14 -0
- package/dist/diagrams/triton/packet/index.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/ir.d.ts +1 -1
- package/dist/diagrams/triton/packet/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/ir.js +2 -0
- package/dist/diagrams/triton/packet/ir.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/layout.d.ts +2 -2
- package/dist/diagrams/triton/packet/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/layout.js +69 -0
- package/dist/diagrams/triton/packet/layout.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/index.d.ts +1 -1
- package/dist/diagrams/triton/poster/index.d.ts.map +1 -0
- package/dist/diagrams/triton/poster/index.js +127 -0
- package/dist/diagrams/triton/poster/index.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/ir.d.ts +1 -3
- package/dist/diagrams/{poster → triton/poster}/ir.d.ts.map +1 -1
- package/dist/diagrams/triton/poster/ir.js +2 -0
- package/dist/diagrams/triton/poster/ir.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/layout.d.ts +2 -2
- package/dist/diagrams/triton/poster/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/poster/layout.js +517 -0
- package/dist/diagrams/triton/poster/layout.js.map +1 -0
- package/dist/diagrams/{topology → triton/topology}/topology.d.ts +2 -2
- package/dist/diagrams/triton/topology/topology.d.ts.map +1 -0
- package/dist/diagrams/triton/topology/topology.js +198 -0
- package/dist/diagrams/triton/topology/topology.js.map +1 -0
- package/dist/frontend/detect.js +94 -0
- package/dist/frontend/detect.js.map +1 -0
- package/dist/frontend/index.d.ts +4 -4
- package/dist/frontend/index.d.ts.map +1 -1
- package/dist/frontend/index.js +196 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/preprocess.d.ts +28 -0
- package/dist/frontend/preprocess.d.ts.map +1 -0
- package/dist/frontend/preprocess.js +60 -0
- package/dist/frontend/preprocess.js.map +1 -0
- package/dist/frontend/registry.js +25 -0
- package/dist/frontend/registry.js.map +1 -0
- package/dist/graph/connect.js +44 -0
- package/dist/graph/connect.js.map +1 -0
- package/dist/graph/layered.d.ts +65 -5
- package/dist/graph/layered.d.ts.map +1 -1
- package/dist/graph/layered.js +936 -0
- package/dist/graph/layered.js.map +1 -0
- package/dist/graph/tree.js +107 -0
- package/dist/graph/tree.js.map +1 -0
- package/dist/index.js +4691 -2735
- package/dist/index.js.map +4 -4
- package/dist/overlay/apply.js +22 -0
- package/dist/overlay/apply.js.map +1 -0
- package/dist/overlay/compiler.js +48 -0
- package/dist/overlay/compiler.js.map +1 -0
- package/dist/overlay/layout.js +242 -0
- package/dist/overlay/layout.js.map +1 -0
- package/dist/palette/categorical.js +21 -0
- package/dist/palette/categorical.js.map +1 -0
- package/dist/render/registry.js +22 -0
- package/dist/render/registry.js.map +1 -0
- package/dist/render/svg.d.ts.map +1 -1
- package/dist/render/svg.js +287 -0
- package/dist/render/svg.js.map +1 -0
- package/dist/routing/d3-curves.d.ts +31 -0
- package/dist/routing/d3-curves.d.ts.map +1 -0
- package/dist/routing/d3-curves.js +58 -0
- package/dist/routing/d3-curves.js.map +1 -0
- package/dist/routing/registry.js +22 -0
- package/dist/routing/registry.js.map +1 -0
- package/dist/routing/router.d.ts +3 -0
- package/dist/routing/router.d.ts.map +1 -1
- package/dist/routing/router.js +849 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/scene/build.d.ts +3 -1
- package/dist/scene/build.d.ts.map +1 -1
- package/dist/scene/build.js +57 -0
- package/dist/scene/build.js.map +1 -0
- package/dist/scene/strip.js +46 -0
- package/dist/scene/strip.js.map +1 -0
- package/dist/style/cost.js +39 -0
- package/dist/style/cost.js.map +1 -0
- package/dist/text/metrics.js +62 -0
- package/dist/text/metrics.js.map +1 -0
- package/dist/text/wrap.js +84 -0
- package/dist/text/wrap.js.map +1 -0
- package/dist/theme/preset.d.ts +2 -0
- package/dist/theme/preset.d.ts.map +1 -1
- package/dist/theme/preset.js +295 -0
- package/dist/theme/preset.js.map +1 -0
- package/dist/theme/resolver.js +15 -0
- package/dist/theme/resolver.js.map +1 -0
- package/dist/time/dates.js +301 -0
- package/dist/time/dates.js.map +1 -0
- package/dist/util/round.js +17 -0
- package/dist/util/round.js.map +1 -0
- package/package.json +1 -1
- package/dist/diagrams/architecture/index.d.ts.map +0 -1
- package/dist/diagrams/architecture/ir.d.ts.map +0 -1
- package/dist/diagrams/architecture/layout.d.ts.map +0 -1
- package/dist/diagrams/block/index.d.ts.map +0 -1
- package/dist/diagrams/block/ir.d.ts.map +0 -1
- package/dist/diagrams/block/layout.d.ts.map +0 -1
- package/dist/diagrams/c4/index.d.ts.map +0 -1
- package/dist/diagrams/c4/ir.d.ts.map +0 -1
- package/dist/diagrams/c4/layout.d.ts.map +0 -1
- package/dist/diagrams/class/index.d.ts.map +0 -1
- package/dist/diagrams/class/ir.d.ts.map +0 -1
- package/dist/diagrams/class/layout.d.ts.map +0 -1
- package/dist/diagrams/ds/graph/graph.d.ts.map +0 -1
- package/dist/diagrams/ds/hashmap/hashmap.d.ts.map +0 -1
- package/dist/diagrams/ds/matrix/matrix.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/cqueue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/deque.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/pqueue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/queue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/shared.d.ts.map +0 -1
- package/dist/diagrams/ds/stack/stack.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/array.d.ts +0 -28
- package/dist/diagrams/ds/struct/array.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/linkedlist.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/memory.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/page.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/shared.d.ts +0 -9
- package/dist/diagrams/ds/struct/shared.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/avl.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/btree.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/build.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/heap.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/index.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/ir.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/layout.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/plan.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/radix.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/rbtree.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/segtree.d.ts.map +0 -1
- package/dist/diagrams/ds/trie/trie.d.ts.map +0 -1
- package/dist/diagrams/ds/unionfind/unionfind.d.ts.map +0 -1
- package/dist/diagrams/er/index.d.ts.map +0 -1
- package/dist/diagrams/er/ir.d.ts.map +0 -1
- package/dist/diagrams/er/layout.d.ts.map +0 -1
- package/dist/diagrams/flowchart/index.d.ts.map +0 -1
- package/dist/diagrams/flowchart/ir.d.ts.map +0 -1
- package/dist/diagrams/flowchart/layout.d.ts +0 -5
- package/dist/diagrams/flowchart/layout.d.ts.map +0 -1
- package/dist/diagrams/gantt/index.d.ts.map +0 -1
- package/dist/diagrams/gantt/ir.d.ts.map +0 -1
- package/dist/diagrams/gantt/layout.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/index.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/ir.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/layout.d.ts.map +0 -1
- package/dist/diagrams/journey/index.d.ts.map +0 -1
- package/dist/diagrams/journey/ir.d.ts.map +0 -1
- package/dist/diagrams/journey/layout.d.ts.map +0 -1
- package/dist/diagrams/kanban/index.d.ts.map +0 -1
- package/dist/diagrams/kanban/ir.d.ts.map +0 -1
- package/dist/diagrams/kanban/layout.d.ts.map +0 -1
- package/dist/diagrams/mindmap/index.d.ts.map +0 -1
- package/dist/diagrams/mindmap/ir.d.ts.map +0 -1
- package/dist/diagrams/mindmap/layout.d.ts.map +0 -1
- package/dist/diagrams/packet/index.d.ts.map +0 -1
- package/dist/diagrams/packet/ir.d.ts.map +0 -1
- package/dist/diagrams/packet/layout.d.ts.map +0 -1
- package/dist/diagrams/pie/index.d.ts.map +0 -1
- package/dist/diagrams/pie/ir.d.ts.map +0 -1
- package/dist/diagrams/pie/layout.d.ts.map +0 -1
- package/dist/diagrams/poster/index.d.ts.map +0 -1
- package/dist/diagrams/poster/layout.d.ts.map +0 -1
- package/dist/diagrams/quadrant/index.d.ts.map +0 -1
- package/dist/diagrams/quadrant/ir.d.ts.map +0 -1
- package/dist/diagrams/quadrant/layout.d.ts.map +0 -1
- package/dist/diagrams/radar/index.d.ts.map +0 -1
- package/dist/diagrams/radar/ir.d.ts.map +0 -1
- package/dist/diagrams/radar/layout.d.ts.map +0 -1
- package/dist/diagrams/requirement/index.d.ts.map +0 -1
- package/dist/diagrams/requirement/ir.d.ts.map +0 -1
- package/dist/diagrams/requirement/layout.d.ts.map +0 -1
- package/dist/diagrams/sankey/index.d.ts.map +0 -1
- package/dist/diagrams/sankey/ir.d.ts.map +0 -1
- package/dist/diagrams/sankey/layout.d.ts.map +0 -1
- package/dist/diagrams/sequence/index.d.ts.map +0 -1
- package/dist/diagrams/sequence/ir.d.ts.map +0 -1
- package/dist/diagrams/sequence/layout.d.ts.map +0 -1
- package/dist/diagrams/state/index.d.ts.map +0 -1
- package/dist/diagrams/state/ir.d.ts.map +0 -1
- package/dist/diagrams/state/layout.d.ts.map +0 -1
- package/dist/diagrams/timeline/index.d.ts.map +0 -1
- package/dist/diagrams/timeline/ir.d.ts.map +0 -1
- package/dist/diagrams/timeline/layout.d.ts +0 -5
- package/dist/diagrams/timeline/layout.d.ts.map +0 -1
- package/dist/diagrams/timeline/numbered.d.ts.map +0 -1
- package/dist/diagrams/timeline/roadmap.d.ts.map +0 -1
- package/dist/diagrams/timeline/serpentine.d.ts.map +0 -1
- package/dist/diagrams/timeline/shared.d.ts.map +0 -1
- package/dist/diagrams/timeline/timeline-columns.d.ts.map +0 -1
- package/dist/diagrams/timeline/vertical-spine.d.ts.map +0 -1
- package/dist/diagrams/topology/topology.d.ts.map +0 -1
- package/dist/diagrams/xychart/index.d.ts.map +0 -1
- package/dist/diagrams/xychart/ir.d.ts.map +0 -1
- package/dist/diagrams/xychart/layout.d.ts.map +0 -1
- /package/dist/diagrams/{ds → triton/ds}/tree/build.d.ts +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file diagrams/tree/segtree.ts — Segment-tree front-end over the tree engine.
|
|
3
|
+
*
|
|
4
|
+
* Value-driven: `segtree over [1,2,3,4] reduce sum` builds a segment tree whose
|
|
5
|
+
* nodes each carry a [lo,hi] range (info sub-line) and the reduced value.
|
|
6
|
+
* Supported reducers: sum (default), min, max.
|
|
7
|
+
*/
|
|
8
|
+
import { layoutTree } from './layout.js';
|
|
9
|
+
function pickReducer(input) {
|
|
10
|
+
const l = input.toLowerCase();
|
|
11
|
+
if (l.includes('min'))
|
|
12
|
+
return Math.min;
|
|
13
|
+
if (l.includes('max'))
|
|
14
|
+
return Math.max;
|
|
15
|
+
return (a, b) => a + b;
|
|
16
|
+
}
|
|
17
|
+
export function buildSegtree(input) {
|
|
18
|
+
// numbers inside the array literal; ignore an `order`/`reduce` word's digits — there are none
|
|
19
|
+
const arr = (input.match(/-?\d+/g) ?? []).map(Number);
|
|
20
|
+
const reduce = pickReducer(input);
|
|
21
|
+
const nodes = [];
|
|
22
|
+
let i = 0;
|
|
23
|
+
const build = (lo, hi) => {
|
|
24
|
+
const id = `n${i++}`;
|
|
25
|
+
const children = [];
|
|
26
|
+
const node = { id, label: '', kinds: ['box'], info: `[${lo},${hi}]`, children };
|
|
27
|
+
nodes.push(node);
|
|
28
|
+
let value;
|
|
29
|
+
if (lo === hi) {
|
|
30
|
+
value = arr[lo];
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const mid = (lo + hi) >> 1;
|
|
34
|
+
const left = build(lo, mid);
|
|
35
|
+
const right = build(mid + 1, hi);
|
|
36
|
+
children.push(left.id, right.id);
|
|
37
|
+
value = reduce(left.value, right.value);
|
|
38
|
+
}
|
|
39
|
+
node.label = String(value);
|
|
40
|
+
return { id, value };
|
|
41
|
+
};
|
|
42
|
+
if (arr.length > 0)
|
|
43
|
+
build(0, arr.length - 1);
|
|
44
|
+
return { version: '1.0', metadata: {}, direction: 'TB', nodes };
|
|
45
|
+
}
|
|
46
|
+
export const segtree = {
|
|
47
|
+
parseMermaid: buildSegtree,
|
|
48
|
+
parseYaml: (input) => JSON.parse(input),
|
|
49
|
+
layout: (ir, theme) => layoutTree(ir, theme),
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=segtree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segtree.js","sourceRoot":"","sources":["../../../../../../../src/diagrams/triton/ds/tree/segtree.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IACvC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,8FAA8F;IAC9F,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAU,EAAiC,EAAE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAa,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,KAAa,CAAC;QAClB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,KAAK,GAAG,GAAG,CAAC,EAAE,CAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACA,IAA0B,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAiB;IACvD,MAAM,EAAE,CAAC,EAAgB,EAAE,KAAoB,EAAgB,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC;CACxF,CAAC"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Compiles down to the shared decorated-tree IR (ir.ts) and reuses the tidy
|
|
11
11
|
* tree placement kernel (graph/tree via layout.ts), exactly like radix.
|
|
12
12
|
*/
|
|
13
|
-
import type { DiagramModule } from '
|
|
13
|
+
import type { DiagramModule } from '../../../../contracts/index.js';
|
|
14
14
|
import type { TreeDocument } from '../tree/ir.js';
|
|
15
15
|
export declare function buildTrie(input: string): TreeDocument;
|
|
16
16
|
export declare const trie: DiagramModule<TreeDocument>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trie.d.ts","sourceRoot":"","sources":["../../../../../../../src/diagrams/triton/ds/trie/trie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,eAAe,CAAC;AAiB5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAyBrD;AAED,eAAO,MAAM,IAAI,EAAE,aAAa,CAAC,YAAY,CAI5C,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file diagrams/ds/trie/trie.ts — Prefix tree (trie) front-end.
|
|
3
|
+
*
|
|
4
|
+
* Value-driven: `trie insert cat car card dog do` inserts strings into a
|
|
5
|
+
* character trie. Unlike the radix/Patricia trie, edges are NOT compressed —
|
|
6
|
+
* every character gets its own edge and node. Shared prefixes share a path,
|
|
7
|
+
* branch/intermediate nodes render as small dots, and word-terminal nodes
|
|
8
|
+
* render as filled pills showing the full word.
|
|
9
|
+
*
|
|
10
|
+
* Compiles down to the shared decorated-tree IR (ir.ts) and reuses the tidy
|
|
11
|
+
* tree placement kernel (graph/tree via layout.ts), exactly like radix.
|
|
12
|
+
*/
|
|
13
|
+
import { layoutTree } from '../tree/layout.js';
|
|
14
|
+
const newNode = () => ({ edges: new Map(), end: false });
|
|
15
|
+
function insert(root, word) {
|
|
16
|
+
let node = root;
|
|
17
|
+
for (const ch of word) {
|
|
18
|
+
let child = node.edges.get(ch);
|
|
19
|
+
if (child === undefined) {
|
|
20
|
+
child = newNode();
|
|
21
|
+
node.edges.set(ch, child);
|
|
22
|
+
}
|
|
23
|
+
node = child;
|
|
24
|
+
}
|
|
25
|
+
node.end = true;
|
|
26
|
+
}
|
|
27
|
+
export function buildTrie(input) {
|
|
28
|
+
// words = non-keyword alphanumeric tokens after `trie`/`insert`
|
|
29
|
+
const tokens = input.split(/\s+/).filter(Boolean);
|
|
30
|
+
const words = tokens.filter(t => t !== 'trie' && t !== 'insert' && /^[A-Za-z0-9]+$/.test(t));
|
|
31
|
+
const root = newNode();
|
|
32
|
+
for (const w of words)
|
|
33
|
+
insert(root, w);
|
|
34
|
+
const nodes = [];
|
|
35
|
+
let i = 0;
|
|
36
|
+
const emit = (n, prefix, edgeLabel) => {
|
|
37
|
+
const id = `n${i++}`;
|
|
38
|
+
const children = [];
|
|
39
|
+
// Terminal nodes (end of a word) → filled pill labelled with the full word.
|
|
40
|
+
// Intermediate/branch nodes → small dot; the character lives on the edge.
|
|
41
|
+
const node = n.end
|
|
42
|
+
? { id, label: prefix, kinds: ['leaf', 'active'], children, ...(edgeLabel !== undefined ? { edgeLabel } : {}) }
|
|
43
|
+
: { id, label: '', kinds: ['dot'], children, ...(edgeLabel !== undefined ? { edgeLabel } : {}) };
|
|
44
|
+
nodes.push(node);
|
|
45
|
+
// Stable child order: insertion order of the Map (first-seen character).
|
|
46
|
+
for (const [ch, child] of n.edges)
|
|
47
|
+
children.push(emit(child, prefix + ch, ch));
|
|
48
|
+
return id;
|
|
49
|
+
};
|
|
50
|
+
emit(root, '');
|
|
51
|
+
return { version: '1.0', metadata: {}, direction: 'TB', nodes };
|
|
52
|
+
}
|
|
53
|
+
export const trie = {
|
|
54
|
+
parseMermaid: buildTrie,
|
|
55
|
+
parseYaml: (input) => JSON.parse(input),
|
|
56
|
+
layout: (ir, theme) => layoutTree(ir, theme),
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=trie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trie.js","sourceRoot":"","sources":["../../../../../../../src/diagrams/triton/ds/trie/trie.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*
|
|
19
19
|
* Compiles to the shared decorated-tree IR and reuses layout.ts (graph/tree).
|
|
20
20
|
*/
|
|
21
|
-
import type { DiagramModule, ResolvedTheme, LayoutResult } from '
|
|
21
|
+
import type { DiagramModule, ResolvedTheme, LayoutResult } from '../../../../contracts/index.js';
|
|
22
22
|
import type { TreeDocument } from '../tree/ir.js';
|
|
23
23
|
export interface UnionFindDoc extends TreeDocument {
|
|
24
24
|
/** parent[i] is the parent of element i; parent[i] === i ⇒ representative. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unionfind.d.ts","sourceRoot":"","sources":["../../../../../../../src/diagrams/triton/ds/unionfind/unionfind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,eAAe,CAAC;AAG5D,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAUD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAiE1D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,CAEpF;AAED,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,YAAY,CAIjD,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file diagrams/ds/unionfind/unionfind.ts — Disjoint Set Union (DSU) forest.
|
|
3
|
+
*
|
|
4
|
+
* A union-find structure is a forest of parent-pointer trees: each set is one
|
|
5
|
+
* tree rooted at its representative. This renders the whole forest side by side
|
|
6
|
+
* (the shared tidy-tree kernel places each root block left→right), with the
|
|
7
|
+
* representative of each set marked distinctly (filled) and the members drawn
|
|
8
|
+
* as plain circles. Edges are parent pointers (child → parent, drawn top-down).
|
|
9
|
+
*
|
|
10
|
+
* Value-driven mini-syntax (header `unionfind` or alias `dsu`):
|
|
11
|
+
* unionfind 7
|
|
12
|
+
* parent 0 0 1 1 3 5 5 // parent[i]; parent[i]==i ⇒ representative
|
|
13
|
+
*
|
|
14
|
+
* dsu 7
|
|
15
|
+
* union 1 0 // attach set(1) under set(0)
|
|
16
|
+
* union 3 1
|
|
17
|
+
* union 6 5
|
|
18
|
+
*
|
|
19
|
+
* Compiles to the shared decorated-tree IR and reuses layout.ts (graph/tree).
|
|
20
|
+
*/
|
|
21
|
+
import { layoutTree } from '../tree/layout.js';
|
|
22
|
+
function find(parent, x) {
|
|
23
|
+
let r = x;
|
|
24
|
+
// Walk to the root without path compression (preserve the drawn shape),
|
|
25
|
+
// guarding against malformed cycles by capping iterations.
|
|
26
|
+
for (let guard = 0; guard < parent.length && parent[r] !== r; guard++)
|
|
27
|
+
r = parent[r];
|
|
28
|
+
return r;
|
|
29
|
+
}
|
|
30
|
+
export function buildUnionFind(input) {
|
|
31
|
+
const linesArr = input.split(/\r?\n/).map(l => l.trim()).filter(Boolean);
|
|
32
|
+
let count = 0;
|
|
33
|
+
let parent = [];
|
|
34
|
+
let title;
|
|
35
|
+
const unions = [];
|
|
36
|
+
for (const line of linesArr) {
|
|
37
|
+
const t = line.split(/\s+/);
|
|
38
|
+
if (t[0] === 'unionfind' || t[0] === 'dsu') {
|
|
39
|
+
const n = Number(t[1]);
|
|
40
|
+
if (Number.isFinite(n) && n > 0)
|
|
41
|
+
count = Math.floor(n);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (t[0] === 'title') {
|
|
45
|
+
title = line.slice(5).trim();
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (t[0] === 'parent') {
|
|
49
|
+
const vals = t.slice(1).map(Number).filter(Number.isFinite);
|
|
50
|
+
parent = vals;
|
|
51
|
+
count = Math.max(count, vals.length);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (t[0] === 'union') {
|
|
55
|
+
const a = Number(t[1]);
|
|
56
|
+
const b = Number(t[2]);
|
|
57
|
+
if (Number.isFinite(a) && Number.isFinite(b)) {
|
|
58
|
+
unions.push([a, b]);
|
|
59
|
+
count = Math.max(count, a + 1, b + 1);
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Seed parent[] as singletons, then apply any explicit array + union ops.
|
|
65
|
+
const par = Array.from({ length: count }, (_, i) => (parent[i] !== undefined ? parent[i] : i));
|
|
66
|
+
for (const [a, b] of unions) {
|
|
67
|
+
const ra = find(par, a);
|
|
68
|
+
const rb = find(par, b);
|
|
69
|
+
if (ra !== rb)
|
|
70
|
+
par[ra] = rb; // attach a's set under b's representative
|
|
71
|
+
}
|
|
72
|
+
const roots = [];
|
|
73
|
+
for (let i = 0; i < count; i++)
|
|
74
|
+
if (par[i] === i)
|
|
75
|
+
roots.push(i);
|
|
76
|
+
// Build the decorated-tree node list: each element points to its parent;
|
|
77
|
+
// representatives are roots (never referenced as a child of anyone else).
|
|
78
|
+
const nodes = [];
|
|
79
|
+
for (let i = 0; i < count; i++) {
|
|
80
|
+
const children = [];
|
|
81
|
+
for (let j = 0; j < count; j++)
|
|
82
|
+
if (j !== i && par[j] === i)
|
|
83
|
+
children.push(`e${j}`);
|
|
84
|
+
const isRoot = par[i] === i;
|
|
85
|
+
nodes.push({
|
|
86
|
+
id: `e${i}`,
|
|
87
|
+
label: String(i),
|
|
88
|
+
kinds: isRoot ? ['circle', 'active'] : ['circle'],
|
|
89
|
+
children,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
version: '1.0',
|
|
94
|
+
metadata: { ...(title !== undefined ? { title } : {}) },
|
|
95
|
+
direction: 'TB',
|
|
96
|
+
nodes,
|
|
97
|
+
parent: par,
|
|
98
|
+
roots,
|
|
99
|
+
count,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export function layoutUnionFind(ir, theme) {
|
|
103
|
+
return layoutTree(ir, theme);
|
|
104
|
+
}
|
|
105
|
+
export const unionfind = {
|
|
106
|
+
parseMermaid: buildUnionFind,
|
|
107
|
+
parseYaml: (input) => JSON.parse(input),
|
|
108
|
+
layout: layoutUnionFind,
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=unionfind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unionfind.js","sourceRoot":"","sources":["../../../../../../../src/diagrams/triton/ds/unionfind/unionfind.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DiagramModule } from '
|
|
1
|
+
import type { DiagramModule } from '../../../contracts/index.js';
|
|
2
2
|
import type { PacketDocument } from './ir.js';
|
|
3
3
|
export type { PacketDocument, PacketField } from './ir.js';
|
|
4
4
|
export declare const packet: DiagramModule<PacketDocument>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK9C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,cAAc,CAYhD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { layoutPacket } from './layout.js';
|
|
2
|
+
import * as parser from './parser.js';
|
|
3
|
+
export const packet = {
|
|
4
|
+
parseMermaid(input) {
|
|
5
|
+
return parser.parse(input);
|
|
6
|
+
},
|
|
7
|
+
parseYaml(input) {
|
|
8
|
+
return JSON.parse(input);
|
|
9
|
+
},
|
|
10
|
+
layout(ir, theme) {
|
|
11
|
+
return layoutPacket(ir, theme);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,MAAM,CAAC,MAAM,MAAM,GAAkC;IACnD,YAAY,CAAC,KAAa;QACxB,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,EAAkB,EAAE,KAAoB;QAC7C,OAAO,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/ir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACpH,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/ir.ts"],"names":[],"mappings":""}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Field fills come from the categorical hue cycle.
|
|
7
7
|
*/
|
|
8
8
|
import type { PacketDocument } from './ir.js';
|
|
9
|
-
import type { LayoutResult } from '
|
|
10
|
-
import type { ResolvedTheme } from '
|
|
9
|
+
import type { LayoutResult } from '../../../contracts/index.js';
|
|
10
|
+
import type { ResolvedTheme } from '../../../contracts/index.js';
|
|
11
11
|
export declare function layoutPacket(ir: PacketDocument, theme: ResolvedTheme): LayoutResult;
|
|
12
12
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AASjE,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,CA8DnF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file diagrams/packet/layout.ts — Network packet / bit-field diagram.
|
|
3
|
+
*
|
|
4
|
+
* Bits lay out in rows of 32; each field spans its bit range (split across rows
|
|
5
|
+
* when needed) as a labeled cell. Start/end bit numbers sit above row edges.
|
|
6
|
+
* Field fills come from the categorical hue cycle.
|
|
7
|
+
*/
|
|
8
|
+
import { pen } from '../../../scene/build.js';
|
|
9
|
+
import { applyOverlays } from '../../../overlay/apply.js';
|
|
10
|
+
import { categoricalHue } from '../../../palette/categorical.js';
|
|
11
|
+
import { truncateText } from '../../../text/wrap.js';
|
|
12
|
+
import { rhu, rhuInt } from '../../../util/round.js';
|
|
13
|
+
const BITS_PER_ROW = 32;
|
|
14
|
+
export function layoutPacket(ir, theme) {
|
|
15
|
+
const { palette, typography, spacing } = theme;
|
|
16
|
+
const p = pen(theme);
|
|
17
|
+
const margin = spacing.diagramMargin;
|
|
18
|
+
const fields = [...ir.fields].sort((a, b) => a.start - b.start);
|
|
19
|
+
const maxBit = Math.max(0, ...fields.map(f => f.end));
|
|
20
|
+
const numRows = Math.floor(maxBit / BITS_PER_ROW) + 1;
|
|
21
|
+
const bitW = 26;
|
|
22
|
+
const rowH = 46;
|
|
23
|
+
const rowGap = 26; // room for bit-number labels above each row
|
|
24
|
+
const bitFont = typography.smallFontSize;
|
|
25
|
+
const labelFont = typography.smallFontSize;
|
|
26
|
+
const title = ir.metadata.title;
|
|
27
|
+
const titleH = title ? typography.titleFontSize + 16 : 0;
|
|
28
|
+
const gridLeft = margin;
|
|
29
|
+
const gridTop = margin + titleH + rowGap;
|
|
30
|
+
const elements = [];
|
|
31
|
+
if (title)
|
|
32
|
+
elements.push(p.text(title, margin, margin + typography.titleFontSize, typography.titleFontSize, palette.text, { weight: 'bold' }));
|
|
33
|
+
const rowTop = (r) => gridTop + r * (rowH + rowGap);
|
|
34
|
+
// Per-row bit ticks (0 and 31 on each row plus multiples of 8).
|
|
35
|
+
for (let r = 0; r < numRows; r++) {
|
|
36
|
+
for (let c = 0; c <= BITS_PER_ROW; c += 8) {
|
|
37
|
+
const bit = r * BITS_PER_ROW + c;
|
|
38
|
+
const x = gridLeft + c * bitW;
|
|
39
|
+
if (c < BITS_PER_ROW)
|
|
40
|
+
elements.push(p.text(String(bit), rhu(x + 2), rhu(rowTop(r) - 6), bitFont, palette.textMuted));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Field cells (split across row boundaries).
|
|
44
|
+
fields.forEach((f, i) => {
|
|
45
|
+
const hue = categoricalHue(i);
|
|
46
|
+
for (let r = Math.floor(f.start / BITS_PER_ROW); r <= Math.floor(f.end / BITS_PER_ROW); r++) {
|
|
47
|
+
const rowStartBit = r * BITS_PER_ROW;
|
|
48
|
+
const cStart = Math.max(f.start, rowStartBit) - rowStartBit;
|
|
49
|
+
const cEnd = Math.min(f.end, rowStartBit + BITS_PER_ROW - 1) - rowStartBit;
|
|
50
|
+
const x = gridLeft + cStart * bitW;
|
|
51
|
+
const w = (cEnd - cStart + 1) * bitW;
|
|
52
|
+
const y = rowTop(r);
|
|
53
|
+
elements.push(p.rect({ x: rhu(x), y: rhu(y), width: rhu(w), height: rowH }, hue + '33', hue, 1.4, { rx: 3 }));
|
|
54
|
+
const label = truncateText(f.label, labelFont, w - 6);
|
|
55
|
+
elements.push(p.text(label, rhuInt(x + w / 2), rhu(y + rowH / 2 + labelFont * 0.35), labelFont, palette.text, { weight: 'bold', anchor: 'middle' }));
|
|
56
|
+
// start bit number inside top-left of the cell
|
|
57
|
+
elements.push(p.text(String(f.start), rhu(x + 3), rhu(y + bitFont + 1), bitFont, palette.textMuted));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const totalW = rhuInt(gridLeft + BITS_PER_ROW * bitW + margin);
|
|
61
|
+
const totalH = rhuInt(rowTop(numRows - 1) + rowH + margin);
|
|
62
|
+
const scene = applyOverlays({
|
|
63
|
+
viewBox: { x: 0, y: 0, width: totalW, height: totalH },
|
|
64
|
+
background: palette.background,
|
|
65
|
+
elements,
|
|
66
|
+
}, ir.overlays, theme);
|
|
67
|
+
return { scene, anchors: {} };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/packet/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DiagramModule } from '
|
|
1
|
+
import type { DiagramModule } from '../../../contracts/index.js';
|
|
2
2
|
import type { PosterDocument } from './ir.js';
|
|
3
3
|
export type { PosterDocument, PosterCell, PosterGrid, CellContent, DiagramCell, TextCell, StatCell } from './ir.js';
|
|
4
4
|
export declare const poster: DiagramModule<PosterDocument>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA4C,MAAM,6BAA6B,CAAC;AAC3G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAO9C,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEpH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,cAAc,CA4BhD,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { layoutPoster } from './layout.js';
|
|
2
|
+
import { getModule } from '../../../frontend/registry.js';
|
|
3
|
+
import * as parser from './parser.js';
|
|
4
|
+
export const poster = {
|
|
5
|
+
parseMermaid(input) {
|
|
6
|
+
const raw = parser.parse(input);
|
|
7
|
+
const cells = raw.cells.map((c) => {
|
|
8
|
+
const content = parseCell(c);
|
|
9
|
+
return { id: c.id, title: c.title, content, colSpan: c.span?.colSpan, rowSpan: c.span?.rowSpan, theme: c.theme };
|
|
10
|
+
});
|
|
11
|
+
const explicitLinks = raw.links ?? [];
|
|
12
|
+
const allLinks = [...explicitLinks];
|
|
13
|
+
return {
|
|
14
|
+
version: raw.version ?? '1.0',
|
|
15
|
+
metadata: { ...raw.metadata },
|
|
16
|
+
grid: raw.grid,
|
|
17
|
+
cells,
|
|
18
|
+
...(allLinks.length > 0 ? { links: allLinks } : {}),
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
parseYaml(input) {
|
|
22
|
+
return JSON.parse(input);
|
|
23
|
+
},
|
|
24
|
+
layout(ir, theme, options) {
|
|
25
|
+
return layoutPoster(ir, theme);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
function parseCell(raw) {
|
|
29
|
+
const kind = raw.kind;
|
|
30
|
+
const inferredKind = inferCellKind(raw.rawContent);
|
|
31
|
+
const resolvedKind = kind || inferredKind;
|
|
32
|
+
// Poster-specific primitives (no diagram module needed)
|
|
33
|
+
if (resolvedKind === 'stat') {
|
|
34
|
+
const [value, label] = raw.rawContent.split('|').map((s) => s.trim());
|
|
35
|
+
return { kind: 'stat', value: value ?? '', label };
|
|
36
|
+
}
|
|
37
|
+
if (resolvedKind === 'text') {
|
|
38
|
+
return { kind: 'text', text: raw.rawContent.trim() };
|
|
39
|
+
}
|
|
40
|
+
// Normalise aliases to canonical DiagramKind
|
|
41
|
+
const diagramKind = resolvedKind === 'flow' ? 'flowchart' : resolvedKind;
|
|
42
|
+
const module = getModule(diagramKind);
|
|
43
|
+
if (!module) {
|
|
44
|
+
// Unknown diagram kind — degrade to text
|
|
45
|
+
return { kind: 'text', text: raw.rawContent.trim() };
|
|
46
|
+
}
|
|
47
|
+
// Ensure trailing newline — sub-parsers (PEG grammars) require it
|
|
48
|
+
const content = raw.rawContent.endsWith('\n') ? raw.rawContent : raw.rawContent + '\n';
|
|
49
|
+
return { kind: 'diagram', diagramKind, doc: module.parseMermaid(content) };
|
|
50
|
+
}
|
|
51
|
+
function inferCellKind(rawContent) {
|
|
52
|
+
const trimmed = rawContent.trim();
|
|
53
|
+
if (!trimmed)
|
|
54
|
+
return 'text';
|
|
55
|
+
const firstLine = trimmed.split(/\r?\n/)[0].trim();
|
|
56
|
+
if (!firstLine)
|
|
57
|
+
return 'text';
|
|
58
|
+
const keyword = firstLine.toLowerCase();
|
|
59
|
+
if (keyword.startsWith('array'))
|
|
60
|
+
return 'array';
|
|
61
|
+
if (keyword.startsWith('stack'))
|
|
62
|
+
return 'stack';
|
|
63
|
+
if (keyword.startsWith('queue'))
|
|
64
|
+
return 'queue';
|
|
65
|
+
if (keyword.startsWith('unionfind'))
|
|
66
|
+
return 'unionfind';
|
|
67
|
+
if (keyword.startsWith('hashmap'))
|
|
68
|
+
return 'hashmap';
|
|
69
|
+
if (keyword.startsWith('matrix'))
|
|
70
|
+
return 'matrix';
|
|
71
|
+
if (keyword.startsWith('heap'))
|
|
72
|
+
return 'heap';
|
|
73
|
+
if (keyword.startsWith('trie'))
|
|
74
|
+
return 'trie';
|
|
75
|
+
if (keyword.startsWith('nodegraph'))
|
|
76
|
+
return 'nodegraph';
|
|
77
|
+
if (keyword.startsWith('plan'))
|
|
78
|
+
return 'plan';
|
|
79
|
+
if (keyword.startsWith('btree'))
|
|
80
|
+
return 'btree';
|
|
81
|
+
if (keyword.startsWith('page'))
|
|
82
|
+
return 'page';
|
|
83
|
+
if (keyword.startsWith('memory'))
|
|
84
|
+
return 'memory';
|
|
85
|
+
if (keyword.startsWith('linkedlist'))
|
|
86
|
+
return 'linkedlist';
|
|
87
|
+
if (keyword.startsWith('avl'))
|
|
88
|
+
return 'avl';
|
|
89
|
+
if (keyword.startsWith('flowchart') || keyword.startsWith('flow '))
|
|
90
|
+
return 'flowchart';
|
|
91
|
+
if (keyword.startsWith('timeline'))
|
|
92
|
+
return 'timeline';
|
|
93
|
+
if (keyword.startsWith('sequence'))
|
|
94
|
+
return 'sequence';
|
|
95
|
+
if (keyword.startsWith('gantt'))
|
|
96
|
+
return 'gantt';
|
|
97
|
+
if (keyword.startsWith('state'))
|
|
98
|
+
return 'state';
|
|
99
|
+
if (keyword.startsWith('class'))
|
|
100
|
+
return 'class';
|
|
101
|
+
if (keyword.startsWith('er'))
|
|
102
|
+
return 'er';
|
|
103
|
+
if (keyword.startsWith('journey'))
|
|
104
|
+
return 'journey';
|
|
105
|
+
if (keyword.startsWith('gitgraph'))
|
|
106
|
+
return 'gitgraph';
|
|
107
|
+
if (keyword.startsWith('mindmap'))
|
|
108
|
+
return 'mindmap';
|
|
109
|
+
if (keyword.startsWith('sankey'))
|
|
110
|
+
return 'sankey';
|
|
111
|
+
if (keyword.startsWith('pie'))
|
|
112
|
+
return 'pie';
|
|
113
|
+
if (keyword.startsWith('requirement'))
|
|
114
|
+
return 'requirement';
|
|
115
|
+
if (keyword.startsWith('kanban'))
|
|
116
|
+
return 'kanban';
|
|
117
|
+
if (keyword.startsWith('quadrant'))
|
|
118
|
+
return 'quadrant';
|
|
119
|
+
if (keyword.startsWith('xychart'))
|
|
120
|
+
return 'xychart';
|
|
121
|
+
if (keyword.startsWith('radar'))
|
|
122
|
+
return 'radar';
|
|
123
|
+
if (trimmed.includes('|'))
|
|
124
|
+
return 'stat';
|
|
125
|
+
return 'text';
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseIR, CrossLink,
|
|
1
|
+
import type { BaseIR, CrossLink, DiagramKind } from '../../../contracts/index.js';
|
|
2
2
|
/** A cell whose content is any registered diagram type. */
|
|
3
3
|
export interface DiagramCell {
|
|
4
4
|
readonly kind: 'diagram';
|
|
@@ -40,7 +40,5 @@ export interface PosterDocument extends BaseIR {
|
|
|
40
40
|
readonly cells: readonly PosterCell[];
|
|
41
41
|
/** Cross-diagram links declared at this poster level. */
|
|
42
42
|
readonly links?: readonly CrossLink[];
|
|
43
|
-
/** Named multi-hop traces declared at this poster level. */
|
|
44
|
-
readonly traces?: readonly TraceRecord[];
|
|
45
43
|
}
|
|
46
44
|
//# sourceMappingURL=ir.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/ir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAIlF,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACnH,MAAM,WAAW,QAAQ;IAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAClF,MAAM,WAAW,QAAQ;IAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAK,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAE5G,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAI5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACpH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/ir.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PosterDocument, PosterCell } from './ir.js';
|
|
2
|
-
import type { LayoutResult } from '
|
|
3
|
-
import type { ResolvedTheme } from '
|
|
2
|
+
import type { LayoutResult } from '../../../contracts/index.js';
|
|
3
|
+
import type { ResolvedTheme } from '../../../contracts/index.js';
|
|
4
4
|
export declare function layoutPoster(ir: PosterDocument, theme: ResolvedTheme): LayoutResult;
|
|
5
5
|
/** Grid placement: assigns row/col to each cell, reserving spanned cells so
|
|
6
6
|
* later cells skip slots already covered by a colSpan/rowSpan. Exported for tests. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAe,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAA6B,YAAY,EAAgD,MAAM,6BAA6B,CAAC;AACzI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAUjE,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,CAgQnF;AA4PD;uFACuF;AACvF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAgC3F"}
|