section
#>design_hub
playable demos culinary physics prompt seeds mobile honest image handoff

Design / Coordination / Rendering Context

Design should read like a playable instrument panel for discoverability, testing, and tuning.

For someone with passive curiosity: wander in, tap a card or spoke to test a feature in context, hold to inspect the underlying component anatomy and Spw attributes, swipe or use the sample dock to evaluate runtime state across nearby surfaces. No commitment — every element gives a clear reason to engage and an easy path back to the hub.

This is the route for turning a vibe into an accountable structure. Use it when the question is not only “what should this look like?” but “what exactly is being discovered, what should be tested, which layer owns it, and does the idea survive a cramped screen, a different theme, or a sharper reading density?” The markup should stay legible enough that a person or a simple model can extend it by adding content to the nearest header, nav, section, article, aside, or figure instead of inventing a new shape every time.

The model stays intentionally inspectable: root state biases the room, page attributes declare route intent, region and component attributes specialize local behavior, and slots or variants carry the final posture. If a concern needs permanent room in the anatomy, name it. If not, let it remain a reversible bias that can be tuned from the hub instead of hidden inside the spoke.

The next direction is culinary instruction as a design-system metaphor for the hub and its spokes. Mise en place teaches slot ownership, reduction teaches compression, emulsion teaches binding unlike materials, fermentation teaches patient state change, and service teaches whether a component works in company.

The point is not to hide design behind abstraction. It is to make the operational physics readable enough that a person can wander the hub, inspect a spoke, film, prompt, tweak a setting, and still understand why the page is behaving the way it is.

Topic links should act like metacognitive handles here: algorithms for procedure, statistical analysis for evidence, and scale intuition for scope, so the hub makes the spokes easier to discover and compare. If the route needs expansion later, keep the same container logic and add the next idea as a new section, not a broken exception.

It is also the route I would hand to an intern, a collaborator, or a newer coding model: learn the component language, compare nearby spokes, run a small social playtest, then decide which distinctions are durable enough to become shared contracts.

Reference assignments keep the work small enough to learn from: two or three nearby surfaces, one visible behavior, one small change. The HTML names the structure. The CSS tunes the state. The result note records whether the experiment should stay, change, or return to the sketchbook.

I want this route to feel like a worktable people actually come back to. A good design study should leave behind a usable link, a kept image, a clearer test, a stronger component choice, and one clean sentence about what has to survive the next round. That makes the page easier for future authors, and easier for a model to continue without flattening the semantics.

A readable surface study blending threshold architecture, orbital traces, and structural design grammar.
Hub logic This route is for naming decisions, not only showing finished art direction. Use it with the website field guide, website design, Pretext, and renderer notes.
A vertical teal, gold, cream, and deep blue swirl study that reads like color resonance, weather, and flavor motion.
Color consequence Palette is not decoration here. It can carry heat, calm, contrast, flavor, and runtime state when the design system makes those meanings inspectable.
^"culinary_instruction"

Culinary instruction is becoming a design-system route.

Food vocabulary works here because it gives abstract software and layout decisions a material memory: prep, heat, binding, rest, texture, service, leftovers, and trade routes.

Treat each culinary verb as component instruction. Mise en place asks what slots must exist before styling. Bloom asks which small detail needs heat before it becomes visible. Deglaze asks what residue should be recovered instead of discarded. Fold asks how to integrate without flattening. Each answer can become a shopping list, a mnemonic character, or a scene prompt for RPG Wednesday.

The design surface should not read like a generic UI inventory. A control can be a handle, a route clue, a lens, a provision, or a spell mark, as long as the behavior remains clear. The trick is to keep native semantics intact while letting the visible chrome feel like a guide into the world.

Batch-prep thinking belongs in components too. A card base, route bridge, image figure, settings cluster, or shopping-list handle should be prepared once, then distributed across pages like a provision that can feed several scenes without becoming stale.

Theatre gives the page a bandstand. Fiber, paper, food, and light teach how a surface changes under pressure. A folded card can open like vellum in side light. A settings control can warn like copper catching heat. A spell can hold the repeated move. A cauldron can hold the ingredients before the prompt becomes clear. A route can hold the center like a table scene: one lit object, enough shadow for the rest of the room to answer.

