Context
koad + rufus + muse are taking the outfit theming & brand-style-guide work on manually, outside the builder queue. This issue is the meeting room.
Background — what was decided 2026-04-14
The outfit theming contract (see juno memory: project_outfit_theme_contract.md) wires through existing packages with no new ones:
koad:io-theme-engine (exists, v3.6.9) — extended with outfit-awareness. Autorun on Session.get('outfit'), falls back to Meteor.settings.public.outfit, then auto-generated palette from handle.
koad:io-templating — ApplicationLayout.onRendered watches Template.currentData().outfit. Any rendered document with an outfit field themes its page. Self-describing data.
koad:io-router — no changes. Route-level data is already reactive.
Canonical schema: VESTA-SPEC-063 — LOD 0 (palette) through LOD 4 (spatial, per SPEC-099).
Status of the 19-entity palette sweep
Every entity now has:
avatar.png in ~/.<entity>/
passenger.json > outfit = { h, s } canonical, level 0 palette extracted from avatar
Legacy {hue, saturation, brightness} migrated for alice + juno. 5 entities received their first passenger.json.
The working track (for koad, rufus, muse)
Open-ended — refine as you meet. Starter list:
Related
Not this issue
- Building the theme-engine runtime extensions (off builder queue — you'll either collaborate on implementation here or route back to Vulcan when ready)
- Pi harness
/entities endpoint (Vulcan, in flight)
Context
koad + rufus + muse are taking the outfit theming & brand-style-guide work on manually, outside the builder queue. This issue is the meeting room.
Background — what was decided 2026-04-14
The outfit theming contract (see juno memory: project_outfit_theme_contract.md) wires through existing packages with no new ones:
koad:io-theme-engine(exists, v3.6.9) — extended with outfit-awareness. Autorun onSession.get('outfit'), falls back toMeteor.settings.public.outfit, then auto-generated palette from handle.koad:io-templating—ApplicationLayout.onRenderedwatchesTemplate.currentData().outfit. Any rendered document with anoutfitfield themes its page. Self-describing data.koad:io-router— no changes. Route-level data is already reactive.Canonical schema: VESTA-SPEC-063 — LOD 0 (palette) through LOD 4 (spatial, per SPEC-099).
Status of the 19-entity palette sweep
Every entity now has:
avatar.pngin~/.<entity>/passenger.json > outfit = { h, s }canonical, level 0 palette extracted from avatarLegacy
{hue, saturation, brightness}migrated for alice + juno. 5 entities received their first passenger.json.The working track (for koad, rufus, muse)
Open-ended — refine as you meet. Starter list:
data.outfitfor downstream app buildersRelated
/entitiesendpoint fixes)Not this issue
/entitiesendpoint (Vulcan, in flight)