Adds a new feature row (Row 8) describing the dying mechanic — 1d4+CON
countdown, recovery saves, and permanent death. Screenshot generated via
the Playwright script showing a dying character card with red border in
the DM view.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add dying (pulsing red border + skull countdown in vitals), dead (greyed-out,
skull prefix on name, HP bar no-op), and DM-only Revive button. Wire isDM prop
via role check in CampaignView.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enriches enrichCharacters() and the PATCH handler to fetch and return character_conditions rows,
ensuring character:updated socket broadcasts carry up-to-date dying/condition state.
Adds is_dead and conditions fields to the client Character interface.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tsParticles snow — 60–300 flakes depending on intensity, size variation
for depth, gentle drift via random speed + curved paths. Appears in
atmosphere panel between Rain and Embers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fire: reworked colour ramp (dark red → orange → amber → warm yellow core),
per-column height variation via colFireH for jagged silhouette, ember glow
at base, taller overall height, fire/rain combined in screenshot
- Rain: more translucent (0.15–0.40 opacity), halved speed range, direction
tilts 90°→70° as intensity rises
- Embers: smaller particles (0.8–2.2px), more numerous (50–150)
- Fog: fix opacity jump at ~3s — CSS keyframe animation was overriding the
inline intensity-based opacity value; replaced with CSS transition via
React-managed mounted state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds site/package.json and site/screenshots.js to automate capturing
7 named screenshots of the running Darkwatch app via Playwright/Chromium.
Also adds site/node_modules/ to .gitignore.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wires up InitiativeTracker and CombatStartModal into CampaignView with socket event handlers, a DM-only Combat button, two-column layout with combat sidebar, and responsive CSS.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>