mise[component] Prepare the slots before the feature asks for polish.

Use mise en place to teach header, body, figure, actions, and footer as readable component anatomy.

reduction[copy] Cook down a page until the signal coats the spoon.

Use reduction when a route has too many labels and not enough reason, contrast, or next action.

emulsion[interface] Bind unlike materials without pretending they are the same.

Use emulsion for pages that need art, code, research, and play to share a surface without collapsing.

service[component] Serve the component to learn whether it communicates.

Use service as the screenshot test: can a teammate, player, illustrator, or crawler tell what this is for?

byproduct[component] Recover useful residue from the previous pass.

A debug note, unused image, leftover caption, or failed layout can become a provision for a route clue, character mnemonic, or future component variant.

light[component] Give the component a cue light.

Reveal the active edge, hold the foreground, and let the quiet material fall back without leaving the song.

?component_resonance

Component resonance is something to practice.

A component becomes resonant when it has a readable purpose, relatives on nearby routes, visible state, and enough semantic markup that a person or language model can explain what it is doing without inventing the whole context.

Practice loop

Use models to ask better component questions.

  1. DescribeAsk what the component is for using only its heading, attributes, and visible copy.
  2. CompareAsk which nearby component has the same role, a different emphasis tier, or a stronger route reason.
  3. SerializeAsk for a compact Spw expression such as card[reason]{produce.artifact}.
  4. RefactorAsk what should become a shared pattern, what should stay route-local, and what needs a reset path.
  5. PracticeTurn the answer into a proof card, RPG prompt, recipe metaphor, or design-system note.
~"design_circuits"

Trails Through The Feature Set

The hub should shorten coordination time. Each circuit below is a different kind of design question, not just another content category.

Inspect A Palette Reason

Open the SVG lab with a named palette so the color choice carries a visible reason, not only a hue.

/design/experiments/svg/?spw-svg-palette=warm-offer

Learn A CSS Rule By Touching It

Open the CSS rule bench when a selector, cascade layer, or box-model decision needs to become visible enough to discuss.

selector → layer → box model → diagram
A braided studio field of nodes, marks, and connective lines that reads like a brand system in motion.
Constellation studio Use this as the brand core: a visual reminder that the system should feel connected, legible, and authored by a person rather than assembled from generic parts.
A threaded field of orbit lines and luminous crossings, acting like a route map for visual identity.
Orbital thread field Use this when the identity needs a little motion and direction without losing the structural calm that makes the system inspectable.

Website Field Guide

The public rationale for readable HTML, inspectable frames, route-aware thresholds, and why this site acts like a publishing surface instead of a template portfolio.

open website guide

Site Design

The visual reference shelf: cadence, resonance, palette probes, and examples of how atmosphere can support structure without hiding it.

open website design

Pretext Physics

The closest thing to a rendering grammar for text posture, wrap volatility, scaffolds, and inspectable projection behavior.

open pretext

Renderers

The route for asking how authored structure becomes visible output, and which transforms belong in the renderer instead of living as ad hoc CSS patches.

open renderers

Asset Catalog

The media inventory for reviewing public images, generated variants, and sidecar notes in one place before a path is treated as canonical.

open asset review

Settings

The place to test what should remain global: color mode, palette resonance, wonder memory, and other saved preferences that change neighboring routes.

open settings

Architecture

The route for deciding whether a distinction is durable enough to become a named contract instead of a one-off local fix.

open architecture

Palettes & Color Grammar

The spectral families, theme handles, and resonant color tests mapped out as a design space.

open palettes

Component Glossary

The established structural vocabulary of CSS classes and wrappers used across the Spwashi runtime, and the fastest onboarding route for someone who needs the site grammar before they start patching.

open glossary

Experiments

Live labs for tuning contour, stroke, field resonance, SVG palette reasons, and screenshot-ready diagram posture with settings that persist across the site.

open CSS lab open SVG lab inspect SVG palette

RPG Wednesday

The social playtest route where interface, prompts, capture frames, and lore have to survive real people, real pacing, and the pressure of weekly return visits.

open RPG Wednesday

