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;