Files
dela db5598fbf7 feat: add superfig paper-figure toolkit
Standalone LaTeX/TikZ skill for non-tensor paper figures: node/edge
macros, lint-on-warning build, golden examples, and negative fixtures.
2026-08-17 09:40:12 +08:00

53 lines
2.1 KiB
Markdown

# House style
The package ships these defaults; this file explains what to preserve and what must still
be decided.
## Canvas
White background, natural `standalone` crop. No forced 16:9. No title by default. The top
holds at most two compact claim/formula lines.
Each stage is one horizontal row with a shared baseline. Use the fewest stages that preserve
the primary claim. No unrelated branches, no dashboard panels.
## Type hierarchy
| element | size | macro / style |
|---|---|---|
| top formula/claim | `\large` | `\sftopformula` |
| stage label | `\small\bfseries`, muted | `\sfstage` |
| node label | `\small` | `\sfnode` |
| caption symbol | `\small` | `\sfcaption` |
| caption detail | `\scriptsize`, muted | `\sfcaption` |
| edge label | `\scriptsize`, muted | `\sfconn` / `\sfarrowlabel` |
| meaning box | `\small` | `\sfmeaningbox` |
| optional signature | `\scriptsize`, low contrast | `\sfsignature` |
Never shrink below this hierarchy to make something fit. Move it to another row instead.
## Color
Palette: `sfTeal #4F8FA5`, `sfOrange #EE995B`, `sfCoral #C95B5B`, `sfViolet #8A74B5`,
`sfGray #85898F`. Muted, mid-chroma, paper-like. Do not add saturated primaries.
- One semantic color per role, held everywhere: `\sfsetrole{input}{sfTeal}`.
- Drawing macros take a **role**, never a color.
- At most four active hue families per figure, plus gray.
- Contrast comes from lightness separation, not saturation. Use `level=1/2/3` for
`role!30 / role!55 / role!80`; do not use uniform pastel fills.
- If sign matters, use hue for sign and intensity for magnitude.
## Edges and nodes
- Nodes are rounded rectangles with thin neutral borders; no saturated colored outlines.
- Group outlines use `role!65` because the outline itself names an object.
- Edges are thin neutral arrows on the background layer; text stays on the foreground layer.
- Keep all text in LaTeX or CJK text, never rasterized labels.
## Never
Metric insets not present in the primary claim. Decorative pills, banners, shadows,
repeated separators, extra explanatory cards beyond one `\sfcallout`. Raw TikZ `\draw` /
`\fill` / `\path` unless the lint directive allows it.