orbit/data/map.json

146 lines
5.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_comment": "MAP — the deck's MAP button (to the right of SHIP): the full-screen cartography console, js/ui/MapWindow.js (depth 80, the ResearchWindow idiom). LEFT = the cartography feed (assets/videos/map.mp4, a muted 2:3 loop, the same recipe as the research archive feed). RIGHT = tabs on top (CURRENT SYSTEM is live; GALAXY is a reserved socket — pressing it toasts the lock line), the SYSTEM CHART in the middle, and the SYSTEM readout on the bottom (name + discovery % + resource %). THE CHART (the magic, drawn to a canvas texture): the whole solar system — every object's extent (planets, stations, gates AND asteroid clusters, discovered or not) + `bounds.padding` px of padding on each edge — fitted to the plate. Only DISCOVERED objects are drawn (planets / stations / gates / rock fields, small representations). The TETHER RANGE is drawn as the union boundary (Tether.visibleArcs) with a soft zone glow inside, and everything OUTSIDE the tether union is grayed out (a fog-of-war dim pass with feathered rim) — so the chart reads as 'here is what you have charted, and here is the room to expand'. A live SHIP marker + hover tooltips + click-to-autopilot (GameScene.autopilotTo) sit on top. All colors/motion are steered here.",
"enabled": true,
"title": "STELLAR CARTOGRAPHY",
"meta": "NAV DATA // LIVE FEED",
"video": {
"_comment": "The cartography feed (like research.video): `file` is the clip under assets/videos/ (or a full relative path / URL). Muted, looping, 2:3 portrait (map.mp4 is 544×800). A missing file leaves the NO SIGNAL plate up — the console still works.",
"file": "map.mp4",
"aspect": [
2,
3
]
},
"tabs": {
"_comment": "The two sockets above the chart (top right). `currentSystem` is the live tab (default). `galaxy` is reserved — `standby: true` renders it dimmed with the standbyTag, and a press fires the scene's onLocked (a console toast) instead of switching.",
"currentSystem": {
"id": "currentSystem",
"label": "Current System",
"accent": "#00e5ff"
},
"galaxy": {
"id": "galaxy",
"label": "Galaxy",
"accent": "#ffc94d",
"standby": true,
"standbyTag": "OFFLINE"
}
},
"galaxyLockedToast": "GALAXY MAP OFFLINE — SECTOR DATA NOT ACQUIRED",
"bounds": {
"_comment": "The chart's frame: the furthest X/Y extents of EVERY object in the system (planets, stations, gates, asteroid clusters — discovered or not) plus this much padding, px, on each edge (the design rule: ~1024).",
"padding": 1024
},
"chart": {
"_comment": "The plate's rendering (the canvas texture is redrawn on open / on discovery / on tether changes). colors follow theme.json (neon cyan range, amber alerts). grid.spacing = the world-px step of the adaptive grid (snapped to 1/2/5×10^k). glow = the soft light pooled inside each tether zone (fraction of the zone radius the gradient spans, and its strength). labels = the small name tags under NAV objects.",
"colors": {
"bg": "#040914",
"bgGlow": "#0a2238",
"star": "#9fd8ff",
"grid": "#1b3a5a",
"gridAlpha": 0.28,
"ink": "#eaf6ff",
"dim": "#7d92c4",
"faint": "#3d4c74",
"tether": "#00e5ff",
"tetherGlow": "#00e5ff",
"neon2": "#ff2d6f",
"amber": "#ffc94d",
"fog": "#111c33",
"fogAlpha": 0.55
},
"grid": {
"spacing": 512,
"alpha": 0.28
},
"glow": {
"span": 0.92,
"alpha": 0.22
},
"tetherLine": {
"dash": 7,
"gap": 5,
"width": 2,
"coreWidth": 1,
"ghost": 2.5
},
"labels": {
"enabled": true,
"size": 10,
"letterSpacing": 1.2
},
"planetMin": 4,
"planetMax": 16,
"starMin": 7,
"starMax": 30,
"vignette": 0.34
},
"stats": {
"_comment": "The bottom-right SYSTEM readout. discovery = the share of the system's NAV objects (planets + space stations + jump gates — the central body is the chart's anchor, not a count) the player has found; resources = the share of asteroid fields found (the only resource kind for now). Both render as segmented bars (one segment per object) + a percent.",
"discoveryLabel": "SYSTEM DISCOVERY",
"discoveryMeta": "PLANETS · STATIONS · JUMP GATES",
"resourcesLabel": "SYSTEM RESOURCES",
"resourcesMeta": "ASTEROID FIELDS",
"noResources": "NO RESOURCE FIELDS CHARTED"
},
"legend": {
"_comment": "The glyph key under the stats (the chart's visual language).",
"items": [
{
"glyph": "planet",
"label": "WORLD"
},
{
"glyph": "station",
"label": "STATION"
},
{
"glyph": "gate",
"label": "JUMP GATE"
},
{
"glyph": "rock",
"label": "ROCKS"
},
{
"glyph": "tether",
"label": "TETHER RANGE"
},
{
"glyph": "ship",
"label": "SHIP"
}
]
},
"sweep": {
"_comment": "The scan band crawling across the chart (the CRT pass of light).",
"enabled": true,
"everyMs": [
5200,
9800
],
"durationMs": 1500
},
"glitch": {
"_comment": "Ambient glitch bursts over the window (slice bars + title RGB split, the ResearchWindow model).",
"enabled": true,
"intervalMs": [
5000,
11000
],
"durationMs": [
200,
420
]
},
"hover": {
"_comment": "Plate hover: the object under the cursor gets a highlight ring + tooltip. radiusSlop = extra screen-px hit slop (tiny map objects need room).",
"enabled": true,
"radiusSlop": 9
},
"clickToast": {
"_comment": "Plate interaction copy.",
"coursePlotted": "COURSE PLOTTED — {name}",
"noCourse": "NO NAV LOCK — OBJECT NOT CHARTED"
}
}