{
  "name": "Locus multi-world envelope",
  "version": "1.0.0",
  "updated": "2026-07-25",
  "href": "/locus/worlds",
  "slogan": "sun is the harvest, resonance is the frequency — on any world with a sun and a mass",
  "purpose": "Grow-your-own energy and resonance harvesters useful on Earth, the Moon, and Mars under the same protocol with world-specific envelopes.",
  "invariant": {
    "sun_only_primary": "Electrical primary harvest is solar (or light taken from it). Resonance is match frequency, not a second source.",
    "ledger": "Co-log drive (irradiance or mechanical) with output. Binary pass. Separate ledgers: electrical, biomass, piezo.",
    "schemes": ["grow_your_own_energy", "resonance_harvester"],
    "lab_log": "locus-lab-log/1 + environment.world"
  },
  "worlds": [
    {
      "id": "earth",
      "name": "Earth",
      "body": "Terra",
      "g_m_s2": 9.81,
      "g_earth": 1.0,
      "atm_kpa": 101.3,
      "atm_note": "N2/O2, convection cooling available",
      "solar_wm2_toa": 1361,
      "solar_wm2_surface_typical": 1000,
      "solar_note": "AM1.5 class surface; weather and latitude dominate",
      "day_night": "≈24 h cycle; seasonal",
      "thermal_k": { "min_typical": 220, "max_typical": 330 },
      "dust": "local / pollution / desert — site dependent",
      "water": "available; living layer limited by moisture plan",
      "grow": {
        "L1_collect": "PV as today; tracker optional",
        "L2_match": "MPPT + electrochemical store; grid or island",
        "L3_carry": "PMMA fibre daylighting; green-window organism choice",
        "L4_live": "shade moss tray and/or green algae culture (open or sealed PBR)",
        "L5_envelope": "couple heat, decouple water — vapour barrier + dual T/RH",
        "algae_battery": "default biomass store under fibre; discharge dry/food/hold",
        "night_store": "electrochemical + optional biomass; night is hours not weeks"
      },
      "harvester": {
        "RP0": "1 g foot traffic / sports / transit; f0 tuned for human bounce band ~0.5–3 Hz",
        "drive": "people, traffic, coordinated bounce",
        "notes": "Full SKU ladder Lab / Plaza / Court"
      },
      "skus_primary": ["SKU-GROW-KIT", "SKU-P3", "SKU-RP0-LAB", "SKU-RP0-PLAZA", "SKU-RP0-COURT"],
      "pilots": ["pilot_a_proof", "pilot_b_campus", "pilot_c_plaza"],
      "status": "design + kit + instrument_sim corpus; Earth pilots next"
    },
    {
      "id": "moon",
      "name": "Moon",
      "body": "Luna",
      "g_m_s2": 1.62,
      "g_earth": 0.165,
      "atm_kpa": 0,
      "atm_note": "vacuum — no convective cooling; no free oxygen",
      "solar_wm2_toa": 1361,
      "solar_wm2_surface_typical": 1361,
      "solar_note": "No atmosphere attenuation; 14 Earth-day light / 14-day dark polar exceptions",
      "day_night": "≈29.5 Earth days synodic; polar peaks of near-continuous light possible",
      "thermal_k": { "min_typical": 100, "max_typical": 390 },
      "dust": "abrasive regolith; electrostatic cling; seals and optics critical",
      "water": "scarce; polar ice / imported — closed loop only",
      "grow": {
        "L1_collect": "PV or concentrator; dust mitigation (cover, electrostatic, vertical arrays); size for night",
        "L2_match": "MPPT + large electrochemical and/or thermal store for multi-day night; no grid",
        "L3_carry": "fibre or light pipe into pressurized habitat; avoid dust on collector",
        "L4_live": "sealed photobioreactor only (algae preferred over open moss); no open tray to vacuum",
        "L5_envelope": "pressure vessel is the envelope; heat rejection by radiation; water fully decoupled from vacuum",
        "algae_battery": "primary chemical store for dark period complement; CO2 from crew loop",
        "night_store": "dominant design driver — store for ~14 Earth days or polar site selection"
      },
      "harvester": {
        "RP0": "retune f0 for 1/6 g (lower restoring force or mass loading); crew gait / EVA / ISRU plant vibration",
        "drive": "crew traffic in habitats; treadmill / exercise as intentional drive; machinery vibration pads",
        "notes": "Plaza/court scale only inside pressurized volumes or as sealed deck modules; vacuum exterior uses vibration/ISRU coupling not open trampoline"
      },
      "skus_primary": ["SKU-P3-SEALED", "SKU-GROW-PBR", "SKU-RP0-HAB-DECK", "SKU-STORE-NIGHT"],
      "pilots": ["analog_earth_vacuum_chamber", "analog_night_store", "habitat_deck_rp0"],
      "status": "design envelope — no flight hardware claimed"
    },
    {
      "id": "mars",
      "name": "Mars",
      "body": "Mars",
      "g_m_s2": 3.71,
      "g_earth": 0.38,
      "atm_kpa": 0.6,
      "atm_note": "thin CO2; weak convection; dust storms",
      "solar_wm2_toa": 590,
      "solar_wm2_surface_typical": 200,
      "solar_note": "≈43% Earth solar constant at TOA; surface often lower; global dust storms can crash G for sols",
      "day_night": "≈24.6 h sol; seasonal + dust",
      "thermal_k": { "min_typical": 140, "max_typical": 300 },
      "dust": "pervasive; storms; PV and optics must tolerate obscuration",
      "water": "ice / hydrated minerals / imported — closed loop; brines careful",
      "grow": {
        "L1_collect": "oversized PV vs Earth; dust cleaning; diffuse-tolerant arrays; track storms in G log",
        "L2_match": "MPPT + store for storm sols; load shedding rules in lab-log notes",
        "L3_carry": "fibre into habitat; protect entrance optics from dust",
        "L4_live": "sealed PBR algae (CO2-rich ambient is a feedstock if scrubbed/conditioned); moss only inside wet volume",
        "L5_envelope": "habitat pressure; couple heat carefully; water loop separate from cabin electronics",
        "algae_battery": "biomass store + life-support coupling; discharge food path more central than on Moon",
        "night_store": "overnight store like Earth but cold-biased; storm store is the long tail"
      },
      "harvester": {
        "RP0": "retune f0 for 0.38 g; habitat corridors and gym decks; rover dock vibration pads",
        "drive": "crew + exercise + vehicle coupling",
        "notes": "Exterior trampoline not first path; pressurized deck modules preferred"
      },
      "skus_primary": ["SKU-P3-SEALED", "SKU-GROW-PBR", "SKU-RP0-HAB-DECK", "SKU-PV-DUST"],
      "pilots": ["analog_dust_pv", "analog_co2_pbr", "habitat_deck_rp0"],
      "status": "design envelope — no flight hardware claimed"
    }
  ],
  "stack_by_layer": [
    {
      "layer": "L1 Collect",
      "earth": "PV AM1.5, weather",
      "moon": "PV vacuum, dust, 14-day night sizing",
      "mars": "PV ~0.43× TOA, dust storms, oversize"
    },
    {
      "layer": "L2 Match + store",
      "earth": "MPPT + battery / grid",
      "moon": "MPPT + multi-day store or polar siting",
      "mars": "MPPT + storm-resilient store"
    },
    {
      "layer": "L3 Carry",
      "earth": "PMMA fibre daylight",
      "moon": "fibre into pressure volume; dust seals",
      "mars": "fibre into habitat; dust on optics"
    },
    {
      "layer": "L4 Live + algae battery",
      "earth": "moss tray and/or open/sealed algae",
      "moon": "sealed PBR only; closed water",
      "mars": "sealed PBR; CO2 feedstock opportunity"
    },
    {
      "layer": "L5 Envelope",
      "earth": "vapour split wet/dry air",
      "moon": "pressure vessel + radiative heat reject",
      "mars": "habitat pressure + water/electronics split"
    },
    {
      "layer": "M1–M5 Harvester",
      "earth": "outdoor Lab/Plaza/Court",
      "moon": "habitat deck / exercise / vibration; retune f0 for g",
      "mars": "habitat deck / rover; retune f0 for g"
    }
  ],
  "f0_scaling": {
    "note": "For similar membrane stiffness k and mass m, natural frequency f0 = √(k/m)/(2π) is independent of g; bounce drive force and sag under load scale with g — retune tension/mass for crew gait and desired amplitude.",
    "earth_g": 1.0,
    "moon_g": 0.165,
    "mars_g": 0.38
  },
  "measure_extra_channels": {
    "all": ["environment.world", "G", "scheme"],
    "moon_mars": ["P_cabin_kpa", "T_rad_sink", "dust_index", "store_soc"],
    "moon": ["sol_phase_or_lunation_note"],
    "mars": ["sol_number", "dust_storm_flag"]
  }
}
