Godstrument/config.json
jing d2c7938321 👁 god's eye: GODSIGH's cosmology as a Spirit on the shelf
A new map-layout skin — the world's own sensor picture read AS the cosmology,
ported from the GODSIGH view. A minimal equirectangular Earth (a sparse hand-drawn
continent set kept inline — no heavy geo data in the one-file console), a 30°
graticule refit to a 2:1 rect each frame (dynamicStations), and nine geographic
"posts" the sources are seated at by godseyeOf. The overlay seats every feed at its
LITERAL coordinates: earthquakes flash at quake.lat/lon (venue-antipode fallback if
absent), the ISS and recon birds sweep as a moving point + trail from sats.iss_lat/
lon, aircraft are a shimmer band, the markets pulse at NY/London/Tokyo, the solar
wind washes the poles as an aurora, the word sparks at civilisational coordinates,
and your own hands are the ring at the venue. Cold watch-floor palette (near-black,
cyan, warning amber) and a Bb minor-pentatonic retune. Registered in SKINS +
SKIN_HOME beside the bagua; grimoire + manual entry ("the eye that hears").

To give the console the venue's location (it had none), world_sky now emits
/gs/sky/lat,lon; config.json declares sky.lat/lon and quake.lat/lon so the eye can
place "here" and the quakes. (sats.* signals + routes already landed with world_sats.)

Verified: full viz parses/runs with the groove self-check passing and zero console
errors; an isolated harness renders the REAL overlay code into a coherent world-map
with every layer; and an end-to-end run (feeds -> hub -> WS) delivers all the eye's
input signals. Adversarial review found one wrap bug — the ISS trail streaking
across the map at the ±180° antimeridian — now fixed by breaking the polyline at the
seam (verified: a seam-crossing sine trail renders split, no full-width streak).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 17:18:18 +10:00

227 lines
23 KiB
JSON

