HF_MT_02_EXPLORATION_TRAVERSAL.json

music/complete_tracks/cards/HF_MT_02_EXPLORATION_TRAVERSAL.json

{
 "card_id": "HF_MT_02_EXPLORATION_TRAVERSAL",
 "cue_role": "exploration_traversal",
 "cue_class": "block_shuffle_field",
 "working_title": "The Road Between",
 "chapters_served": [
  "CH_02",
  "CH_03",
  "CH_05",
  "CH_06",
  "CH_08",
  "CH_10",
  "CH_11"
 ],
 "target_duration_s": 188,
 "loop_class": "phrase_pool",
 "in_game_loop_span_s": 188,
 "bpm": 92,
 "tempo_band": "T3_walking",
 "key": "G mixolydian",
 "modal_colour": "Mixolydian; the flat-7 is the travel colour and never resolves upward",
 "instrumentation_family": "strings_and_winds_chamber",
 "instrumentation": [
  "solo clarinet",
  "solo oboe",
  "flute",
  "bassoon",
  "violin ens (quiet)",
  "viola ens",
  "cello ens",
  "contrabass",
  "harp"
 ],
 "voice_count_target": 9,
 "energy_class": "E04_open_warm",
 "dynamic_range_target_db": 18,
 "total_bars": 96,
 "form": [
  {
   "label": "A_block_1",
   "bars": 8,
   "function": "head statement, clarinet"
  },
  {
   "label": "A_block_2",
   "bars": 8,
   "function": "same head, oboe -- call-and-response across two timbres (PHRASE-03)"
  },
  {
   "label": "B_block_1",
   "bars": 8,
   "function": "continuation, bass reverses direction of travel (PHRASE-06)"
  },
  {
   "label": "B_block_2",
   "bars": 8,
   "function": "continuation variant, counter-line added"
  },
  {
   "label": "C_block_1",
   "bars": 8,
   "function": "relative-minor block; the road turns"
  },
  {
   "label": "C_block_2",
   "bars": 8,
   "function": "same, strings only -- the break (LOOP-05)"
  },
  {
   "label": "D_block_1",
   "bars": 8,
   "function": "return block, harp arpeggiation under the head"
  },
  {
   "label": "D_block_2",
   "bars": 8,
   "function": "exit block, half cadence into any other block"
  },
  {
   "label": "E_block_1",
   "bars": 8,
   "function": "high-altitude block, flute leads, no low strings"
  },
  {
   "label": "E_block_2",
   "bars": 8,
   "function": "night block, the head at half density in the bassoon"
  },
  {
   "label": "state_calm",
   "bars": 8,
   "function": "idle variant: the head at half density, no bass"
  },
  {
   "label": "state_threat",
   "bars": 8,
   "function": "enemy-near variant: same head, minor third substituted, cellos low"
  }
 ],
 "motif_stated": [
  "JOURNEY_WORLD"
 ],
 "motif_developed": [
  "FAM_THE_SUBSTRATE"
 ],
 "motif_operation": "carrier migration per block; the tune never changes, the voice does",
 "distinct_motifs": 4,
 "anti_tiling": "Twelve interchangeable blocks with a compatibility matrix, ordered at run time (FORM-04 / LOOP-08 / EARWORM R11). No fixed loop exists to tile. The stated duration is one traversal of the pool, not the pool's period.",
 "laws": [
  "KONDO FORM-04",
  "KONDO PHRASE-03",
  "KONDO PHRASE-06",
  "SNES LOOP-08",
  "SNES LOOP-09",
  "EARWORM R9",
  "EARWORM R10",
  "EARWORM R11"
 ],
 "canon_refs": [
  "docs/proposals/music/LEITMOTIF_ARCHITECTURE.md section 4",
  "T0_Chapter_Index.mode_variety_check"
 ],
 "care_notes": "JOURNEY_WORLD may never become the recurring threat cue for any region it enters (LEITMOTIF_ARCHITECTURE section 4). The state_threat variant is a THREAT state, not a PLACE colour, and it is scored identically in every region.",
 "substrate_confidence": "full",
 "reveal_gate": "NONE",
 "interactive_hook": "Block selection is driven by player cadence: standing still selects state_calm within one bar boundary; an enemy in range selects state_threat on the next downbeat, never mid-bar (LOOP-06).",
 "region": null,
 "region_page": null,
 "short_loop_justification": null,
 "_doc": "A per-track IDENTITY CARD. It says what the track IS on the axes a listener hears in the first four seconds, so that no two tracks in the roster read as the same track. Consumed by the composition lane; scored against build/audio/complete_tracks/SAMENESS_BASELINE.md.",
 "_emitter": "harness/music_gen/emit_identity_cards.py",
 "_ruling_served": "Josh 2026-08-05 -- 12 to 20 complete tracks with real orchestral complexity, not one 30-second texture fifteen times.",
 "tempo_band_range_bpm": [
  80,
  99
 ],
 "instrumentation_family_meaning": "a reduced chamber body: strings and woodwinds only, no brass, no percussion.",
 "energy_class_meaning": "walking pace, unhurried travel, room to breathe.",
 "time_signature": "6/8",
 "beats_per_bar_quarter_equivalents": 3,
 "bar_seconds": 1.9565,
 "_duration_is_derived": "total_bars x beats_per_bar x 60 / bpm -- not hand-declared",
 "target_duration_mmss": "3:08",
 "form_summary": "A_block_1(8) - A_block_2(8) - B_block_1(8) - B_block_2(8) - C_block_1(8) - C_block_2(8) - D_block_1(8) - D_block_2(8) - E_block_1(8) - E_block_2(8) - state_calm(8) - state_threat(8)",
 "section_count": 12,
 "loop_point_cadence": "weakened -- half cadence or a bVII substitution, never a perfect authentic cadence (KONDO PHRASE-05, the anti-fatigue law)",
 "stack_coverage": {
  "current_stack": "sfizz 1.2.3 + VSCO2-CE + VCSL (23 instruments, CC0; CPU render)",
  "renderable_today": true,
  "missing_classes": [],
  "sourcing_action": "none -- the landed stack covers this card.",
  "honest_note": "The shipped cohort's 'one instrument set' is PARTLY a stack constraint: the landed 23 instruments contain no percussion, no choir, no trumpet, no tuba and no period instrument. A card that names them is naming what has to be acquired, not claiming it exists."
 },
 "order": 2
}

Generated by harness/site/structure_site.py — the URL path is the repo path. review root