Commit graph

130 commits

Author SHA1 Message Date
Aaron Wood
6114aef307 fix: broadcast character:updated on rest to clear Dying; clamp HP to 0 minimum
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 01:44:53 -04:00
Aaron Wood
7cfe677126 fix: rounds_remaining null fallback; is_dead guard on dying tag; flex layout 2026-04-12 01:41:43 -04:00
Aaron Wood
bf7db6bd4c feat: dying label and Roll Recovery button in InitiativeTracker active phase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 01:39:18 -04:00
Aaron Wood
52f792d63b fix: preserve base card shadows in dyingPulse; prevent transition conflict 2026-04-12 01:37:36 -04:00
Aaron Wood
d39d6fa9b7 feat: CharacterCard dying pulse border + countdown; dead state; DM Revive button
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>
2026-04-12 01:34:40 -04:00
Aaron Wood
f853fdbce3 fix: death:recovery-roll — add is_dead guard, try/catch, ownership check, subtype 2026-04-12 01:32:24 -04:00
Aaron Wood
43a5b85dcf feat: death:recovery-roll socket handler — d20 save, 18+ stands at 1 HP 2026-04-12 01:29:21 -04:00
Aaron Wood
0cf3e4583c fix: guard charRow[0] in tickDeathTimers; remove redundant cast 2026-04-12 01:28:24 -04:00
Aaron Wood
612843da39 feat: tick Dying timer on party turn; mark is_dead when timer expires
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 01:26:14 -04:00
Aaron Wood
d4790edc1a feat: auto-start Dying condition when HP hits 0, clear when HP recovers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 01:23:21 -04:00
Aaron Wood
ee6026b8b4 fix: include conditions: [] in character:created response 2026-04-12 01:21:33 -04:00
Aaron Wood
a280cef875 feat: include conditions in character responses; add is_dead + conditions to Character type
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>
2026-04-12 01:19:45 -04:00
Aaron Wood
89a9e85a4b feat: add is_dead column to characters (death timer migration 004) 2026-04-12 01:17:10 -04:00
Aaron Wood
4c10fe80ac docs: add death timer implementation plan 2026-04-12 01:05:36 -04:00
Aaron Wood
44b482e173 docs: add death timer design spec 2026-04-12 00:49:30 -04:00
Aaron Wood
7c7bdf2ee5 chore: consolidate docs into flat structure and commit all plans
- Move docs/superpowers/{plans,specs}/ → docs/{plans,specs}/
- Add 4 previously untracked implementation plans to git
- Update CLAUDE.md with docs path overrides for superpowers skills
- Update HANDBOOK.md repo structure and workflow paths
- Add per-enemy dice rolls to ROADMAP planned section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 23:55:45 -04:00
Aaron Wood
7d96b53629 chore: commit project permission settings for Claude Code 2026-04-11 23:49:29 -04:00
Aaron Wood
49295efe58 chore: changelog v0.3.0 and handbook for snow effect 2026-04-11 23:30:55 -04:00
Aaron Wood
a923e1b226 feat: add snow atmosphere effect
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>
2026-04-11 23:30:39 -04:00
Aaron Wood
97954de110 docs: update handbook for atmosphere polish and brochure site 2026-04-11 22:24:43 -04:00
Aaron Wood
348cfb573e chore: changelog v0.2.0 2026-04-11 22:24:18 -04:00
Aaron Wood
1e881764e3 polish: improve atmosphere effects and fix fog opacity jump
- 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>
2026-04-11 22:24:05 -04:00
Aaron Wood
3059fbaedf feat: add brochure screenshots and fix Playwright capture selectors 2026-04-11 19:52:12 -04:00
Aaron Wood
4b46be9e1b feat: add update-brochure skill and register in CLAUDE.md 2026-04-11 19:01:21 -04:00
Aaron Wood
e1cf22cae4 feat: add Playwright screenshot script for brochure
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>
2026-04-11 18:34:07 -04:00
Aaron Wood
c11d6721f9 feat: add smooth scroll and hero parallax 2026-04-11 18:32:00 -04:00
Aaron Wood
9b183ef806 feat: add brochure system support, publisher, and footer sections 2026-04-11 18:30:54 -04:00
Aaron Wood
6d0fee941e feat: add brochure feature rows 2026-04-11 18:29:43 -04:00
Aaron Wood
8fb59b5c17 feat: add brochure hero section 2026-04-11 18:27:32 -04:00
Aaron Wood
4a1a956ab3 feat: add brochure CSS foundation and screenshot directory 2026-04-11 18:25:28 -04:00
Aaron Wood
b1e37c9e77 docs: update brochure spec with placeholder contact email 2026-04-11 18:14:45 -04:00
Aaron Wood
904441a724 docs: add brochure design spec 2026-04-11 18:13:42 -04:00
Aaron Wood
93118e8bcb docs: update handbook What's coming next with missing features 2026-04-11 17:10:48 -04:00
Aaron Wood
d02cdd02b5 docs: register project skills in CLAUDE.md, gitignore local settings 2026-04-11 16:54:06 -04:00
Aaron Wood
5d45765a62 feat: add update-handbook project skill 2026-04-11 16:53:01 -04:00
Aaron Wood
267af5c160 docs: clarify update-changelog skill instructions 2026-04-11 16:48:54 -04:00
Aaron Wood
45bdb39765 feat: add update-changelog project skill 2026-04-11 16:46:26 -04:00
Aaron Wood
4ef981e456 docs: fix handbook setup instructions and clarity issues 2026-04-11 16:44:59 -04:00
Aaron Wood
d543b173b4 docs: add HANDBOOK.md with product overview and technical guide 2026-04-11 16:42:46 -04:00
Aaron Wood
ecc4da46ec docs: remove internal infra detail from changelog 2026-04-11 16:40:13 -04:00
Aaron Wood
09c77b56e2 docs: add CHANGELOG.md at v0.1.0 2026-04-11 16:39:13 -04:00
Aaron Wood
34443b0c19 docs: update handbook/changelog spec with repo-local skills and changelog cadence note 2026-04-11 16:28:30 -04:00
Aaron Wood
11e057b09e docs: add handbook and changelog design spec 2026-04-11 16:23:20 -04:00
Aaron Wood
7fc13bd553 docs: mark initiative tracker complete in roadmap 2026-04-11 15:56:51 -04:00
Aaron Wood
7a032bc277 fix: enforce HP visibility on player-emitted rolls, add membership check to request-state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 15:53:20 -04:00
Aaron Wood
247379ba57 feat: integrate initiative tracker into campaign view
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>
2026-04-11 15:49:59 -04:00
Aaron Wood
65c914e3e0 feat: add CombatStartModal for DM combat setup 2026-04-11 15:46:11 -04:00
Aaron Wood
77be024ec6 feat: add InitiativeTracker sidebar component 2026-04-11 15:44:22 -04:00
Aaron Wood
3c3a92ce99 feat: add CombatState and CombatEnemy types 2026-04-11 15:39:52 -04:00
Aaron Wood
fcee648d07 feat: register initiative handlers in socket setup 2026-04-11 15:38:37 -04:00