{
"control_rate_hz": 60,
"osc_in_host": "127.0.0.1", "osc_in_port": 9000,
"osc_out_host": "127.0.0.1", "osc_out_port": 9001,
"ws_port": 8765,
"http_port": 8088,
"orbit_base_seconds": 60,
"midi": {
"enabled": false,
"port_name": "IAC",
"map": {
"filter.cutoff": {"cc": 74},
"reverb.size": {"cc": 91},
"delay.feedback": {"cc": 93},
"saturation": {"cc": 75},
"granular.density": {"cc": 76},
"perc.density": {"cc": 77},
"tempo.nudge": {"cc": 78},
"drone.voices": {"cc": 79},
"pad.brightness": {"cc": 71},
"wavetable.morph": {"cc": 70},
"lfo.rate": {"cc": 72},
"glitch": {"cc": 73},
"master.space": {"cc": 94},
"lead.note": {"note": true, "channel": 0},
"bass.note": {"note": true, "channel": 1}
}
},
"groups": {
"planet": {"label": "the local world", "orbit": "earth", "members": ["weather.temp", "weather.wind", "weather.pressure", "air.pm25", "sky.day", "sky.elev"]},
"cosmos": {"label": "the shared sky", "orbit": "saturn", "members": ["sun.speed", "iss.vel", "planes.count", "crypto.vel", "sats.best_elev"]},
"human": {"label": "humanity", "orbit": "mars", "members": ["wiki.rate", "clock.popvel", "clock.births"]},
"market": {"label": "your market", "orbit": "mercury", "members": ["crypto.vel", "market.velocity", "market.turnover"]},
"heavens": {"label": "the sky", "orbit": "neptune", "members": ["astro.moon", "astro.tension", "astro.harmony", "astro.saturn", "astro.mars"]},
"dark": {"label": "the shadow", "members": ["debt.vel", "econ.inflation", "air.pm25", "quake.event", "clock.deaths", "astro.tension", "world.poverty", "world.hunger"]},
"light": {"label": "the bright", "members": ["clock.births", "astro.moon", "astro.harmony", "almanac.fertile", "sky.day", "world.lifeexp", "world.fertility"]},
"fire": {"label": "🔥 fire", "members": ["fire.count", "fire.event", "astro.mars", "sun.speed", "crypto.vel"]},
"earth": {"label": "⛰ earth", "members": ["quake.depth", "debt.total", "world.poverty", "astro.saturn"]},
"air": {"label": "💨 air", "members": ["weather.wind", "air.pm25", "planes.count", "wiki.rate"]},
"water": {"label": "💧 water", "members": ["weather.precip", "weather.humidity", "astro.moon", "season.south"]},
"spirit": {"label": "✨ spirit", "members": ["astro.harmony", "almanac.fertile", "zodiac.hour", "clock.births"]},
"wealth": {"label": "💰 wealth", "members": ["crypto.price", "crypto.eth", "fx.eurusd", "market.turnover", "market.velocity", "debt.total"]},
"summer": {"label": "☀ summer", "members": ["season.north", "season.south", "weather.temp", "sky.day"]}
},
"tweaks": {
"@planet": {"gain": 1.0, "offset": 0.0},
"@cosmos": {"gain": 1.0, "offset": 0.0},
"crypto.vel": {"smooth": 0.08}
},
"controls": [
{"src": "hand.open", "target": "@planet", "param": "gain", "min": 0.2, "max": 1.4, "label": "open palm swells the local world"},
{"src": "tof.near", "target": "@cosmos", "param": "gain", "min": 0.3, "max": 1.4, "label": "hand proximity leans on the cosmic layer"},
{"src": "tof.cx", "target": "@planet", "param": "offset", "min": -0.2, "max": 0.2, "label": "hand X bends the local bias"},
{"src": "midi.cc.1", "target": "@cosmos", "param": "offset", "min": -0.3, "max": 0.3, "label": "knob 1 bends the sky"},
{"src": "midi.cc.2", "target": "crypto.vel","param": "smooth", "min": 0.0, "max": 1.0, "label": "knob 2 liquifies the market"},
{"src": "midi.cc.20","target": "@planet", "param": "freeze", "min": 0.0, "max": 1.0, "label": "pad 20 freezes the planet in place"}
],
"warp": {
"quakes": {"port": 9101, "rate_src": "tof.cx", "nudge_src": "tof.near", "label": "hand X sets warp speed, proximity scratches the quake loop"},
"weather": {"port": 9102, "rate_src": "midi.cc.5", "nudge_src": "midi.cc.6", "label": "knobs 5/6 scrub the weather sweep"},
"dealgod": {"port": 9104, "rate_src": "midi.cc.7", "nudge_src": "midi.cc.8", "label": "knobs 7/8 scrub your market history"}
},
"signals": {
"sun.speed": {"norm": {"lo": 250, "hi": 800}, "filter": {"min_cutoff": 0.4, "beta": 0.01}, "label": "solar wind speed"},
"air.pm25": {"norm": {"lo": 0, "hi": 250}, "filter": {"min_cutoff": 0.5, "beta": 0.01}, "label": "PM2.5 (Delhi)"},
"air.pm10": {"norm": {"lo": 0, "hi": 400}, "label": "PM10 (Delhi)"},
"air.aqi": {"norm": {"lo": 0, "hi": 300}, "label": "US AQI (Delhi)"},
"weather.temp": {"norm": {"lo": -10, "hi": 45}, "filter": {"min_cutoff": 0.3, "beta": 0.005}, "label": "temperature (Tokyo)"},
"weather.wind": {"norm": {"lo": 0, "hi": 30}, "label": "wind speed (Tokyo)"},
"weather.precip": {"norm": {"lo": 0, "hi": 10}, "label": "precipitation"},
"weather.pressure":{"norm": {"lo": 970, "hi": 1040}, "label": "air pressure"},
"weather.humidity":{"norm": {"lo": 0, "hi": 100}, "label": "humidity"},
"crypto.price": {"norm": {"mode": "zscore", "window": 400}, "filter": {"min_cutoff": 0.6, "beta": 0.02}, "label": "BTC price"},
"crypto.vel": {"norm": {"mode": "minmax", "window": 120}, "filter": {"min_cutoff": 2.0, "beta": 0.15}, "label": "BTC volatility"},
"crypto.eth": {"norm": {"mode": "zscore", "window": 400}, "filter": {"min_cutoff": 0.6, "beta": 0.02}, "label": "ETH price"},
"crypto.eth_vel": {"norm": {"mode": "minmax", "window": 120}, "filter": {"min_cutoff": 2.0, "beta": 0.15}, "label": "ETH volatility"},
"crypto.sol": {"norm": {"mode": "zscore", "window": 400}, "filter": {"min_cutoff": 0.6, "beta": 0.02}, "label": "SOL price"},
"crypto.sol_vel": {"norm": {"mode": "minmax", "window": 120}, "filter": {"min_cutoff": 2.0, "beta": 0.15}, "label": "SOL volatility"},
"crypto.macd": {"norm": {"mode": "zscore", "window": 400}, "filter": {"min_cutoff": 0.4, "beta": 0.01}, "label": "BTC momentum (MACD)"},
"crypto.rsi": {"norm": {"lo": 0, "hi": 100}, "filter": {"min_cutoff": 0.4, "beta": 0.01}, "label": "BTC RSI(14)"},
"crypto.cross_up": {"type": "event", "norm": {"lo": 0, "hi": 1}, "decay": 4.0, "label": "golden cross (BTC)"},
"crypto.cross_down": {"type": "event", "norm": {"lo": 0, "hi": 1}, "decay": 4.0, "label": "death cross (BTC)"},
"fx.eurusd": {"norm": {"mode": "zscore", "window": 600}, "filter": {"min_cutoff": 0.4, "beta": 0.01}, "label": "EUR/USD live"},
"fx.eurusd_vel": {"norm": {"mode": "minmax", "window": 120}, "filter": {"min_cutoff": 2.0, "beta": 0.15}, "label": "EUR/USD velocity"},
"fx.gbpusd": {"norm": {"mode": "zscore", "window": 200}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "GBP/USD (ECB fix)"},
"fx.usdjpy": {"norm": {"mode": "zscore", "window": 200}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "USD/JPY (ECB fix)"},
"fx.audusd": {"norm": {"mode": "zscore", "window": 200}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "AUD/USD (ECB fix)"},
"sport.events_today": {"norm": {"mode": "minmax", "window": 50}, "label": "matches today"},
"sport.inplay": {"norm": {"mode": "minmax", "window": 200}, "filter": {"min_cutoff": 0.3, "beta": 0.01}, "label": "matches in play"},
"sport.kickoff": {"type": "event", "norm": {"lo": 0, "hi": 5}, "decay": 3.0, "label": "kickoff!"},
"quake.event": {"type": "event", "norm": {"lo": 0, "hi": 7}, "decay": 3.5, "label": "earthquake"},
"quake.depth": {"norm": {"lo": 0, "hi": 300}, "label": "quake depth"},
"quake.lat": {"norm": {"lo": -90, "hi": 90}, "label": "last quake latitude"},
"quake.lon": {"norm": {"lo": -180, "hi": 180}, "label": "last quake longitude"},
"wiki.edit.event": {"type": "event", "norm": {"lo": 0, "hi": 3000}, "attack": 0.005, "decay": 0.25, "label": "wiki edit"},
"wiki.rate": {"norm": {"mode": "minmax", "window": 200}, "filter": {"min_cutoff": 0.8, "beta": 0.03}, "label": "global edit rate"},
"planes.count": {"norm": {"mode": "minmax", "window": 100}, "label": "aircraft aloft"},
"planes.avgalt": {"norm": {"lo": 0, "hi": 13000}, "label": "avg altitude"},
"planes.avgspeed": {"norm": {"lo": 0, "hi": 300}, "label": "avg airspeed"},
"iss.vel": {"norm": {"mode": "minmax", "window": 60}, "label": "ISS ground speed"},
"sats.best_elev": {"norm": {"lo": -30, "hi": 90}, "filter": {"min_cutoff": 0.3, "beta": 0.005}, "label": "highest satellite elevation"},
"sats.overhead_count": {"norm": {"lo": 0, "hi": 8}, "label": "satellites overhead (>10°)"},
"sats.iss_lat": {"norm": {"lo": -90, "hi": 90}, "label": "ISS latitude"},
"sats.iss_lon": {"norm": {"lo": -180, "hi": 180}, "label": "ISS longitude"},
"sats.recon_elev": {"norm": {"lo": -30, "hi": 90}, "filter": {"min_cutoff": 0.3, "beta": 0.005}, "label": "recon-satellite elevation"},
"sats.pass.event": {"type": "event", "norm": {"lo": 0, "hi": 90}, "decay": 3.0, "label": "satellite pass (rising 30°)"},
"tof.cx": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 1.5, "beta": 0.1}, "label": "hand X (ToF)"},
"tof.cy": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 1.5, "beta": 0.1}, "label": "hand Y (ToF)"},
"tof.near": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 1.5, "beta": 0.1}, "label": "hand proximity"},
"light.lux": {"norm": {"lo": 0, "hi": 1000}, "label": "ambient light"},
"light.flash.event": {"type": "event", "attack": 0.002, "decay": 0.15, "label": "light flash"},
"hand.open": {"norm": {"lo": 0, "hi": 1}, "label": "hand openness (cam)"},
"audio.rms": {"norm": {"mode": "minmax", "window": 120}, "label": "room loudness"},
"audio.centroid": {"norm": {"lo": 200, "hi": 6000}, "label": "room brightness"},
"sky.elev": {"norm": {"lo": -30, "hi": 75}, "filter": {"min_cutoff": 0.15, "beta": 0.002}, "label": "local sun elevation"},
"sky.day": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.15, "beta": 0.002}, "label": "local day/night"},
"sky.lat": {"norm": {"lo": -90, "hi": 90}, "label": "venue latitude"},
"sky.lon": {"norm": {"lo": -180, "hi": 180}, "label": "venue longitude"},
"clock.births": {"norm": {"lo": 0, "hi": 8}, "label": "births / sec"},
"clock.deaths": {"norm": {"lo": 0, "hi": 5}, "label": "deaths / sec"},
"clock.popvel": {"norm": {"lo": 0, "hi": 4}, "label": "population growth / sec"},
"clock.pop": {"norm": {"lo": 8000000000, "hi": 8300000000}, "label": "world population"},
"market.velocity": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.6, "beta": 0.02}, "label": "dealgod market activity"},
"market.turnover": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.5, "beta": 0.01}, "label": "dealgod avg price"},
"astro.moon": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.1, "beta": 0.001}, "label": "moon phase"},
"astro.moon_lon": {"norm": {"lo": 0, "hi": 360}, "label": "Moon in the zodiac"},
"astro.sun_lon": {"norm": {"lo": 0, "hi": 360}, "label": "Sun in the zodiac"},
"astro.mars": {"norm": {"lo": 0, "hi": 360}, "label": "Mars longitude"},
"astro.venus": {"norm": {"lo": 0, "hi": 360}, "label": "Venus longitude"},
"astro.jupiter": {"norm": {"lo": 0, "hi": 360}, "label": "Jupiter longitude"},
"astro.saturn": {"norm": {"lo": 0, "hi": 360}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "Saturn longitude"},
"astro.mercury": {"norm": {"lo": 0, "hi": 360}, "label": "Mercury longitude"},
"astro.tension": {"norm": {"lo": 0, "hi": 8}, "filter": {"min_cutoff": 0.2, "beta": 0.002}, "label": "sky tension (hard aspects)"},
"astro.harmony": {"norm": {"lo": 0, "hi": 8}, "filter": {"min_cutoff": 0.2, "beta": 0.002}, "label": "sky harmony (soft aspects)"},
"astro.retro": {"norm": {"lo": 0, "hi": 1}, "label": "planets retrograde"},
"astro.mercury_retro": {"norm": {"lo": 0, "hi": 1}, "label": "Mercury retrograde"},
"almanac.element": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.1, "beta": 0.001}, "label": "planting element (root/leaf/flower/fruit)"},
"almanac.waxing": {"norm": {"lo": 0, "hi": 1}, "label": "sow above ground (waxing)"},
"almanac.dec": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.1, "beta": 0.001}, "label": "moon ascending / descending"},
"almanac.fertile": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.12, "beta": 0.002}, "label": "biodynamic fertility"},
"debt.total": {"norm": {"lo": 38000000000000, "hi": 42000000000000}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "US national debt"},
"debt.vel": {"norm": {"lo": 0, "hi": 50000000000}, "label": "debt daily churn"},
"econ.inflation": {"norm": {"lo": 0, "hi": 10}, "filter": {"min_cutoff": 0.1, "beta": 0.002}, "label": "US inflation (YoY %)"},
"econ.cpi_mom": {"norm": {"lo": -1, "hi": 2}, "label": "CPI month-over-month %"},
"world.poverty": {"norm": {"lo": 0, "hi": 20}, "filter": {"min_cutoff": 0.05, "beta": 0.001}, "label": "extreme poverty (world %)"},
"world.hunger": {"norm": {"lo": 0, "hi": 15}, "filter": {"min_cutoff": 0.05, "beta": 0.001}, "label": "undernourishment (world %)"},
"world.fertility": {"norm": {"lo": 0, "hi": 4}, "label": "world fertility rate"},
"world.lifeexp": {"norm": {"lo": 50, "hi": 85}, "label": "world life expectancy"},
"zodiac.year": {"norm": {"lo": 0, "hi": 1}, "label": "zodiac year animal"},
"zodiac.element": {"norm": {"lo": 0, "hi": 1}, "label": "zodiac year element"},
"zodiac.hour": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.1, "beta": 0.001}, "label": "hour animal (2h cycle)"},
"season.north": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "northern summer"},
"season.south": {"norm": {"lo": 0, "hi": 1}, "filter": {"min_cutoff": 0.08, "beta": 0.001}, "label": "southern summer"},
"fire.count": {"norm": {"lo": 0, "hi": 600}, "filter": {"min_cutoff": 0.2, "beta": 0.002}, "label": "wildfires worldwide"},
"fire.event": {"type": "event", "attack": 0.01, "decay": 0.5, "label": "new wildfire"},
"midi.note.event": {"type": "event", "norm": {"lo": 0, "hi": 127}, "attack": 0.005, "decay": 0.4, "label": "MIDI note velocity"}
},
"routes": [
{"source": "sun.speed", "dest": "filter.cutoff", "amount": 0.85, "curve": "exp", "label": "the sun opens the master filter"},
{"source": "tof.near", "dest": "filter.cutoff", "amount": 0.5, "curve": "lin", "label": "your hand pushes it further"},
{"source": "crypto.vel", "dest": "perc.density", "amount": 0.8, "curve": "scurve", "label": "BTC volatility drives the hats"},
{"source": "crypto.vel", "dest": "tempo.nudge", "amount": 0.25, "curve": "scurve", "label": "the market nudges the tempo"},
{"source": "crypto.price", "dest": "lead.note", "amount": 1.0, "quantize": {"scale": "minor_pent", "root": 60, "octaves": 2}, "label": "bitcoin plays the lead melody"},
{"source": "air.pm25", "dest": "saturation", "amount": 0.75, "curve": "exp", "label": "Delhi's air becomes grit"},
{"source": "air.aqi", "dest": "glitch", "amount": 0.3, "curve": "exp3", "label": "worse air, more glitch"},
{"source": "wiki.rate", "dest": "granular.density", "amount": 0.6, "curve": "lin", "label": "the internet's pulse = texture"},
{"source": "wiki.edit.event", "dest": "glitch", "amount": 0.9, "curve": "lin", "label": "every human edit = a glitch burst"},
{"source": "quake.event", "dest": "reverb.size", "amount": 1.0, "gate": 0.35, "label": "earthquakes open the void"},
{"source": "quake.event", "dest": "master.space", "amount": 0.9, "label": "and swell the whole field"},
{"source": "quake.depth", "dest": "bass.note", "amount": 1.0, "quantize": {"scale": "minor", "root": 28, "octaves": 2}, "label": "deep quakes choose the bass note"},
{"source": "weather.temp", "dest": "pad.brightness", "amount": 0.6, "curve": "scurve", "label": "warmth in Tokyo = brighter pads"},
{"source": "weather.wind", "dest": "lfo.rate", "amount": 0.55, "curve": "lin", "label": "wind speed = modulation rate"},
{"source": "weather.pressure","dest": "drone.voices", "amount": 0.4, "curve": "lin", "label": "barometric pressure = drone weight"},
{"source": "iss.vel", "dest": "wavetable.morph", "amount": 0.4, "curve": "lin", "label": "the ISS drifts the timbre"},
{"source": "sats.best_elev", "dest": "pad.brightness", "amount": 0.4, "curve": "scurve", "label": "something overhead brightens the pads"},
{"source": "sats.pass.event", "dest": "delay.feedback", "amount": 0.7, "label": "a satellite pass throws the delay"},
{"source": "sats.recon_elev", "dest": "lfo.rate", "amount": 0.35, "curve": "lin", "label": "the sky watching back sets the LFO"},
{"source": "tof.cx", "dest": "wavetable.morph", "amount": 0.9, "curve": "lin", "label": "your hand X morphs the wavetable"},
{"source": "tof.cy", "dest": "delay.feedback", "amount": 0.7, "curve": "scurve", "label": "your hand Y feeds the delay"},
{"source": "light.lux", "dest": "reverb.size", "amount": 0.5, "curve": "lin", "label": "room light sizes the reverb"},
{"source": "light.flash.event","dest": "glitch", "amount": 1.0, "label": "a flash triggers a glitch"},
{"source": "planes.count", "dest": "drone.voices", "amount": 0.5, "curve": "lin", "label": "aircraft aloft = drone density"},
{"source": "planes.avgalt", "dest": "pad.brightness", "amount": 0.3, "curve": "lin", "label": "altitude tilts the pad"},
{"source": "hand.open", "dest": "filter.cutoff", "amount": 0.6, "curve": "lin", "label": "open palm opens the filter (cam)"},
{"source": "audio.rms", "dest": "master.space", "amount": 0.4, "curve": "lin", "label": "room loudness feeds the space"},
{"source": "audio.centroid", "dest": "pad.brightness", "amount": 0.35, "curve": "lin", "label": "room brightness -> pad brightness"},
{"source": "sky.day", "dest": "pad.brightness", "amount": 0.7, "curve": "scurve", "label": "local daylight raises the pads"},
{"source": "sky.elev", "dest": "master.space", "amount": 0.3, "curve": "lin", "label": "the sun's height sets the space"},
{"source": "clock.popvel", "dest": "drone.voices", "amount": 0.4, "curve": "lin", "label": "humanity's growth thickens the drone"},
{"source": "clock.births", "dest": "pad.brightness", "amount": 0.2, "curve": "lin", "label": "the birth rate lifts the pads"},
{"source": "clock.deaths", "dest": "saturation", "amount": 0.2, "curve": "lin", "label": "the death rate adds weight"},
{"source": "market.velocity", "dest": "perc.density", "amount": 0.7, "curve": "scurve", "label": "your dealgod market drives the hats"},
{"source": "market.velocity", "dest": "tempo.nudge", "amount": 0.2, "curve": "scurve", "label": "market activity nudges the tempo"},
{"source": "market.turnover", "dest": "saturation", "amount": 0.5, "curve": "exp", "label": "pricier gear moving = more grit"},
{"source": "market.turnover", "dest": "lead.note", "amount": 1.0, "quantize": {"scale": "dorian", "root": 55, "octaves": 2}, "label": "your market plays the lead"},
{"source": "astro.moon", "dest": "master.space", "amount": 0.6, "curve": "scurve", "label": "the moon phase sets the tide of space"},
{"source": "astro.moon_lon", "dest": "lfo.rate", "amount": 0.4, "curve": "lin", "label": "the Moon's wheel drives the LFO"},
{"source": "astro.tension", "dest": "saturation", "amount": 0.45, "curve": "exp", "label": "hard aspects = dissonant grit"},
{"source": "astro.harmony", "dest": "pad.brightness", "amount": 0.4, "curve": "scurve", "label": "a harmonious sky brightens the pads"},
{"source": "astro.saturn", "dest": "drone.voices", "amount": 0.4, "curve": "lin", "label": "Saturn's slow wheel weights the drone"},
{"source": "astro.mars", "dest": "wavetable.morph", "amount": 0.3, "curve": "lin", "label": "Mars morphs the timbre"},
{"source": "astro.mercury_retro","dest": "delay.feedback", "amount": 0.6, "curve": "lin", "label": "Mercury retrograde smears the delay"},
{"source": "astro.retro", "dest": "glitch", "amount": 0.3, "curve": "exp", "label": "the more retrogrades, the more glitch"},
{"source": "almanac.element", "dest": "wavetable.morph", "amount": 0.4, "curve": "lin", "label": "the moon's element steps the timbre (root/leaf/flower/fruit)"},
{"source": "almanac.fertile", "dest": "pad.brightness", "amount": 0.3, "curve": "scurve", "label": "fertile days brighten the pads"},
{"source": "almanac.dec", "dest": "lfo.rate", "amount": 0.25, "curve": "lin", "label": "the moon rising/falling sets the LFO"},
{"source": "debt.vel", "dest": "saturation", "amount": 0.4, "curve": "exp", "label": "the debt churn grinds the saturation"},
{"source": "debt.total", "dest": "drone.voices", "amount": 0.3, "curve": "lin", "label": "the weight of the debt as a drone"},
{"source": "econ.inflation", "dest": "tempo.nudge", "amount": 0.2, "curve": "scurve", "label": "inflation quietly presses the tempo"},
{"source": "econ.inflation", "dest": "master.space", "amount": 0.3, "curve": "lin", "label": "inflation erodes the space"},
{"source": "world.poverty", "dest": "drone.voices", "amount": 0.35, "curve": "lin", "label": "the world's poverty weights the drone"},
{"source": "world.hunger", "dest": "saturation", "amount": 0.25, "curve": "lin", "label": "hunger grinds under everything"},
{"source": "world.lifeexp", "dest": "pad.brightness", "amount": 0.2, "curve": "lin", "label": "longer lives, brighter pads"},
{"source": "fire.count", "dest": "saturation", "amount": 0.4, "curve": "exp", "label": "the world's wildfires burn the saturation"},
{"source": "fire.event", "dest": "glitch", "amount": 0.8, "curve": "lin", "label": "each new fire flares a glitch"},
{"source": "season.north", "dest": "pad.brightness", "amount": 0.3, "curve": "scurve", "label": "northern summer brightens"},
{"source": "zodiac.hour", "dest": "wavetable.morph", "amount": 0.3, "curve": "lin", "label": "the hour animal turns the timbre"}
]
}