{ "_comment": "Planet visuals + home-planet rules + the solar system's layout. texture is a spritesheet of frameWidth×frameHeight frames (frame 0 = top-left); frames maps a planet kind to the sheet frames it may be drawn as — the generator picks one per planet (seed-deterministic). homePlanet is the player's world — always present at the origin of the system they start in. scale = world pixels per sheet pixel (1.0 = 1:1, so a Terran world is 1024 px across on screen). A planet is a solid disc: the ship may approach to shipClearance px (edge-to-edge) from its rim but can never cross it. spawnDistanceFromEdge = how far (edge-to-edge) the ship starts from the home world's rim. classScale = size multiplier per planet class (1.0 = 1024 px across); classTint = optional canvas tint per class (multiplicative — the terran art stands in for every kind until real art lands). solarSystem = the top-down layout band: the other worlds of a system sit minOrbit–maxOrbit px from the origin, at least minEdgeGap px (edge-to-edge) apart from each other and the origin.", "texture": "assets/images/planets.png", "frameWidth": 1024, "frameHeight": 1024, "scale": 1.0, "frames": { "terran": [0, 1, 2], "rocky": [0, 1, 2], "gas": [0, 1, 2], "ice": [0, 1, 2], "lava": [0, 1, 2] }, "classScale": { "rocky": 1.0, "gas": 1.45, "ice": 0.85, "lava": 0.95 }, "classTint": { "rocky": "#e8d9b8", "gas": "#ffb066", "ice": "#cfeaff", "lava": "#ff8a5c" }, "typeLabels": { "terran": "Home World", "rocky": "Rocky World", "gas": "Gas Giant", "ice": "Ice World", "lava": "Lava World" }, "homePlanet": "terran", "homeName": "Terra", "homeTypeLabel": "Home World", "shipClearance": 50, "spawnDistanceFromEdge": 150, "solarSystem": { "enabled": true, "minOrbit": 2600, "maxOrbit": 8800, "minEdgeGap": 1200 } }