Commit Graph

5 Commits

Author SHA1 Message Date
Brian Fertig 508feea4c9 feat(mastervega): split colony management into full-screen colony view
Move colony management (sliders, build queue, catalogue) from the
system-view modal into a dedicated full-screen colony view
(VegaColonyView.js). The system view now inspects worlds read-only
with a "View Colony" button to open the management screen.

Key changes:
- Add VegaColonyView.js with colony screen, build queue flyout,
  scrolling catalogue, allocation sliders with padlocks, and
  planet-type backdrops
- Add world backdrop artwork support (1920×1080, one per planet type)
  declared in mastervega-artwork.json worldBackgrounds
- Add headless queue helpers to VegaLogic.js: collapseQueue,
  moveQueueRun, colonyBuildRate, queueEtas, enqueueMany
- Fix star map pointer blocking (drags no longer pan map through modal)
- Move ORBIT constant to VegaScreens.js, add D.colony depth layer
- Update docs (build-plan, sprites) and verification suite

The colony screen stacks over the system view without requiring a
second modal, hiding the system layer and pausing the orrery while
open.
2026-08-02 11:49:33 -06:00
Brian Fertig b0efbe3a44 feat(mastervega): add star map command panel and fleet detachment system
Introduce VegaSidePanel, a right-hand command panel with three modes:
star (system summary), fleet (ship count selectors), and order
(distance, ETA, Accept/Cancel). Replaces the inline fleet-order flow
with a callback-driven architecture where the scene owns selection
state and the panel only reads the engine and reports clicks.

Add fleet detachment logic to VegaLogic:
- splitFleet: carve a new idle fleet from an existing one
- sendDetachment: validate against actual stacks, normalize duplicates,
  probe reachability on a copy, and rollback on refusal
- etaTo: compute ETA scoped to the selected detachment (slowest hull
  in the selection, not the whole fleet)

VegaStarMap gains blockPointer (prevent pan/zoom over the panel),
onEmptyClick (dismiss panel by clicking void), and a rotating selection
reticle.

Section 4b adds ~32 verification checks covering ETA accuracy, ship
conservation, out-of-range refusals, duplicate normalization, star-base
immobility, and the idle-fleet merge rule.

Updates mastervega-build-plan.md to document the new panel and
verification section.
2026-08-02 08:38:22 -06:00
Brian Fertig 7f1cfcc982 fix(mastervega): build per-galaxy zoom ladder and eliminate pan slack
- Add VegaZoom.js with Phaser-free zoom ladder builder, verifiable headlessly
- Replace hardcoded ZOOMS array with galaxy-sized ladder anchored so the
  bottom rung exactly covers the viewport
- Remove 160 px of pan slack in clampPan so empty space can never be dragged
  into view
- Key semantic-zoom thresholds (isFarZoom / isNearZoom) to ladder index
  instead of absolute scale, keeping behaviour consistent across galaxy sizes
- Add section 3b to verifyMasterOfVega.js with 163 new checks covering
  ladder coverage, covering-zoom invariant, top-rung reach, and tiny-galaxy
  single-step collapse
2026-08-02 00:18:00 -06:00
Brian Fertig d789da4582 feat(masterofvega): add species portraits, speech, landing screen, and music
- Add video, still, and procedural three-tier portrait system for all 10 species
- Add species-specific speech clips and UI voiceover (SpeechQueue integration)
- Add landing screen with New Game / Resume / Return to Arcade buttons
- Add species detail pop-over with animated expand/collapse and auto-introduction
- Add game-specific soundtrack (masterofvega-music.json, 4 tracks)
- Add video asset type support in assetLoader and PreloadScene
- Add portraitVideos and portraitStills sections to artwork manifest
- Add verification for portraits, speech clips, and music tracks
- Update sprites.md with documentation for new assets and filenames
2026-08-02 00:04:06 -06:00
Brian Fertig 91f63b76a2 feat: add Master of Vega (Master of Orion clone)
Introduces Master of Vega, a turn-based 4X strategy game built on MOO1 rules with MOO2 conveniences. The implementation features a fully headless, deterministic engine (VegaLogic) with zero Phaser dependencies, enabling complete Node-based verification (809 checks) and reproducible galaxy generation via mulberry32 RNG.

Key features:
- Preset ship hulls with an auto-refitting Mark system and provably monotonic knapsack loadouts.
- Tactical grid combat with banked damage resolution to eliminate first-strike bias.
- Galactic Council diplomacy, stalemate-breaking, and invasion forecasting.
- Drop-in artwork compatibility with procedural stand-ins for all spritesheets.
- Hireable leaders (admin/captain) and colony building queues.

Architecture splits cleanly into headless modules (GalaxyGen, Logic, AI, Combat, Diplomacy, Ships, Leaders) and a render tier (StarMap, SystemView, CombatView, Screens, Nebula, Art, Fx). A comprehensive build plan documents 19 architectural traps discovered and resolved during development.

Registers the game in the registry, asset manifest, preload scene, and soundtrack service. Includes tools/verifyMasterOfVega.js for automated rule validation, art verification, economy balancing, and AI self-play soaking.
2026-08-01 22:17:31 -06:00