@zukhruf/diagram 0.3.30 → 0.3.31
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/lib/layouts/graph/areas.d.ts +27 -0
- package/dist/lib/layouts/graph/areas.d.ts.map +1 -0
- package/dist/lib/layouts/graph/areas.js +187 -0
- package/dist/lib/layouts/graph/areas.js.map +1 -0
- package/dist/lib/layouts/graph/graph-layout-result.d.ts +95 -0
- package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -0
- package/dist/lib/layouts/graph/graph-layout-result.js +2 -0
- package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -0
- package/dist/lib/layouts/graph/graph-layout.d.ts +2 -1
- package/dist/lib/layouts/graph/graph-layout.d.ts.map +1 -1
- package/dist/lib/layouts/graph/graph-layout.js +5 -3
- package/dist/lib/layouts/graph/graph-layout.js.map +1 -1
- package/dist/lib/layouts/graph/gutters.d.ts +26 -0
- package/dist/lib/layouts/graph/gutters.d.ts.map +1 -0
- package/dist/lib/layouts/graph/gutters.js +123 -0
- package/dist/lib/layouts/graph/gutters.js.map +1 -0
- package/dist/lib/layouts/graph/layout.d.ts +10 -0
- package/dist/lib/layouts/graph/layout.d.ts.map +1 -0
- package/dist/lib/layouts/graph/layout.js +165 -0
- package/dist/lib/layouts/graph/layout.js.map +1 -0
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +6 -0
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +1 -0
- package/dist/lib/layouts/graph/legacy-graph-layout.js +542 -0
- package/dist/lib/layouts/graph/legacy-graph-layout.js.map +1 -0
- package/dist/lib/layouts/graph/measure.d.ts +44 -0
- package/dist/lib/layouts/graph/measure.d.ts.map +1 -0
- package/dist/lib/layouts/graph/measure.js +372 -0
- package/dist/lib/layouts/graph/measure.js.map +1 -0
- package/dist/lib/layouts/graph/node-content.d.ts +16 -0
- package/dist/lib/layouts/graph/node-content.d.ts.map +1 -0
- package/dist/lib/layouts/graph/node-content.js +323 -0
- package/dist/lib/layouts/graph/node-content.js.map +1 -0
- package/dist/lib/layouts/graph/text-block.d.ts +19 -0
- package/dist/lib/layouts/graph/text-block.d.ts.map +1 -0
- package/dist/lib/layouts/graph/text-block.js +86 -0
- package/dist/lib/layouts/graph/text-block.js.map +1 -0
- package/dist/lib/layouts/graph/tokens.d.ts +58 -0
- package/dist/lib/layouts/graph/tokens.d.ts.map +1 -0
- package/dist/lib/layouts/graph/tokens.js +108 -0
- package/dist/lib/layouts/graph/tokens.js.map +1 -0
- package/dist/lib/layouts/graph/tracks.d.ts +20 -0
- package/dist/lib/layouts/graph/tracks.d.ts.map +1 -0
- package/dist/lib/layouts/graph/tracks.js +47 -0
- package/dist/lib/layouts/graph/tracks.js.map +1 -0
- package/dist/lib/layouts/text/font-metrics.generated.d.ts +18 -0
- package/dist/lib/layouts/text/font-metrics.generated.d.ts.map +1 -0
- package/dist/lib/layouts/text/font-metrics.generated.js +1043 -0
- package/dist/lib/layouts/text/font-metrics.generated.js.map +1 -0
- package/dist/lib/layouts/text/font.d.ts +14 -0
- package/dist/lib/layouts/text/font.d.ts.map +1 -0
- package/dist/lib/layouts/text/font.js +11 -0
- package/dist/lib/layouts/text/font.js.map +1 -0
- package/dist/lib/layouts/text/measure-text.d.ts +13 -0
- package/dist/lib/layouts/text/measure-text.d.ts.map +1 -0
- package/dist/lib/layouts/text/measure-text.js +67 -0
- package/dist/lib/layouts/text/measure-text.js.map +1 -0
- package/dist/lib/model/diagram-ir.d.ts +14 -1
- package/dist/lib/model/diagram-ir.d.ts.map +1 -1
- package/dist/lib/model/diagram-ir.js.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.js +148 -138
- package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
- package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
- package/dist/lib/renderers/html/graph-html.js +462 -511
- package/dist/lib/renderers/html/graph-html.js.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts +15 -13
- package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.js +649 -644
- package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
- package/dist/lib/renderers/shared/node-parts.d.ts +20 -19
- package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/node-parts.js +678 -811
- package/dist/lib/renderers/shared/node-parts.js.map +1 -1
- package/dist/lib/renderers/shared/run-spans.d.ts +8 -0
- package/dist/lib/renderers/shared/run-spans.d.ts.map +1 -0
- package/dist/lib/renderers/shared/run-spans.js +18 -0
- package/dist/lib/renderers/shared/run-spans.js.map +1 -0
- package/dist/lib/renderers/shared/text-runs.d.ts +21 -0
- package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -0
- package/dist/lib/renderers/shared/text-runs.js +44 -0
- package/dist/lib/renderers/shared/text-runs.js.map +1 -0
- package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.js +304 -465
- package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.js +10 -5
- package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
- package/dist/lib/renderers/webgpu/graph-flow-effects.d.ts +2 -2
- package/dist/lib/renderers/webgpu/graph-flow-effects.d.ts.map +1 -1
- package/dist/lib/renderers/webgpu/graph-flow-effects.js.map +1 -1
- package/package.json +3 -1
- package/styles.css +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-svg.js","names":["motion","useTransform","compileGraph","validateGraph","computePaths","graphContentViewBox","groupBox","groupDividerLines","nodeBox","nodeFrameRadius","nodeFrameStrokeWidth","resolveGraphAnnotations","resolveGraphLayout","centeredBaselineOffset","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","labelLineFill","nodeFrameFill","nodeFrameStroke","nodeTextFill","nodeTexture","textureFill","rejectNodeContent","ANNOTATION_REVEAL_START","AnnotationText","NodeCaption","NodePorts","NodeStackFrames","SpecialNode","isSpecialNode","DiagramPaperRect","GraphFlowEffects","svgViewportProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NodeRect","t0","$","_c","node","box","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","frame","t7","rx","t8","strokeWidth","t9","stroke","t10","boxFill","t11","texture","texturePattern","T0","t12","t13","t14","t15","bb0","fill","lines","Array","isArray","label","t16","description","undefined","descriptionLines","t17","items","itemLines","fontSize","lineHeight","Math","max","centerY","y","h","firstLineY","length","cx","x","w","textAlign","hasBodyLayout","Boolean","icon","hidden","t18","g","children","id","tone","width","height","pointerEvents","NodeBodyLayout","textAnchor","fontFamily","fontWeight","letterSpacing","map","line","i","lineText","text","lineFill","dy","style","titleLines","some","_temp","hasText","iconSize","hasBody","hasHeaderIcon","iconX","iconY","titleX","bodyX","titleSize","titleLineHeight","titleY","bodySize","bodyFontSize","bodyY","bodyLineGap","bodyLineHeight","itemY","textColor","color","line_0","line_1","i_0","line_2","i_1","transform","cy","r","SvgGraphDiagram","chrome","effects","graph","paper","title","viewport","ir","flat","fit","mode","GraphSVG","stylePreset","layout","nodeBoxes","Map","n","nodes","set","groupBoxes","groups","annotations","segments","edges","seg","kind","index","segment","find","candidate","Error","groupsSeg","routedEdges","indexedEdges","routedEdge","index_0","layer","edge","filter","_temp2","viewBox","viewportProps","join","d","d_0","index_1","segment_0","d_1","edge_0","index_2","segment_1","edge_1","labelPlacement","badgePlacement","index_3","segment_2","annotation","preserveAspectRatio","role","g_0","get","dividers","_temp3","box_0","segNode","_temp4","playhead","flow","layer_0"],"sources":["../../../../src/lib/renderers/svg/graph-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport { compileGraph, validateGraph } from '../../compiler/diagram-compile.ts';\nimport {\n type RoutedEdge,\n computePaths,\n graphContentViewBox,\n groupBox,\n groupDividerLines,\n nodeBox,\n nodeFrameRadius,\n nodeFrameStrokeWidth,\n resolveGraphAnnotations,\n resolveGraphLayout,\n} from '../../layouts/graph/graph-layout.ts';\nimport { centeredBaselineOffset } from '../../layouts/text-metrics.ts';\nimport type {\n DiagramGraphLayout,\n DiagramLabelLine,\n DiagramNode,\n Box as SvgBox,\n} from '../../model/diagram-ir.ts';\nimport {\n DiagramFrame,\n type DiagramMode,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n labelLineFill,\n nodeFrameFill,\n nodeFrameStroke,\n nodeTextFill,\n nodeTexture,\n textureFill,\n} from '../shared/graph-parts.tsx';\nimport { rejectNodeContent } from '../shared/node-content.ts';\nimport {\n ANNOTATION_REVEAL_START,\n AnnotationText,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n SpecialNode,\n isSpecialNode,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport type { DiagramEffects, GraphRendererProps } from '../types.ts';\nimport { GraphFlowEffects } from '../webgpu/graph-flow-effects.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\nfunction NodeRect({\n node,\n box,\n progress,\n start,\n end,\n}: {\n node: DiagramNode;\n box: SvgBox;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const frame = node.frame ?? 'solid';\n const rx = nodeFrameRadius(node);\n const strokeWidth = nodeFrameStrokeWidth(node);\n const stroke = nodeFrameStroke(node, frame, themeAccent);\n const boxFill = nodeFrameFill(node, frame);\n const texture = nodeTexture(node, frame);\n const texturePattern = textureFill(texture, ids);\n const fill = nodeTextFill(node, frame, themeAccent);\n const lines = Array.isArray(node.label) ? node.label : [node.label];\n const descriptionLines =\n node.description === undefined\n ? []\n : Array.isArray(node.description)\n ? node.description\n : [node.description];\n const itemLines = node.items ?? [];\n const fontSize = node.fontSize ?? 12;\n const lineHeight = Math.max(12, fontSize + 2);\n const centerY = box.y + box.h / 2;\n const firstLineY =\n centerY -\n ((lines.length - 1) * lineHeight) / 2 +\n centeredBaselineOffset(fontSize, 'mono');\n const cx = box.x + box.w / 2;\n const textAlign = node.textAlign ?? 'center';\n const hasBodyLayout =\n textAlign === 'start' || Boolean(node.icon) || descriptionLines.length > 0;\n if (node.hidden) return null;\n if (isSpecialNode(node)) {\n return (\n <SpecialNode\n node={node}\n box={box}\n progress={progress}\n start={start}\n end={end}\n />\n );\n }\n return (\n <motion.g style={{ opacity, y: translateY }}>\n {frame !== 'none' && (\n <>\n <NodeStackFrames\n node={node}\n box={box}\n rx={rx}\n fill={boxFill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n <rect\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={rx}\n fill={boxFill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n {texturePattern && (\n <rect\n data-diagram-node-texture={`${node.id}:${texture}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={rx}\n fill={texturePattern}\n pointerEvents=\"none\"\n />\n )}\n </>\n )}\n {hasBodyLayout ? (\n <NodeBodyLayout\n node={node}\n box={box}\n titleLines={lines}\n descriptionLines={descriptionLines}\n itemLines={itemLines}\n fill={fill}\n accent={themeAccent}\n />\n ) : (\n <text\n x={cx}\n y={firstLineY}\n textAnchor=\"middle\"\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={fontSize}\n fontWeight={node.fontWeight ?? 500}\n fill={fill}\n letterSpacing={0.6}\n >\n {lines.map((line, i) => {\n const lineText = typeof line === 'string' ? line : line.text;\n const lineFill = labelLineFill(line, fill, themeAccent);\n return (\n <tspan\n key={i}\n x={cx}\n dy={i === 0 ? 0 : lineHeight}\n fill={lineFill}\n fontWeight={\n typeof line === 'string'\n ? (node.fontWeight ?? 500)\n : (line.fontWeight ?? node.fontWeight ?? 500)\n }\n >\n {lineText}\n </tspan>\n );\n })}\n </text>\n )}\n <NodePorts node={node} box={box} />\n <NodeCaption node={node} box={box} />\n </motion.g>\n );\n}\n\nfunction NodeBodyLayout({\n node,\n box,\n titleLines,\n descriptionLines,\n itemLines,\n fill,\n accent,\n}: {\n node: DiagramNode;\n box: SvgBox;\n titleLines: DiagramLabelLine[];\n descriptionLines: string[];\n itemLines: string[];\n fill: string;\n accent: string;\n}) {\n const hasText = titleLines.some((line) =>\n typeof line === 'string' ? line.length > 0 : line.text.length > 0,\n );\n const iconSize = node.iconSize ?? (node.icon === 'ellipsis' ? 34 : 42);\n const cardPadX = 28;\n const headerGap = 22;\n const hasBody = descriptionLines.length > 0 || itemLines.length > 0;\n const hasHeaderIcon = Boolean(node.icon && hasText && hasBody);\n const iconX =\n hasText || hasBody ? box.x + cardPadX : box.x + box.w / 2 - iconSize / 2;\n const iconY =\n hasText || hasBody ? box.y + 28 : box.y + box.h / 2 - iconSize / 2;\n const titleX = node.icon ? iconX + iconSize + headerGap : box.x + cardPadX;\n const bodyX = hasHeaderIcon ? box.x + cardPadX : titleX;\n const titleSize = node.fontSize ?? 15;\n const titleLineHeight = titleSize + 4;\n const titleY = hasBody\n ? box.y + 44\n : box.y +\n box.h / 2 -\n ((titleLines.length - 1) * titleLineHeight) / 2 +\n titleSize * 0.35;\n const bodySize = node.bodyFontSize ?? Math.max(11, titleSize - 2);\n const bodyY = titleY + titleLines.length * titleLineHeight + 8;\n const bodyLineGap = node.bodyLineGap ?? 3;\n const bodyLineHeight = bodySize + bodyLineGap;\n const itemY =\n bodyY +\n (descriptionLines.length > 0\n ? descriptionLines.length * bodyLineHeight + 6\n : 0);\n\n return (\n <>\n {node.icon && (\n <DiagramNodeIcon\n icon={node.icon}\n x={iconX}\n y={iconY}\n size={iconSize}\n color={node.textColor === 'accent' ? accent : fill}\n />\n )}\n {hasText && (\n <text\n x={titleX}\n y={titleY}\n textAnchor=\"start\"\n fontFamily=\"ui-sans-serif, system-ui, sans-serif\"\n fontSize={titleSize}\n fontWeight={node.fontWeight ?? 700}\n fill={fill}\n >\n {titleLines.map((line, i) => {\n const lineText = typeof line === 'string' ? line : line.text;\n const lineFill = labelLineFill(line, fill, accent);\n return (\n <tspan\n key={i}\n x={titleX}\n dy={i === 0 ? 0 : titleLineHeight}\n fill={lineFill}\n fontWeight={\n typeof line === 'string'\n ? (node.fontWeight ?? 700)\n : (line.fontWeight ?? node.fontWeight ?? 700)\n }\n >\n {lineText}\n </tspan>\n );\n })}\n </text>\n )}\n {descriptionLines.length > 0 && (\n <text\n data-diagram-node-description={node.id}\n data-diagram-node-body-font-size={node.bodyFontSize}\n data-diagram-node-body-line-gap={node.bodyLineGap}\n x={bodyX}\n y={bodyY}\n textAnchor=\"start\"\n fontFamily=\"ui-sans-serif, system-ui, sans-serif\"\n fontSize={bodySize}\n fontWeight={400}\n fill={fill}\n >\n {descriptionLines.map((line, i) => (\n <tspan key={i} x={bodyX} dy={i === 0 ? 0 : bodyLineHeight}>\n {line}\n </tspan>\n ))}\n </text>\n )}\n {itemLines.length > 0 && (\n <g>\n {itemLines.map((line, i) => {\n const y = itemY + i * bodyLineHeight;\n return (\n <g\n key={i}\n data-diagram-node-item={`${node.id}:${i}`}\n data-diagram-node-body-font-size={node.bodyFontSize}\n data-diagram-node-body-line-gap={node.bodyLineGap}\n transform={`translate(0 ${y})`}\n >\n <circle cx={bodyX + 3} cy={-3} r={2.2} fill={fill} />\n <text\n x={bodyX + 12}\n y={0}\n textAnchor=\"start\"\n fontFamily=\"ui-sans-serif, system-ui, sans-serif\"\n fontSize={bodySize}\n fontWeight={400}\n fill={fill}\n >\n {line}\n </text>\n </g>\n );\n })}\n </g>\n )}\n </>\n );\n}\n\nexport type SvgGraphDiagramProps = DiagramProps & {\n graph?: DiagramGraphLayout;\n /** Moving signals over the graph edges, rendered with WebGPU. */\n effects?: DiagramEffects;\n};\n\nexport function SvgGraphDiagram({\n title,\n children,\n graph,\n viewport,\n paper,\n effects,\n ...chrome\n}: SvgGraphDiagramProps) {\n const ir = compileGraph(children, graph);\n rejectNodeContent(ir, 'SvgGraphDiagram');\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress, mode) => (\n <GraphSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n effects={effects}\n mode={mode}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n effects,\n mode,\n}: GraphRendererProps & {\n effects?: DiagramEffects | undefined;\n mode: DiagramMode;\n}) {\n const { stylePreset } = useDiagramTheme();\n validateGraph(ir);\n const graph = resolveGraphLayout(ir);\n const layout = graph.layout;\n\n const nodeBoxes = new Map<string, SvgBox>();\n for (const n of graph.nodes) nodeBoxes.set(n.id, nodeBox(n, layout));\n\n const groupBoxes = new Map<string, SvgBox>();\n for (const g of graph.groups ?? [])\n groupBoxes.set(g.id, groupBox(g, graph.nodes, layout, graph.groups));\n const annotations = resolveGraphAnnotations(graph);\n\n const segments = buildSegments(graph.nodes.length, graph.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n\n const groupsSeg = seg('groups');\n const routedEdges: RoutedEdge[] = computePaths(graph);\n const indexedEdges = routedEdges\n .map((routedEdge, index) => ({\n ...routedEdge,\n index,\n segment: seg('edge', index),\n layer: routedEdge.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const viewBox = graphContentViewBox(graph, routedEdges);\n const viewportProps = svgViewportProps(viewBox, viewport);\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n viewBox={`${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n\n {(graph.groups ?? []).map((g) => {\n const box = groupBoxes.get(g.id);\n if (!box) return null;\n return (\n <GroupRect\n key={`group-${g.id}`}\n group={g}\n box={box}\n dividers={groupDividerLines(g, graph.nodes, layout, graph.groups)}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n );\n })}\n\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n\n {graph.nodes.map((node, i) => {\n const box = nodeBoxes.get(node.id);\n if (!box) return null;\n const segNode = seg('node', i);\n return (\n <NodeRect\n key={`node-${node.id}`}\n node={node}\n box={box}\n progress={progress}\n start={segNode.start}\n end={segNode.end}\n />\n );\n })}\n\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n\n {effects && (\n <GraphFlowEffects\n edges={indexedEdges}\n viewBox={viewBox}\n progress={progress}\n mode={mode}\n playhead={typeof effects === 'object' ? effects.flow : undefined}\n />\n )}\n\n {indexedEdges.map(\n ({ edge, labelPlacement, badgePlacement, index, segment }) => (\n <EdgeOverlay\n key={`edge-overlay-${index}`}\n edge={edge}\n labelPlacement={labelPlacement}\n badgePlacement={badgePlacement}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n\n {annotations.map((annotation, i) => (\n <AnnotationText\n key={`annot-${i}`}\n annotation={annotation}\n progress={progress}\n start={ANNOTATION_REVEAL_START}\n end={1}\n index={i}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"graph-svg.js","names":["motion","useTransform","compileGraph","legacyGraphLayout","FONT_FAMILY","TEXT_SHAPING","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","nodeFrameFill","nodeFrameStroke","nodeFrameStrokeWidth","nodeTextFill","nodeTexture","textureFill","rejectNodeContent","ANNOTATION_REVEAL_START","AnnotationText","NodeCaption","NodePorts","NodeStackFrames","SpecialNode","isSpecialNode","splitNotes","DiagramPaperRect","RunSpans","nodeTextParts","GraphFlowEffects","svgViewportProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NodeRect","t0","$","_c","layout","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","node","box","radius","frame","t7","strokeWidth","t8","stroke","t9","boxFill","t10","texture","texturePattern","t11","fill","hidden","t12","y","t13","id","tone","children","x","width","w","height","h","pointerEvents","t14","NodeBody","t15","t16","t17","g","style","icon","bodyFontSize","bodyLineGap","textColor","title","description","items","firstTitle","firstDescription","size","color","textAnchor","anchor","fontFamily","font","face","fontSize","fontWeight","weight","letterSpacing","undefined","length","map","i","run","bullet","transform","cx","cy","r","text","SvgGraphDiagram","chrome","effects","graph","paper","viewport","ir","flat","lines","fit","mode","GraphSVG","stylePreset","viewBox","segments","nodes","edges","seg","kind","index","segment","find","candidate","Error","groupsSeg","indexedEdges","edgeLayout","index_0","layer","edge","filter","_temp","graphNodes","notes","viewportProps","join","d","d_0","index_1","segment_0","d_1","edge_0","index_2","segment_1","edgeLayout_0","preserveAspectRatio","role","groups","groupLayout","group","_temp2","nodeLayout","segNode","_temp3","playhead","flow","note","annotations","leaders","layer_0","Boolean"],"sources":["../../../../src/lib/renderers/svg/graph-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport { compileGraph } from '../../compiler/diagram-compile.ts';\nimport type { NodeLayout } from '../../layouts/graph/graph-layout-result.ts';\nimport { legacyGraphLayout } from '../../layouts/graph/legacy-graph-layout.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport type { DiagramGraphLayout } from '../../model/diagram-ir.ts';\nimport {\n DiagramFrame,\n type DiagramMode,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n nodeFrameFill,\n nodeFrameStroke,\n nodeFrameStrokeWidth,\n nodeTextFill,\n nodeTexture,\n textureFill,\n} from '../shared/graph-parts.tsx';\nimport { rejectNodeContent } from '../shared/node-content.ts';\nimport {\n ANNOTATION_REVEAL_START,\n AnnotationText,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n SpecialNode,\n isSpecialNode,\n splitNotes,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { RunSpans } from '../shared/run-spans.tsx';\nimport { nodeTextParts } from '../shared/text-runs.ts';\nimport type { DiagramEffects, GraphRendererProps } from '../types.ts';\nimport { GraphFlowEffects } from '../webgpu/graph-flow-effects.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\nfunction NodeRect({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, radius } = layout;\n const frame = node.frame ?? 'solid';\n const strokeWidth = nodeFrameStrokeWidth(node);\n const stroke = nodeFrameStroke(node, frame, themeAccent);\n const boxFill = nodeFrameFill(node, frame);\n const texture = nodeTexture(node, frame);\n const texturePattern = textureFill(texture, ids);\n const fill = nodeTextFill(node, frame, themeAccent);\n if (node.hidden) return null;\n if (isSpecialNode(node)) {\n return (\n <SpecialNode\n layout={layout}\n progress={progress}\n start={start}\n end={end}\n />\n );\n }\n return (\n <motion.g style={{ opacity, y: translateY }}>\n {frame !== 'none' && (\n <>\n <NodeStackFrames\n layout={layout}\n fill={boxFill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n <rect\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={boxFill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n {texturePattern && (\n <rect\n data-diagram-node-texture={`${node.id}:${texture}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={radius}\n fill={texturePattern}\n pointerEvents=\"none\"\n />\n )}\n </>\n )}\n <NodeBody layout={layout} fill={fill} accent={themeAccent} />\n <NodePorts layout={layout} />\n <NodeCaption layout={layout} />\n </motion.g>\n );\n}\n\nfunction NodeBody({\n layout,\n fill,\n accent,\n}: {\n layout: NodeLayout;\n fill: string;\n accent: string;\n}) {\n const { node, icon } = layout;\n const { title, description, items } = nodeTextParts(layout);\n const [firstTitle] = title;\n const [firstDescription] = description;\n\n return (\n <>\n {node.icon && icon && (\n <DiagramNodeIcon\n icon={node.icon}\n x={icon.x}\n y={icon.y}\n size={icon.size}\n color={node.textColor === 'accent' ? accent : fill}\n />\n )}\n {firstTitle && (\n <text\n x={firstTitle.x}\n y={firstTitle.y}\n textAnchor={firstTitle.anchor}\n fontFamily={FONT_FAMILY[firstTitle.font.face]}\n fontSize={firstTitle.font.size}\n fontWeight={firstTitle.font.weight}\n fill={fill}\n letterSpacing={firstTitle.font.face === 'mono' ? 0.6 : undefined}\n >\n <RunSpans runs={title} fill={fill} accent={accent} />\n </text>\n )}\n {firstDescription && (\n <text\n data-diagram-node-description={node.id}\n data-diagram-node-body-font-size={node.bodyFontSize}\n data-diagram-node-body-line-gap={node.bodyLineGap}\n x={firstDescription.x}\n y={firstDescription.y}\n textAnchor=\"start\"\n fontFamily={FONT_FAMILY[firstDescription.font.face]}\n fontSize={firstDescription.font.size}\n fontWeight={firstDescription.font.weight}\n fill={fill}\n >\n <RunSpans runs={description} />\n </text>\n )}\n {items.length > 0 && (\n <g>\n {items.map(({ run, bullet }, i) => (\n <g\n key={i}\n data-diagram-node-item={`${node.id}:${i}`}\n data-diagram-node-body-font-size={node.bodyFontSize}\n data-diagram-node-body-line-gap={node.bodyLineGap}\n transform={`translate(0 ${run.y})`}\n >\n <circle cx={bullet.x} cy={bullet.y - run.y} r={2.2} fill={fill} />\n <text\n x={run.x}\n y={0}\n textAnchor=\"start\"\n fontFamily={FONT_FAMILY[run.font.face]}\n fontSize={run.font.size}\n fontWeight={run.font.weight}\n fill={fill}\n >\n {run.text}\n </text>\n </g>\n ))}\n </g>\n )}\n </>\n );\n}\n\nexport type SvgGraphDiagramProps = DiagramProps & {\n graph?: DiagramGraphLayout;\n /** Moving signals over the graph edges, rendered with WebGPU. */\n effects?: DiagramEffects;\n};\n\nexport function SvgGraphDiagram({\n title,\n children,\n graph,\n viewport,\n paper,\n effects,\n ...chrome\n}: SvgGraphDiagramProps) {\n const ir = compileGraph(children, graph);\n rejectNodeContent(ir, 'SvgGraphDiagram');\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress, mode) => (\n <GraphSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n effects={effects}\n mode={mode}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n effects,\n mode,\n}: GraphRendererProps & {\n effects?: DiagramEffects | undefined;\n mode: DiagramMode;\n}) {\n const { stylePreset } = useDiagramTheme();\n const layout = legacyGraphLayout(ir);\n const { viewBox } = layout;\n const segments = buildSegments(ir.nodes.length, ir.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n\n const groupsSeg = seg('groups');\n const indexedEdges = layout.edges\n .map((edgeLayout, index) => ({\n ...edgeLayout,\n index,\n segment: seg('edge', index),\n layer: edgeLayout.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const { graphNodes, notes } = splitNotes(layout.nodes);\n const viewportProps = svgViewportProps(viewBox, viewport);\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n style={{ ...viewportProps.style, ...TEXT_SHAPING }}\n viewBox={`${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n\n {layout.groups.map((groupLayout) => (\n <GroupRect\n key={`group-${groupLayout.group.id}`}\n layout={groupLayout}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n ))}\n\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n\n {graphNodes.map((nodeLayout, i) => {\n const segNode = seg('node', i);\n return (\n <NodeRect\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segNode.start}\n end={segNode.end}\n />\n );\n })}\n\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n\n {effects && (\n <GraphFlowEffects\n edges={indexedEdges}\n viewBox={viewBox}\n progress={progress}\n mode={mode}\n playhead={typeof effects === 'object' ? effects.flow : undefined}\n />\n )}\n\n {indexedEdges.map((edgeLayout) => (\n <EdgeOverlay\n key={`edge-overlay-${edgeLayout.index}`}\n layout={edgeLayout}\n progress={progress}\n start={edgeLayout.segment.start}\n end={edgeLayout.segment.end}\n />\n ))}\n\n {notes.map((note) => (\n <AnnotationText\n key={note.node.id}\n note={note}\n annotations={ir.annotations}\n leaders={layout.leaders}\n progress={progress}\n start={ANNOTATION_REVEAL_START}\n end={1}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-svg.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timeline-svg.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoVjE,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,GAAG,MAAM,EACV,EAAE,uBAAuB,+BAgBzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { motion, useTransform } from 'motion/react';
|
|
3
3
|
import { compileTimeline, validateTimeline } from "../../compiler/diagram-compile.js";
|
|
4
|
+
import { FONT_FAMILY, TEXT_SHAPING } from "../../layouts/text/font.js";
|
|
4
5
|
import { ACTOR_H, ACTOR_RX, ACTOR_W, DEFAULT_BOXED_STUB, FRAME_HEADER_H, SIGNAL_LABEL_BASELINE_GAP, SIGNAL_LABEL_FONT_SIZE, SIGNAL_LABEL_LINE_STEP, computeBoxedSignal, computeTimelineLayout, measureSignalLabel } from "../../layouts/timeline/timeline-layout.js";
|
|
5
6
|
import { DIAGRAM_BG, DIAGRAM_DIM, DIAGRAM_LIFELINE, DIAGRAM_NEUTRAL, DIAGRAM_ON_ACCENT, DIAGRAM_TEXT, DiagramFrame, useDiagramTheme } from "../../react/chrome/index.js";
|
|
6
7
|
import { DiagramDefs } from "../shared/defs.js";
|
|
@@ -155,7 +156,7 @@ function LaneBox(t0) {
|
|
|
155
156
|
x: t11,
|
|
156
157
|
y: t12,
|
|
157
158
|
textAnchor: "middle",
|
|
158
|
-
fontFamily:
|
|
159
|
+
fontFamily: FONT_FAMILY.mono,
|
|
159
160
|
fontSize: 12,
|
|
160
161
|
fontWeight: 500,
|
|
161
162
|
fill: DIAGRAM_TEXT,
|
|
@@ -459,7 +460,7 @@ function SignalMessage(t0) {
|
|
|
459
460
|
x: boxTextX,
|
|
460
461
|
y: boxTextY,
|
|
461
462
|
textAnchor: "middle",
|
|
462
|
-
fontFamily:
|
|
463
|
+
fontFamily: FONT_FAMILY.mono,
|
|
463
464
|
fontSize: SIGNAL_LABEL_FONT_SIZE,
|
|
464
465
|
fill: labelFill,
|
|
465
466
|
children: t23
|
|
@@ -574,7 +575,7 @@ function SignalMessage(t0) {
|
|
|
574
575
|
x: labelStartX,
|
|
575
576
|
y: labelBaseY,
|
|
576
577
|
textAnchor: labelAnchor,
|
|
577
|
-
fontFamily:
|
|
578
|
+
fontFamily: FONT_FAMILY.mono,
|
|
578
579
|
fontSize: SIGNAL_LABEL_FONT_SIZE,
|
|
579
580
|
fill: labelFill,
|
|
580
581
|
children: t16
|
|
@@ -783,7 +784,7 @@ function FrameBox(t0) {
|
|
|
783
784
|
x: t9,
|
|
784
785
|
y: t10,
|
|
785
786
|
textAnchor: "middle",
|
|
786
|
-
fontFamily:
|
|
787
|
+
fontFamily: FONT_FAMILY.mono,
|
|
787
788
|
fontSize: 10,
|
|
788
789
|
fontWeight: 600,
|
|
789
790
|
fill: DIAGRAM_ON_ACCENT,
|
|
@@ -804,7 +805,7 @@ function FrameBox(t0) {
|
|
|
804
805
|
x: t12,
|
|
805
806
|
y: t13,
|
|
806
807
|
textAnchor: "middle",
|
|
807
|
-
fontFamily:
|
|
808
|
+
fontFamily: FONT_FAMILY.mono,
|
|
808
809
|
fontSize: 10,
|
|
809
810
|
fontWeight: 500,
|
|
810
811
|
fill: DIAGRAM_TEXT,
|
|
@@ -984,6 +985,10 @@ function TimelineSVG(t0) {
|
|
|
984
985
|
t1 = /*#__PURE__*/_jsxs("svg", {
|
|
985
986
|
"data-diagram-style-preset": stylePreset,
|
|
986
987
|
...viewportProps,
|
|
988
|
+
style: {
|
|
989
|
+
...viewportProps.style,
|
|
990
|
+
...TEXT_SHAPING
|
|
991
|
+
},
|
|
987
992
|
viewBox: `0 0 ${layout.width} ${layout.height}`,
|
|
988
993
|
preserveAspectRatio: "xMidYMid meet",
|
|
989
994
|
role: "img",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-svg.js","names":["motion","useTransform","compileTimeline","validateTimeline","ACTOR_H","ACTOR_RX","ACTOR_W","DEFAULT_BOXED_STUB","FRAME_HEADER_H","SIGNAL_LABEL_BASELINE_GAP","SIGNAL_LABEL_FONT_SIZE","SIGNAL_LABEL_LINE_STEP","computeBoxedSignal","computeTimelineLayout","measureSignalLabel","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_LIFELINE","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_TEXT","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramPaperRect","svgViewportProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","verticalTextOffset","lineCount","LaneBox","t0","$","_c","placement","label","y","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","stroke","t7","t8","rectX","x","strokeWidth","t9","dots","t10","fill","pointerEvents","t11","centerX","t12","length","t13","t14","line","i","dy","children","map","textAnchor","fontFamily","fontSize","fontWeight","letterSpacing","t15","g","style","SignalMessage","signal","fromX","toX","direction","dim","labelFill","markerId","arrowAccent","arrowDim","arrowNeutral","labelLines","segmentStart","segmentEnd","rowY","drawEnd","labelStart","pathLength","pathOpacity","labelOpacity","boxed","boxH","boxW","stub","position","headInset","geom","boxTextX","boxLeft","boxRight","boxTextY","boxTop","boxStroke","bordered","stubA","x1","x2","path","d","stubB","t16","t17","t18","markerEnd","t19","t20","filled","t21","rx","t22","t23","t24","t25","t26","labelStartX","labelAnchor","labelBaseY","line_0","i_0","text","Lifeline","yStart","yEnd","FrameBox","frame","height","width","SvgTimelineDiagram","chrome","paper","title","viewport","ir","flat","lines","fit","TimelineSVG","stylePreset","layout","laneById","Map","lanes","_temp","_temp2","labelById","viewportProps","w","h","join","viewBox","preserveAspectRatio","role","kind","lane","lifelineYStart","lifelineYEnd","topLanesSegment","id","lane_0","get","topRectY","signals","fromLane","from","toLane","to","source","signal_0","fromLane_0","toLane_0","specSignal","lane_1","bottomRectY","bottomLanesSegment","a_0","a"],"sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport {\n compileTimeline,\n validateTimeline,\n} from '../../compiler/diagram-compile.ts';\nimport {\n ACTOR_H,\n ACTOR_RX,\n ACTOR_W,\n DEFAULT_BOXED_STUB,\n FRAME_HEADER_H,\n type FramePlacement,\n type LanePlacement,\n SIGNAL_LABEL_BASELINE_GAP,\n SIGNAL_LABEL_FONT_SIZE,\n SIGNAL_LABEL_LINE_STEP,\n type SignalPlacement,\n type DiagramSignal as TimelineSignal,\n computeBoxedSignal,\n computeTimelineLayout,\n measureSignalLabel,\n} from '../../layouts/timeline/timeline-layout.ts';\nimport type {\n DiagramPaper,\n DiagramTimelineSpec,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_LIFELINE,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_TEXT,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\n// Measured in Chrome against StreamingTimelineDiagram: these land lane and\n// boxed-signal text within 0.4px of centred. Unlike the graph renderer, every\n// timeline text is mono at SIGNAL_LABEL_FONT_SIZE, so a fixed nudge stays\n// correct here; derive from text-metrics.ts only if the size becomes variable.\nfunction verticalTextOffset(lineCount: number): number {\n return lineCount === 1 ? 4 : -3;\n}\n\nfunction LaneBox({\n placement,\n label,\n y,\n progress,\n start,\n end,\n}: {\n placement: LanePlacement;\n label: string[];\n y: number;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const stroke = placement.accent ? themeAccent : DIAGRAM_NEUTRAL;\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={DIAGRAM_BG}\n stroke={stroke}\n strokeWidth={1.5}\n />\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <text\n x={placement.centerX}\n y={y + ACTOR_H / 2 + verticalTextOffset(label.length)}\n textAnchor=\"middle\"\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={12}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={1.4}\n >\n {label.map((line, i) => (\n <tspan key={i} x={placement.centerX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n );\n}\n\nfunction SignalMessage({\n signal,\n placement,\n fromX,\n toX,\n progress,\n}: {\n signal: TimelineSignal;\n placement: SignalPlacement;\n fromX: number;\n toX: number;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const direction = toX > fromX ? 1 : -1;\n const headInset = 6;\n const stroke = signal.accent\n ? themeAccent\n : signal.dim\n ? DIAGRAM_DIM\n : DIAGRAM_NEUTRAL;\n const labelFill = signal.dim ? DIAGRAM_DIM : DIAGRAM_TEXT;\n const markerId = signal.accent\n ? ids.arrowAccent\n : signal.dim\n ? ids.arrowDim\n : ids.arrowNeutral;\n\n const labelLines = signal.label.length;\n const { segmentStart: start, segmentEnd: end, rowY } = placement;\n const drawEnd = start + (end - start) * 0.7;\n const labelStart = start + (end - start) * 0.45;\n\n const pathLength = useTransform(progress, [start, drawEnd], [0, 1], {\n clamp: true,\n });\n const pathOpacity = useTransform(progress, [start, start + 0.001], [0, 1], {\n clamp: true,\n });\n const labelOpacity = useTransform(progress, [labelStart, end], [0, 1], {\n clamp: true,\n });\n\n if (signal.boxed) {\n const { boxW, boxH } = measureSignalLabel(signal.label);\n const geom = computeBoxedSignal({\n fromX,\n toX,\n rowY,\n boxW,\n boxH,\n stub: signal.stub ?? DEFAULT_BOXED_STUB,\n position: signal.boxed,\n headInset,\n });\n const boxTextX = (geom.boxLeft + geom.boxRight) / 2;\n const boxTextY = geom.boxTop + boxH / 2 + verticalTextOffset(labelLines);\n const boxStroke = signal.bordered === false ? 'none' : stroke;\n\n return (\n <g>\n <motion.path\n d={`M ${geom.stubA.x1} ${rowY} L ${geom.stubA.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.path\n d={`M ${geom.stubB.x1} ${rowY} L ${geom.stubB.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.g style={{ opacity: labelOpacity }}>\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={signal.filled === false ? 'none' : DIAGRAM_BG}\n stroke={boxStroke}\n strokeWidth={1.5}\n />\n {signal.filled !== false && (\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n )}\n <text\n x={boxTextX}\n y={boxTextY}\n textAnchor=\"middle\"\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan key={i} x={boxTextX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n </g>\n );\n }\n\n const x2 = toX - direction * headInset;\n const labelStartX = direction > 0 ? fromX + 18 : fromX - 18;\n const labelAnchor: 'start' | 'end' = direction > 0 ? 'start' : 'end';\n const labelBaseY =\n rowY -\n SIGNAL_LABEL_BASELINE_GAP -\n (labelLines - 1) * SIGNAL_LABEL_LINE_STEP;\n\n return (\n <g>\n <motion.path\n d={`M ${fromX} ${rowY} L ${x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.text\n style={{ opacity: labelOpacity }}\n x={labelStartX}\n y={labelBaseY}\n textAnchor={labelAnchor}\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan\n key={i}\n x={labelStartX}\n dy={i === 0 ? 0 : SIGNAL_LABEL_LINE_STEP}\n >\n {line}\n </tspan>\n ))}\n </motion.text>\n </g>\n );\n}\n\nfunction Lifeline({\n x,\n yStart,\n yEnd,\n accent,\n progress,\n start,\n end,\n}: {\n x: number;\n yStart: number;\n yEnd: number;\n accent: boolean;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const pathLength = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n return (\n <motion.line\n x1={x}\n y1={yStart}\n x2={x}\n y2={yEnd}\n stroke={accent ? themeAccent : DIAGRAM_LIFELINE}\n strokeWidth={accent ? 1.5 : 1}\n style={{ pathLength }}\n />\n );\n}\n\nfunction FrameBox({\n frame,\n progress,\n}: {\n frame: FramePlacement;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(\n progress,\n [frame.segmentStart, frame.segmentEnd],\n [0, 1],\n { clamp: true },\n );\n return (\n <motion.g style={{ opacity }}>\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={DIAGRAM_BG}\n stroke={themeAccent}\n strokeWidth={1.5}\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={64}\n height={FRAME_HEADER_H}\n fill={themeAccent}\n />\n <text\n x={frame.x + 32}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={10}\n fontWeight={600}\n fill={DIAGRAM_ON_ACCENT}\n letterSpacing={1.2}\n >\n FRAME\n </text>\n <text\n x={frame.x + frame.width / 2}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily=\"ui-monospace, 'Geist Mono', monospace\"\n fontSize={10}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={2}\n >\n {frame.label}\n </text>\n </motion.g>\n );\n}\n\nexport type SvgTimelineDiagramProps = DiagramProps;\n\nexport function SvgTimelineDiagram({\n title,\n children,\n viewport,\n paper,\n ...chrome\n}: SvgTimelineDiagramProps) {\n const ir = compileTimeline(children);\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress) => (\n <TimelineSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction TimelineSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n}: {\n ir: DiagramTimelineSpec;\n title: string[];\n progress: MotionValue<number>;\n viewport?: DiagramViewport | undefined;\n paper?: DiagramPaper | undefined;\n}) {\n const { stylePreset } = useDiagramTheme();\n validateTimeline(ir);\n const layout = computeTimelineLayout(ir);\n const laneById = new Map(layout.lanes.map((a) => [a.id, a]));\n const labelById = new Map(ir.lanes.map((a) => [a.id, a.label]));\n const viewportProps = svgViewportProps(\n { w: layout.width, h: layout.height },\n viewport,\n );\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n viewBox={`0 0 ${layout.width} ${layout.height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"timeline\"\n paper={paper}\n width={layout.width}\n height={layout.height}\n />\n\n {layout.lanes.map((lane) => (\n <Lifeline\n key={`life-${lane.id}`}\n x={lane.centerX}\n yStart={layout.lifelineYStart}\n yEnd={layout.lifelineYEnd}\n accent={lane.accent}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`top-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.topRectY}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const source = ir.signals[i];\n if (!fromLane || !toLane || !source) return null;\n return (\n <SignalMessage\n key={`signal-${i}`}\n signal={source}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n\n {layout.frame && ir.frame && (\n <>\n <FrameBox frame={layout.frame} progress={progress} />\n {layout.frame.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const specSignal = ir.frame?.signals[i];\n if (!fromLane || !toLane || !specSignal) return null;\n return (\n <SignalMessage\n key={`frame-signal-${i}`}\n signal={specSignal}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n </>\n )}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`bottom-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.bottomRectY}\n progress={progress}\n start={layout.bottomLanesSegment.start}\n end={layout.bottomLanesSegment.end}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"timeline-svg.js","names":["motion","useTransform","compileTimeline","validateTimeline","FONT_FAMILY","TEXT_SHAPING","ACTOR_H","ACTOR_RX","ACTOR_W","DEFAULT_BOXED_STUB","FRAME_HEADER_H","SIGNAL_LABEL_BASELINE_GAP","SIGNAL_LABEL_FONT_SIZE","SIGNAL_LABEL_LINE_STEP","computeBoxedSignal","computeTimelineLayout","measureSignalLabel","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_LIFELINE","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_TEXT","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramPaperRect","svgViewportProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","verticalTextOffset","lineCount","LaneBox","t0","$","_c","placement","label","y","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","stroke","t7","t8","rectX","x","strokeWidth","t9","dots","t10","fill","pointerEvents","t11","centerX","t12","length","t13","t14","line","i","dy","children","map","textAnchor","fontFamily","mono","fontSize","fontWeight","letterSpacing","t15","g","style","SignalMessage","signal","fromX","toX","direction","dim","labelFill","markerId","arrowAccent","arrowDim","arrowNeutral","labelLines","segmentStart","segmentEnd","rowY","drawEnd","labelStart","pathLength","pathOpacity","labelOpacity","boxed","boxH","boxW","stub","position","headInset","geom","boxTextX","boxLeft","boxRight","boxTextY","boxTop","boxStroke","bordered","stubA","x1","x2","path","d","stubB","t16","t17","t18","markerEnd","t19","t20","filled","t21","rx","t22","t23","t24","t25","t26","labelStartX","labelAnchor","labelBaseY","line_0","i_0","text","Lifeline","yStart","yEnd","FrameBox","frame","height","width","SvgTimelineDiagram","chrome","paper","title","viewport","ir","flat","lines","fit","TimelineSVG","stylePreset","layout","laneById","Map","lanes","_temp","_temp2","labelById","viewportProps","w","h","join","viewBox","preserveAspectRatio","role","kind","lane","lifelineYStart","lifelineYEnd","topLanesSegment","id","lane_0","get","topRectY","signals","fromLane","from","toLane","to","source","signal_0","fromLane_0","toLane_0","specSignal","lane_1","bottomRectY","bottomLanesSegment","a_0","a"],"sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport {\n compileTimeline,\n validateTimeline,\n} from '../../compiler/diagram-compile.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport {\n ACTOR_H,\n ACTOR_RX,\n ACTOR_W,\n DEFAULT_BOXED_STUB,\n FRAME_HEADER_H,\n type FramePlacement,\n type LanePlacement,\n SIGNAL_LABEL_BASELINE_GAP,\n SIGNAL_LABEL_FONT_SIZE,\n SIGNAL_LABEL_LINE_STEP,\n type SignalPlacement,\n type DiagramSignal as TimelineSignal,\n computeBoxedSignal,\n computeTimelineLayout,\n measureSignalLabel,\n} from '../../layouts/timeline/timeline-layout.ts';\nimport type {\n DiagramPaper,\n DiagramTimelineSpec,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_LIFELINE,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_TEXT,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\n// Measured in Chrome against StreamingTimelineDiagram: these land lane and\n// boxed-signal text within 0.4px of centred. Unlike the graph renderer, every\n// timeline text is mono at SIGNAL_LABEL_FONT_SIZE, so a fixed nudge stays\n// correct here; derive from text-metrics.ts only if the size becomes variable.\nfunction verticalTextOffset(lineCount: number): number {\n return lineCount === 1 ? 4 : -3;\n}\n\nfunction LaneBox({\n placement,\n label,\n y,\n progress,\n start,\n end,\n}: {\n placement: LanePlacement;\n label: string[];\n y: number;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const stroke = placement.accent ? themeAccent : DIAGRAM_NEUTRAL;\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={DIAGRAM_BG}\n stroke={stroke}\n strokeWidth={1.5}\n />\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <text\n x={placement.centerX}\n y={y + ACTOR_H / 2 + verticalTextOffset(label.length)}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={12}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={1.4}\n >\n {label.map((line, i) => (\n <tspan key={i} x={placement.centerX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n );\n}\n\nfunction SignalMessage({\n signal,\n placement,\n fromX,\n toX,\n progress,\n}: {\n signal: TimelineSignal;\n placement: SignalPlacement;\n fromX: number;\n toX: number;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const direction = toX > fromX ? 1 : -1;\n const headInset = 6;\n const stroke = signal.accent\n ? themeAccent\n : signal.dim\n ? DIAGRAM_DIM\n : DIAGRAM_NEUTRAL;\n const labelFill = signal.dim ? DIAGRAM_DIM : DIAGRAM_TEXT;\n const markerId = signal.accent\n ? ids.arrowAccent\n : signal.dim\n ? ids.arrowDim\n : ids.arrowNeutral;\n\n const labelLines = signal.label.length;\n const { segmentStart: start, segmentEnd: end, rowY } = placement;\n const drawEnd = start + (end - start) * 0.7;\n const labelStart = start + (end - start) * 0.45;\n\n const pathLength = useTransform(progress, [start, drawEnd], [0, 1], {\n clamp: true,\n });\n const pathOpacity = useTransform(progress, [start, start + 0.001], [0, 1], {\n clamp: true,\n });\n const labelOpacity = useTransform(progress, [labelStart, end], [0, 1], {\n clamp: true,\n });\n\n if (signal.boxed) {\n const { boxW, boxH } = measureSignalLabel(signal.label);\n const geom = computeBoxedSignal({\n fromX,\n toX,\n rowY,\n boxW,\n boxH,\n stub: signal.stub ?? DEFAULT_BOXED_STUB,\n position: signal.boxed,\n headInset,\n });\n const boxTextX = (geom.boxLeft + geom.boxRight) / 2;\n const boxTextY = geom.boxTop + boxH / 2 + verticalTextOffset(labelLines);\n const boxStroke = signal.bordered === false ? 'none' : stroke;\n\n return (\n <g>\n <motion.path\n d={`M ${geom.stubA.x1} ${rowY} L ${geom.stubA.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.path\n d={`M ${geom.stubB.x1} ${rowY} L ${geom.stubB.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.g style={{ opacity: labelOpacity }}>\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={signal.filled === false ? 'none' : DIAGRAM_BG}\n stroke={boxStroke}\n strokeWidth={1.5}\n />\n {signal.filled !== false && (\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n )}\n <text\n x={boxTextX}\n y={boxTextY}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan key={i} x={boxTextX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n </g>\n );\n }\n\n const x2 = toX - direction * headInset;\n const labelStartX = direction > 0 ? fromX + 18 : fromX - 18;\n const labelAnchor: 'start' | 'end' = direction > 0 ? 'start' : 'end';\n const labelBaseY =\n rowY -\n SIGNAL_LABEL_BASELINE_GAP -\n (labelLines - 1) * SIGNAL_LABEL_LINE_STEP;\n\n return (\n <g>\n <motion.path\n d={`M ${fromX} ${rowY} L ${x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.text\n style={{ opacity: labelOpacity }}\n x={labelStartX}\n y={labelBaseY}\n textAnchor={labelAnchor}\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan\n key={i}\n x={labelStartX}\n dy={i === 0 ? 0 : SIGNAL_LABEL_LINE_STEP}\n >\n {line}\n </tspan>\n ))}\n </motion.text>\n </g>\n );\n}\n\nfunction Lifeline({\n x,\n yStart,\n yEnd,\n accent,\n progress,\n start,\n end,\n}: {\n x: number;\n yStart: number;\n yEnd: number;\n accent: boolean;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const pathLength = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n return (\n <motion.line\n x1={x}\n y1={yStart}\n x2={x}\n y2={yEnd}\n stroke={accent ? themeAccent : DIAGRAM_LIFELINE}\n strokeWidth={accent ? 1.5 : 1}\n style={{ pathLength }}\n />\n );\n}\n\nfunction FrameBox({\n frame,\n progress,\n}: {\n frame: FramePlacement;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(\n progress,\n [frame.segmentStart, frame.segmentEnd],\n [0, 1],\n { clamp: true },\n );\n return (\n <motion.g style={{ opacity }}>\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={DIAGRAM_BG}\n stroke={themeAccent}\n strokeWidth={1.5}\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={64}\n height={FRAME_HEADER_H}\n fill={themeAccent}\n />\n <text\n x={frame.x + 32}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={600}\n fill={DIAGRAM_ON_ACCENT}\n letterSpacing={1.2}\n >\n FRAME\n </text>\n <text\n x={frame.x + frame.width / 2}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={2}\n >\n {frame.label}\n </text>\n </motion.g>\n );\n}\n\nexport type SvgTimelineDiagramProps = DiagramProps;\n\nexport function SvgTimelineDiagram({\n title,\n children,\n viewport,\n paper,\n ...chrome\n}: SvgTimelineDiagramProps) {\n const ir = compileTimeline(children);\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress) => (\n <TimelineSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction TimelineSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n}: {\n ir: DiagramTimelineSpec;\n title: string[];\n progress: MotionValue<number>;\n viewport?: DiagramViewport | undefined;\n paper?: DiagramPaper | undefined;\n}) {\n const { stylePreset } = useDiagramTheme();\n validateTimeline(ir);\n const layout = computeTimelineLayout(ir);\n const laneById = new Map(layout.lanes.map((a) => [a.id, a]));\n const labelById = new Map(ir.lanes.map((a) => [a.id, a.label]));\n const viewportProps = svgViewportProps(\n { w: layout.width, h: layout.height },\n viewport,\n );\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n style={{ ...viewportProps.style, ...TEXT_SHAPING }}\n viewBox={`0 0 ${layout.width} ${layout.height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"timeline\"\n paper={paper}\n width={layout.width}\n height={layout.height}\n />\n\n {layout.lanes.map((lane) => (\n <Lifeline\n key={`life-${lane.id}`}\n x={lane.centerX}\n yStart={layout.lifelineYStart}\n yEnd={layout.lifelineYEnd}\n accent={lane.accent}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`top-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.topRectY}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const source = ir.signals[i];\n if (!fromLane || !toLane || !source) return null;\n return (\n <SignalMessage\n key={`signal-${i}`}\n signal={source}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n\n {layout.frame && ir.frame && (\n <>\n <FrameBox frame={layout.frame} progress={progress} />\n {layout.frame.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const specSignal = ir.frame?.signals[i];\n if (!fromLane || !toLane || !specSignal) return null;\n return (\n <SignalMessage\n key={`frame-signal-${i}`}\n signal={specSignal}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n </>\n )}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`bottom-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.bottomRectY}\n progress={progress}\n start={layout.bottomLanesSegment.start}\n end={layout.bottomLanesSegment.end}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type MotionValue } from 'motion/react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EdgeLayout } from '../../layouts/graph/graph-layout-result.ts';
|
|
3
3
|
import type { Box } from '../../model/diagram-ir.ts';
|
|
4
4
|
import { type DiagramMode } from '../../react/chrome/theme.ts';
|
|
5
|
-
type FlowEdge =
|
|
5
|
+
type FlowEdge = EdgeLayout & {
|
|
6
6
|
index: number;
|
|
7
7
|
segment: {
|
|
8
8
|
start: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-flow-effects.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/webgpu/graph-flow-effects.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"graph-flow-effects.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/webgpu/graph-flow-effects.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAGhF,KAAK,QAAQ,GAAG,UAAU,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5C,CAAC;AAGF,eAAO,MAAM,gBAAgB,oEAwB5B,CAAC;AAuDF,iBAAS,sBAAsB,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,EAAE,gBAAgB,+BAsNlB"}
|