Midjourney Bench

The route for reference packets, generator-facing prompt language, kept image studies, and naming which visual cues should stay portable across different image tools.

open Midjourney Bench

Support Register

The direct call to support the work through hiring, collaboration, or sponsorship, so the design system can keep compounding into software, art, and publishing experiments.

open support

?query_disposition

URLs As Lab Notes And Paint Trays

A query string should be a repeatable setup: enough state to reproduce a screenshot, compare a page under different conditions, or hand a fork a vocabulary it can rename without editing parser internals.

Calibrate The Instrument

Use readable parameters for experimental conditions: physics=puppet, meaning=inspect, palette=software, and reflow=layout.

try calibrated view

Keep The Semantics Painterly

Presets should feel like studio choices: ground, wash, contrast, outline, motion, and reading density. The runtime still writes explicit data attributes and CSS variables so the result remains inspectable.

prepare screenshot

Leave Room For Forks

Plugins can build a query contract with custom aliases, preset maps, or handlers. A fork could rename physics to exposure, meaning to reading, or add its own instrument without patching core parsing.

inspect compose.js

#>context_stack

QA Bench For Global Context

This is the working surface I would use for QA: inspect the live root state, modify the surrounding environment, then reset and compare the same route against authored defaults.

Current state

Read the live settings first

theme
neutral paper
mode
auto
density
soft
palette
route
memory
nearby
metadata
off

Preferences are saved in this browser.

Modify

Bias the environment first, then judge whether the local variants still make sense.

Reset and compare

Return to authored defaults before comparing another route

Use reset to clear the local bias, then read the same cards again to see what came from the route itself and what came from the browser state.

open CSS lab open glossary

After resetting, compare the route against the render and component labs.

Lab behavior

Expose behavior as links before hiding it in runtime state

Use query links to test color, palette, density, and reflow disposition. Use the console helpers when a script spell needs to show what it touched. This is also the start of performance puppetry: named controls moving visible surfaces, including SVG art later.

import { installSpwCompositionConsole } from '/public/js/compose.js';
installSpwCompositionConsole(window);
spwCompose.query(document.documentElement);
spwCompose.inspect('#lab-behavior');

Layer 1

Global / Root

Use this for environment-wide posture: mode, theme pack, palette resonance, enhancement level, wonder memory, semantic density, and anything that should feel continuous as a person moves between routes.

html[data-spw-color-mode], html[data-spw-theme-pack], html[data-spw-palette-resonance], and the settings model belong here.

Layer 2

Page / Body

Use page-level attributes to say what kind of route this is and how much horizontal structure it deserves. That is where surface family, route family, page modes, and shell layout should live.

data-spw-surface, data-spw-route-family, data-spw-page-role, and data-spw-layout are the main levers.

Layer 3

Region / Component

Use component-level attributes to specialize a local contract. This is the place for context, material, depth, accent, affordance, and whether a frame is acting as orientation, reference, control, or comparison.

data-spw-kind, data-spw-role, data-spw-context, data-spw-metamaterial, and data-spw-depth belong here.

Layer 4

Slot / Variant

Use slots and variants when the anatomy itself changes. A top line, action shelf, figure rail, or pretext variant should be selected because the component is instantiating differently, not because a generic badge has to float above every card forever.

This is the layer where Pretext looks strongest as a renderer selector: let the component instantiate, let context resolve, then let Pretext choose the local projection posture or slot map instead of stapling on another annotation channel.

@["promptability_studio"]

Promptability Studio

A compact direct-wiring surface for filming, art direction, and route seeds. Change the room first. Then decide what the page is trying to be.

A teal atmospheric current field with swirling seams and luminous pockets, reading like interface weather in motion.
Atlas weather Useful when the route needs environmental pressure, not just a list of tokens. This is the kind of image that can steer a page toward field guide, observatory, or soft instrument panel.
^"rendering_contexts"

Rendering Context Tests

These are intentionally small, comparable specimens. They use real attribute families so the question can be “does the contract feel right?” instead of “can we invent a new demo widget?”

reading / paper / stable

Reading Specimen

