Replace the condensed battle reference with full ship-related content
from the complete Spelljammer reference. Now includes 18 sections:
General Spelljamming Rules, Ships, Ship Size, Maneuverability, Weapons,
Targeted Shots, Combat Turn, Complications, On-Deck/Below-Deck, Big
Damage rules, Ship & Weapon Stats (Appendix A), Subsystems & Upgrades
(Appendix B), Magic Items (Appendix C), NPC Crew (Appendix D),
Recovering Hull Points, Advanced Rules, Stunts (Appendix G), and a
Quick Reference checklist. Excludes Cards/Deck Building and Appendix F
(enemies) per request.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ship and weapon updates now apply locally immediately so stepper clicks
feel instant. Server sends are debounced (300ms) and batched so rapid
clicks produce a single network call.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tap the number to type a value directly instead of clicking +/- repeatedly.
Input auto-selects, commits on Enter/blur, cancels on Escape, and clamps
to min/max constraints.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes ECONNREFUSED ::1:3000 on Windows where localhost resolves to IPv6
but Fastify binds to IPv4 (0.0.0.0).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Includes development setup, Docker deployment, API reference, WebSocket events,
troubleshooting guide, and curl-based test script. Updates App plan.md with
implementation completion status.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multi-stage Docker build (web → server → production). Fastify serves
React build in production with SPA fallback. Docker Compose with volume
for SQLite persistence.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Embeds Battle reference.md content as collapsible sections with markdown
rendering, expand/collapse all controls, and styled tables and blockquotes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extracts reusable ConfirmDialog component, refactors ship delete to show
the ship name in confirmation, and improves interaction consistency.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds WeaponCard with inline ammo stepper and status dropdown, AddWeaponModal,
WeaponDetailModal with full editing, and debounced NotesSection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds NumericStepper and EnumDropdown UI components, VitalsSection (hull/armor/AC/con),
MobilitySection (speed/maneuver class/size), with debounced real-time updates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds ship cards with navigation, create ship modal with initial stats,
inline delete confirmation, and supporting CSS for modals and cards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements ship list store (REST-based) and ship detail store (Socket.IO-based)
with room join/leave, reconnection handling, and real-time event listeners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds react-router-dom with routes for ship list, dashboard, and rules pages.
Includes TopBar with navigation and mobile-first dark theme CSS.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements ship:join/leave/update and weapon:create/update/delete socket events
with room-based broadcasting. Server validates and persists before broadcasting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds POST/PATCH/DELETE for weapons with ammo constraint validation,
status enum checks, and ship existence verification on create.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds GET/POST/PATCH/DELETE /api/ships with constraint validation (current <= max),
enum checks for maneuver_class, and cascade delete for weapons.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds better-sqlite3 with WAL mode, auto-migration runner that tracks applied
migrations, and initial schema for ships and weapons tables with constraints.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up monorepo structure with server/ (Fastify + TypeScript) and web/ (React + Vite + TypeScript).
Includes package configs, dev proxy setup, and mobile-first CSS foundation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>