🎨 hand-tuned skin home keys — 14 deliberate, distinct moods
Replace the auto-derived skin scale (which gave 3× C wholetone and a sparse
hirajoshi default) with a curated SKIN_HOME map — a considered {root,scale} per
cosmology, every pair unique so turning the wheel always changes the key.
Verified: 14/14 distinct. Default (chakra) is now warm C minor pentatonic.
chakra C min-pent · planes A lydian · tree D minor · lodge G major ·
ladder E phrygian · yggdrasil F# minor · lataif B dorian · wuxing F# pentatonic ·
tarot A minor · zodiac C mixolydian · futhark G dorian · wheelyear F major ·
artist C wholetone · bagua E min-pent. (Fallback to derived scale for any future skin.)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
8dd551017a
commit
c5997163b5
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user