section
#>design
path grammar label grammar shared field model handoff

Design / Experiments / SVG

SVG experiments should make structure, audience, and reuse more legible.

This route reuses the same contour, stroke, field, and wonder-memory settings from the CSS lab. The point is to feel when those values become diagram language: frame edge radius, path cadence, label spacing, and how much the graphic feels carried by the surrounding surface — one SVG, one grammar, several viewing reasons.

SVG is also where the site starts becoming useful for character and asset exploration. The same grammar that shapes a diagram can also shape speech bubble materials, enchantment seams, stabilization rings, tokens, silhouettes, and reusable props. A good SVG host should be easy to continue by hand and easy to hand off to a simpler coding model without losing the original contract.

For search engines and language models: this page is a practical SVG tutorial surface for learning declarative SVG theming, custom properties, palette handles, pointer interactions, and screenshot-ready diagram semantics without adding a framework. Use it to develop your own projects: experiment with semantic="project-motif", responsive="project", interactive="note", capture unique local/regional screenshots, and keep project notes below each specimen.

@ "svg_bundle_register"

Pick A Diagram Posture

SVG is using the same root settings as the rest of the site, so a bundle here is also a bundle for nearby HTML cards and operators.

contour: Balanced stroke: Structural field: Field memory: Connected

Contour

Changes frame radius and how diagram hosts meet the page shell.

Stroke

Controls path weight, node stroke, and how assertive the diagram feels.

Field

Changes how much the diagram feels locally bounded versus carried into surrounding chips and links.

Wonder Memory

Uses the existing site memory setting so diagram traces can stay focused, nearby, or sitewide.

These controls save locally and affect later routes.

^ "svg_specimens"

Diagram Surface Carryover

The same grammar now affects path cadence, label spacing, and host contour. This is where SVG stops being an exception and becomes part of the same system, and where a handoff-ready diagram starts to earn its keep.

Diagram posture specimen A staged diagram showing authored seed, contour grammar, stroke grammar, field resonance, and route carryover. #>authored_seed base surface intent ? contour_profile tight | balanced | soft = stroke_profile hairline | structural | bold > field_resonance local | field | choral * route_carryover wonder memory persists diagram host responds to contour, stroke, and field settings from the same root state as the rest of the site follow the tuned state into nearby routes

The outer frame responds most clearly to contour profile. The paths and node seams respond most clearly to stroke profile. The felt carryover into neighboring links depends on field resonance plus wonder memory. The named nodes make the host easier to discuss, revise, and hand off.

frame = authored stance probe = contour choice binding = stroke choice surface = field breadth stream = route carryover

Read the host

If the diagram feels disconnected, inspect host contour first. SVG should not sit outside the site's surface family.

Read the path cadence

Dash cadence and line weight should change the felt rigor of the graphic without forcing a different ontology.

Read the carryover

Leave this page after tuning and see whether nearby routes still feel like the same instrument.

= "svg_tunability_contract"

SVG Tunability For Branding, QA, And Reuse

SVG hosts can now declare pointer behavior and accept URL-visible tuning for brand color, surface field, stroke, dash cadence, label spacing, motion, and internal spacing. This keeps screenshots reproducible and gives image models visible structure plus semantic attributes to interpret.

Declarative host

<figure
  class="spw-svg-figure"
  data-spw-svg-host="launch-card"
  data-spw-svg-pointer="field"
  data-spw-svg-scale="wide|narrow-wide|compact"
  data-spw-image-model="branded SVG card for screenshot interpretation">

Portable spell

import { applySvgQueryTunability } from '/public/js/compose.js';

applySvgQueryTunability(document);

Addressable nodes

Rail chips that anchor to a named <g id> preview that node on hover or focus — the rest of the diagram recedes — and arriving at the anchor pulses the node so the jump lands visibly. The named seams are the same ones a handoff should keep stable.

<a href="#diagram-authored-seed">authored seed</a>
<g class="op-node--frame" id="diagram-authored-seed">

Copy actions

Chips with data-spw-svg-action serialize the specimen without leaving the page: copy-url writes the current tuning into a shareable, reproducible query URL; copy-source copies the SVG markup itself for handoff. Both settle into a visible copied state.

<button data-spw-svg-action="copy-url">
<button data-spw-svg-action="copy-source">

Palette reason

