Commit Graph

3 Commits

Author SHA1 Message Date
d139dc08d9 feat(gameplay): add starting base module and refine galaxy/character creation systems
Co-Authored-By: Oz <oz-agent@warp.dev>
2026-06-12 23:40:33 -04:00
8a966b9584 Slow orbital periods for readability at galaxy-inspection scale
- Introduce ORBITAL_PERIOD_SCALE = 4.0 multiplier so planets/stations/
  gas clouds/anomalies all orbit visibly slower. At inspection-scale
  zoom the un-scaled periods (≈2.5s per unit of radius) made bodies
  spin like tops; tuned for a calm browsing pace.
- Default Orbit angular_velocity 0.5 → 0.15 (≈40s per revolution).
- Update orbital_period unit tests for the new scale factor.
2026-06-07 22:19:46 -04:00
c14f684b09 Add galaxy parameter UI, star selection, and movement/physics scaffolding
Galaxy creation scene (Bevy 0.16):
- Split into module folder: params.rs, mod.rs (generation + spawn), ui.rs,
  selection.rs
- GalaxyParams resource (seed, count, arms, vertical_arms, size, twist,
  vertical_twist) with generation counter for change detection
- Control panel: 7 +/- slider rows + Regenerate button, no native Bevy slider
  widget so uses label + icon buttons
- Info panel: live-refreshes on selection change via despawn_related::<Children>
- Click-to-select: screen-space picking (project each star to viewport, closest
  within 18px threshold wins); selected star lerps scale to 2.2x
- Generation faithfully ports the docs TS reference including vertical arms
- Regeneration system: despawns GalaxyScene root only, preserves UI panels

Camera:
- Camera2d -> Camera3d + OrbitCamera (left-drag yaw/pitch, scroll zoom,
  pitch/distance clamped to avoid gimbal)
- Orbit drag suppressed when cursor over UI

New plugins (scaffolding):
- movement/: Velocity, MaxSpeed, TurnRate, Drag, MoveTarget, Player components
  + click-to-move (no player spawned yet)
- physics/: pure-data geometry (ray_vs_sphere, overlaps, separate,
  segment_vs_sphere) with 7 passing unit tests; no systems wired yet
- star_map/: plugin skeleton gated on AppState::InGame

Shared:
- ui/util.rs: cursor_over_ui helper for UI-hover detection
- docs: ARCH-9 decision record (custom movement & collision, no physics engine)
2026-06-04 12:29:33 -04:00