diff --git a/viz/index.html b/viz/index.html
index f3cfc94..1ac3100 100644
--- a/viz/index.html
+++ b/viz/index.html
@@ -4305,8 +4305,28 @@
// Its home tonality (its first station's scale) becomes the global scale, so the
// sequencer AND the ambient data-melodies re-harmonise when you change cosmology.
let skinTunesWorld = true;
+ // Hand-tuned home key per Spirit — a deliberate, distinct mood for each cosmology
+ // (every {root,scale} pair is unique, so turning the wheel always changes the key).
+ const SKIN_HOME = {
+ chakra: { root: 0, name: "minor_pent" }, // C — warm, grounded, meditative
+ planes: { root: 9, name: "lydian" }, // A — airy, ascending (higher planes)
+ tree: { root: 2, name: "minor" }, // D — deep, solemn, mystical
+ lodge: { root: 7, name: "major" }, // G — noble, bright, geometric
+ ladder: { root: 4, name: "phrygian" }, // E — ancient, alchemical
+ yggdrasil: { root: 6, name: "minor" }, // F# — cold, epic, mythic
+ lataif: { root: 11, name: "dorian" }, // B — spiritual, warm-modal (Sufi)
+ wuxing: { root: 6, name: "pentatonic" }, // F# — the classic Chinese pentatonic
+ tarot: { root: 9, name: "minor" }, // A — mysterious, fateful
+ zodiac: { root: 0, name: "mixolydian" }, // C — cosmic, rolling, bright
+ futhark: { root: 7, name: "dorian" }, // G — old folk modal (runes)
+ wheelyear: { root: 5, name: "major" }, // F — pastoral, seasonal
+ artist: { root: 0, name: "wholetone" }, // C — pure colour, no tonic (Kandinsky)
+ bagua: { root: 4, name: "minor_pent" }, // E — Eastern pentatonic (I Ching)
+ };
function skinHomeScale() {
- const st = activeSkin.stations && activeSkin.stations[0];
+ const h = SKIN_HOME[activeSkin.key];
+ if (h && SCALES[h.name]) return { root: h.root, name: h.name };
+ const st = activeSkin.stations && activeSkin.stations[0]; // fallback for any future skin
const sc = st && activeSkin.scaleOf(st.key);
if (sc && SCALES[sc.scale]) return { root: ((sc.root % 12) + 12) % 12, name: sc.scale };
return null;