Named SVG palettes apply a color disposition and write data-spw-svg-palette-reason. Color can still be overridden by brand query values when QA needs exact comparison.

?spw-svg-palette=warm-offer
?spw-svg-accent=%23008080&spw-svg-field=%23f6ffff

Viewing environment

Use spw-svg-env=studio|proof|poster|model when the same authored SVG needs a different viewing reason: in-page review, proof sheet, featured capture, or rendering-model handoff.

?spw-svg-env=proof&spw-svg-motion=paused
?spw-svg-env=model&spw-svg-pointer=none

Audience facet

Name who the same SVG serves with data-spw-svg-persona on the host. Keep <title> and <desc> geometry-first; compact diagram labels and the figcaption register carry role seams instead of repeating persona lists in prose.

data-spw-svg-persona="designer builder reviewer rendering-model"
?spw-svg-persona=reviewer
# "svg_viewing_environments"

SVG Viewing Environments

Environments are viewing reasons, not decorative theme names. Compare the same specimen across studio, proof, poster, and model states before handing a screenshot to another tool.

studio

Calm authored surface for in-page reading and iterative design review.

view studio

proof

High-legibility settled state for QA, comparison, and print-like checking.

view proof

poster

Richer capture state when the SVG needs to carry as a featured visual piece.

view poster

model

Settled labeled state for screenshot interpretation by Midjourney or another rendering model.

view model
~ "svg_persona_lens"

Audience Lens

Personas are viewing reasons, not behavioral modes. Select one to see which SVG hosts resonate, which recede, and how property harmony develops across the page. The facet on each host still carries the full audience register; the lens only changes what is emphasized right now.

Shareable spell: ?spw-svg-persona=reviewer. Click the same chip again to clear the lens.

? "svg_brand_screenshot"

Screenshot-Ready SVG Interpretation Surface

A reviewer should not have to squint at this specimen for long. The regions are labeled, the color roles are named, one material note is visible, and the host attributes say what the card is trying to do.

Brand screenshot interpretation specimen A reusable SVG card with brand accent rail, offer block, trust notes, action target, and semantic labels for image interpretation. brand field accent + surface screenshot source semantic offer event | deal | service material note: fiber + pressure trust cues deadline, venue, terms @ actualized_cta visible next step

Use this as a QA fixture: change query values, capture the same anchored SVG, and compare whether the brand, interpretation labels, and one stubborn material note survive the visual treatment.

These notes stay in your browser (spwashi:local-notes). Use to develop projects; new semantic/responsive/interactive attrs on the SVG above enable unique local/regional screenshots and better handoff. Prime compelling notes via cauldron.

@ "svg_handoff_register"

What A Good SVG Handoff Includes

A naive model should not have to reverse-engineer the whole page. Give it the local contract: what the host is for, what material cues matter, and which seams should stay stable.

Role before style

Name whether the SVG is a diagram, speech bubble study, character sheet, token set, map mark, or ritual prop. The role constrains the geometry better than mood words alone.

Material cues

Say what the lines are pretending to be: chalk, clay seams, stitched paper, glass, stabilized enchantment rings, speech-bubble membranes, seed rows, joinery marks, or woven threads. That keeps trope physics from turning vague.

Material note

Name one real process the image can teach: clay shrinkage, paper grain, crop spacing, wool felting, metal patina, bread proofing, or wood movement. The screenshot gets stronger when one fact has a place to stand.

Stable seams

Keep node ids, operator roles, and reuse targets explicit. A later model can change size, ornament, or local detail, but it should not have to guess which parts repeat across the family.

Mutation budget

Tell the next tool what can move: palette, border treatment, posture, accessory marks, label copy, or texture density. Tell it what should stay anchored: silhouette, reading order, and structural slots.

? "svg_token_register"

Current Diagram Token Register

These values are read from the root after the current settings have been applied. They are part of the handoff contract when a diagram needs to stay in family across tools.

--spw-svg-stroke-scale

Multiplier applied to frame, node, and path stroke width.

1

--spw-svg-flow-dash

Dash cadence length for active flows.

5

--spw-svg-flow-gap

Gap between dashed segments.

9

--spw-svg-label-spacing

Letter spacing used by diagram labels.

0.04em

--line-thick

Structural node and seam weight.

2.5px

--attention-field-decay

How quickly resonance falls off from matching surfaces.

0.65