{ "name": "Orbit", "version": "0.2.0", "width": 1280, "height": 720, "backgroundColor": "#04060d", "hintText": "click anywhere to fly · shift+click to hold the heading · click a rock to mine · the tether holds your range", "markerColor": "#41c7ff", "physics": { "default": "arcade" }, "debug": false, "starfield": { "enabled": true, "count": 200, "parallax": [0.15, 0.85], "colors": ["#ffffff", "#b9c6ff", "#8090b8"] }, "nebula": { "_comment": "The nebula GAS layer — soft coloured clouds BEHIND the art (depth 3: above the starfield's 0–2, below the planets at 5 and the ship at 10). Shown only on nebula-type systems, tinted with the system's own atmosphere color (SystemGenerator stamps content.atmosphere.color from this palette). palette = the 8 nebula shades; one is assigned at random to each system at galaxy generation (deterministic per seed). count/alpha/size/parallax/drift tune the look — keep it subtle: a wash of colour, not a wall of it. shapes = how many distinct cloud puffs to vary between (so it doesn't read as one image repeated). texture.* drives each puff (fbm value-noise for structure, wide radial falloff so it has no hard edge).", "enabled": true, "palette": ["#f0884a", "#ecd23e", "#4fe08a", "#3fd6d6", "#5b9bf2", "#9a7ff5", "#e06fe0", "#f25f7a"], "count": 6, "alpha": [0.12, 0.22], "size": [420, 900], "parallax": [0.10, 0.22], "drift": 2.5, "shapes": 3, "texture": { "size": 256, "octaves": 4, "persistence": 0.55 } }, "camera": { "followShip": true, "followRate": 3.0 }, "discovery": { "_comment": "Discovery rule: when the ship gets within distance px of an object's edge (edge-to-edge), the object is discovered — and stays discovered for the rest of the galaxy. compass = the off-screen arrows: edgeInset px in from the screen edge, and minSeparation px kept between arrows so they never stack; farDistance px from the SHIP is where the FAR display begins — the arrow shrinks to farArrowScale and the chip folds to a smallBox px text-less box (hovering the small box expands it back to the full readout); smallHitSlack = hover/click slack (px) around the small box so it stays an easy target. expandDelay/collapseDelay (ms) = the hover INTENT on the small box: the expand waits expandDelay after the pointer enters (a flick over doesn't pop it) and the fold-back waits collapseDelay after the pointer leaves (hover back within the grace and it stays expanded).", "distance": 540, "compass": { "edgeInset": 26, "minSeparation": 130, "farDistance": 5120, "farArrowScale": 0.6, "smallBox": 26, "smallHitSlack": 16, "expandDelay": 300, "collapseDelay": 2000 } } }