#> Global state sets the room before local prose asks for attention.
~ Stable wrap should preserve calm reading more than it advertises inspectability.
context: reading cache: warm wrap: stable

analysis / glass / responsive

Analysis Specimen

? Which decisions belong to the renderer, and which belong to authored structure?
@ Responsive wrap can signal flexibility without making the block feel unstable.
context: analysis depth: 2 wrap: responsive

ambient / matte / supportive

Ambient Specimen

* A supporting region can stay visibly part of the system without competing with the main read.
: This is where subtle annotation belongs more often than a permanent badge row.
context: ambient material: matte wrap: responsive

signal / field / volatile

Signal Specimen

$ Cold, unstable content should visibly read as provisional before it starts steering shared design decisions.
! Use this posture sparingly on mobile, because volatility becomes noise faster on narrow screens.
context: signal cache: cold wrap: volatile
^"component_options"

Component Option Register

A utility to break down how surface options relate to underlying structures. Tap any link or card to test the anatomy in context; hold (or long-press on mobile) to inspect the Spw attributes and runtime state. This turns passive curiosity into low-friction learning: wander the hub, probe a component, evaluate how it behaves, then navigate back via the spell path or sample dock.

structural constraints

The Universal Slots

Components expect a standard slot sequence. Reusing semantic slots keeps the DOM inspectable. Tap the link to see the anatomy live; hold to reveal the data attributes that make each slot queryable and learnable.

  • header: Sigil, title, context pills
  • meta: Timestamps, provenance, hints
  • figure: Primary image or runtime SVG
  • body: The prose and readable content
  • actions: Operator chips and outbound links
  • footer: Reference data and terminal trails

environmental response

Density & Measure

Spacing scales smoothly when driven by density keys rather than generic padding tokens.

  • dense: High information per inch
  • soft: The default, comfortable breathing room
  • roomy: Expansive bounds for hero blocks
  • ambient: Fades out horizontal boundaries entirely

rendering physics

Metamaterial Attributes

How the surface responds to the scroll canvas beneath it.

  • paper: Opaque, warm, reads as a stationary document
  • glass: Translucent blur, feels layered and lightweight
  • matte: Flat, low-contrast, stays out of the way
  • field: High-contrast, interactive staging environment

interaction language

State & Affordance

Tap to trigger, hold to reveal the data-spw anatomy and current runtime values, swipe to compare states. Designed for passive entry and quick evaluation.

How a block communicates what you can do to it before you interact.

  • read: Stable layout with no hover lifts
  • tune: Contains active form controls or sliders
  • inspect: Reacts to hover with more structural hints
  • orient: Anchors the page flow
?["mobile_interactions"]

Mobile Interaction Notes

Phones are where the design model gets honest. If a structure only reads on hover, wide screens, or desktop breathing room, it is not yet a stable contract.

Header First

The header should touch the top edge unless a real shell layer needs the space. Decorative or inspectability metadata should not silently reserve vertical room before the primary controls.

Control Contrast

Mode switches and menu toggles need a resting state that still reads as actionable. Relying on low-opacity inactive buttons makes the strip look disabled instead of calm.

Rail Collapse

Side rails should degrade into ordinary document flow on narrow screens. The page should still make sense if the rail becomes “after the article” instead of “beside the article.”

Scroll Context

A subtle section handle or local return anchor can help on long pages, but the context marker should not compete with the header or consume anatomy space that most components do not need.

@["team_prompts"]

Questions Worth Asking Before Another Patch Lands

What Is Global?

If a decision should travel across routes, it probably belongs in settings, root data attributes, or shared shell grammar instead of route-local copy or card-specific ornament.

What Is Local?

If the change only clarifies one region, prefer a component or section attribute over a new root flag. Do not escalate a local rendering choice into global state too early.

Do We Need A Variant?

If the anatomy changes, name the variant or slot. If only the emphasis changes, bias the existing contract through context, material, or pretext posture before adding a new component family.

Will It Survive Mobile?

If the answer depends on hover, invisible metadata rows, or width that disappears on phones, the design is still provisional. Test the compact case early and often.

This route should stay useful even when the model changes. The point is not to freeze the design vocabulary. The point is to keep the decisions legible while the vocabulary evolves.