diff --git a/docs/superpowers/specs/2026-07-31-runtime-call-source-dependency-split-design.md b/docs/superpowers/specs/2026-07-31-runtime-call-source-dependency-split-design.md new file mode 100644 index 0000000..07a46ba --- /dev/null +++ b/docs/superpowers/specs/2026-07-31-runtime-call-source-dependency-split-design.md @@ -0,0 +1,46 @@ +# Runtime Call / Source Dependency SVG Split Design + +## Brief + +Split the two panels in `runtime-call-source-dependency.svg` into two standalone SVG assets. Do not change reader-facing Markdown or remove the existing combined SVG. + +## Local evidence + +- The combined SVG is a `1400 × 660` canvas with an upper runtime-call panel and a lower source-dependency panel. +- Identical assets exist in the generated run output and the golden fixture. +- Both corresponding documents currently reference the combined SVG. +- No maintained generator source for this asset exists in the repository; the metadata only names a historical `_work/regenerate-technical-assets.py` path. + +## Output + +Create these files in both asset directories: + +- `runtime-call.svg`: the upper “실행 시점 관계” panel. +- `source-dependency.svg`: the lower “계약 소유·소스 의존” panel. + +Each file will be a complete, independently renderable SVG with: + +- a tightly fitted canvas and `viewBox`; +- its own accessible `` and `<desc>`; +- only the marker definitions it uses; +- the same typography, colors, labels, nodes, and relationships as its source panel. + +The existing `runtime-call-source-dependency.svg` remains unchanged for compatibility. Markdown references and alt text remain unchanged. + +## Geometry + +The panels will retain their original `1400`-unit width so horizontal proportions do not change. Vertical coordinates will be translated upward to remove the unused space belonging to the other panel. A small outer margin will be preserved around each panel. + +The runtime-call asset will contain only `FeedController → GetFeedUseCase → SpringTransactionPort` and its solid-arrow labels. The source-dependency asset will contain only the interface, implementation, and dashed dependency relationships from the lower panel. + +## Validation + +- Parse all four new files as XML. +- Confirm each SVG has the expected root dimensions, `viewBox`, title, description, and referenced marker definitions. +- Confirm the runtime asset excludes lower-panel labels and the source-dependency asset excludes upper-panel labels. +- Confirm the golden and run-output copies are byte-identical for each new asset. +- Render or inspect both assets to catch clipping and layout regressions. + +## Scope boundary + +This change does not revise document prose, document image references, the existing combined asset, the technical-writing pipeline, or the asset-generation system.