milestone: M1 landed; flip "currently working toward" to M2
M1 "Walkable + clickable world" landed 2026-05-16 with Phase B.6
(d640ed7). All four demo targets work end-to-end retail-faithfully:
walk Holtburg, open inn door, click NPC, pick up item.
Freeze list applied: L.2 (collision), B.4 (interaction outbound),
B.5 (pickup) — these phases are off-limits until M7 polish unless
something is actively broken.
CLAUDE.md "currently working toward" advanced to M2 — "Kill a drudge."
Phases to ship: F.2 (Inventory panel), F.3 (Combat math + damage),
F.5a (dev panels Attributes/Skills/Equipped/Inventory), L.1c
(combat animation wiring), L.1b (command router prereq).
Also removes the "record a demo video" requirement from milestone
discipline (CLAUDE.md rule #3 + milestones doc operating rule #3) —
user finds video recording pointless. Milestones are now textual
events: writeup + freeze flip + CLAUDE.md "currently working toward"
update. Saved as feedback memory.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d640ed74e1
commit
fb92122731
2 changed files with 65 additions and 31 deletions
35
CLAUDE.md
35
CLAUDE.md
|
|
@ -623,10 +623,21 @@ acdream operates at **two altitudes** above the daily commit:
|
|||
section). Phase-level index. This is where you orient when you know
|
||||
the milestone and need the next concrete sub-phase.
|
||||
|
||||
**Currently working toward: M1 — Walkable + clickable world.** L.2
|
||||
collision + B.4 interaction. Demo target: walk through Holtburg without
|
||||
getting stuck, open the inn door, click an NPC, pick up an item.
|
||||
Estimated 4–6 weeks from 2026-05-12.
|
||||
**M1 landed 2026-05-16** via Phase B.6 (`d640ed7`). L.2 collision +
|
||||
B.4 interaction + B.5 pickup + B.6 server-driven auto-walk all
|
||||
shipped. The four demo targets work end-to-end: walk Holtburg, open
|
||||
inn door, click NPC, pick up item. Freeze list active — M1's phases
|
||||
are off-limits until M7 polish. Writeup at top of M1 block in
|
||||
`docs/plans/2026-05-12-milestones.md`.
|
||||
|
||||
**Currently working toward: M2 — "Kill a drudge."** Equip a sword,
|
||||
walk to a drudge, swing, see damage in chat, watch the swing
|
||||
animation, drudge dies and drops loot, pick up the loot, open
|
||||
inventory and see it. Phases to ship: F.2 (Inventory panel), F.3
|
||||
(Combat math + damage flow), F.5a (visible-at-login dev panels —
|
||||
Attributes / Skills / Equipped / Inventory list, minimal ImGui),
|
||||
L.1c (combat animation wiring), L.1b (command router prereq).
|
||||
~6–10 weeks from 2026-05-16.
|
||||
|
||||
**Work-order autonomy — the meta-rule.** You decide what to work on
|
||||
next, always. **The user does NOT pick between phases, milestones, or
|
||||
|
|
@ -660,14 +671,14 @@ four below actually work.
|
|||
explicitly post-M7. The freeze list per milestone lives in the
|
||||
milestones doc.
|
||||
|
||||
3. **Each milestone hit gets a recorded demo video.** When M1 lands,
|
||||
record ~30 seconds of the demo scenario, drop it at
|
||||
`docs/milestones/M1-walkable-clickable.mp4`, and pin a still + a
|
||||
one-paragraph writeup at the top of `2026-05-12-milestones.md`. The
|
||||
freeze list updates. The "currently working toward" line in this
|
||||
CLAUDE.md updates to M2. **Crossing a milestone is a real event with
|
||||
an artifact** — that's the morale instrument. Phases ship; milestones
|
||||
land.
|
||||
3. **Crossing a milestone is a textual event, not a video event.**
|
||||
When a milestone's demo scenario is functionally complete, update
|
||||
`2026-05-12-milestones.md` with a one-paragraph writeup describing
|
||||
what works end-to-end, flip the freeze list, and update the
|
||||
"currently working toward" line in this CLAUDE.md to the next
|
||||
milestone. Do NOT ask the user to record a demo video — they find
|
||||
it pointless. The milestones doc + the CLAUDE.md flip ARE the
|
||||
milestone artifact. Phases ship; milestones land.
|
||||
|
||||
4. **State both altitudes at session start.** First action of any
|
||||
session: "Currently working toward M1 — Walkable + clickable world.
|
||||
|
|
|
|||
|
|
@ -17,13 +17,14 @@ feeling because no single phase ship feels like a real milestone.
|
|||
This document sits **one altitude above** the roadmap. Each milestone is:
|
||||
|
||||
- **~6–10 weeks of focused work** (not a single phase, not a whole year).
|
||||
- Defined by a **concrete playable scenario** that gets recorded as a demo
|
||||
video when the milestone hits.
|
||||
- Defined by a **concrete playable scenario** — when the scenario works
|
||||
end-to-end, the milestone lands.
|
||||
- A **scope-freeze event**: when a milestone lands, the phases it covers go
|
||||
off-limits until v1.0's final polish pass (M7).
|
||||
|
||||
Crossing a milestone is a real event with an artifact. Phases ship; milestones
|
||||
**land**.
|
||||
Crossing a milestone is a textual event — milestones doc gets the writeup,
|
||||
the freeze list flips, CLAUDE.md's "currently working toward" line advances.
|
||||
Phases ship; milestones **land**.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -42,12 +43,12 @@ Crossing a milestone is a real event with an artifact. Phases ship; milestones
|
|||
shipped phases keep silently consuming attention.
|
||||
|
||||
3. **The milestone log is the morale instrument.** When a milestone hits:
|
||||
- Record a ~30-second demo video showing the scenario end-to-end.
|
||||
- Drop it in `docs/milestones/MN-<slug>.mp4` (create the directory on
|
||||
first hit).
|
||||
- Pin a still frame + one-paragraph writeup at the top of this doc.
|
||||
- Pin a one-paragraph writeup at the top of this doc describing what
|
||||
works end-to-end (any caveats or known regressions are explicit).
|
||||
- Update the freeze list. Update CLAUDE.md's "currently working toward"
|
||||
line to the next milestone.
|
||||
- NO demo videos. User explicitly removed that requirement 2026-05-16
|
||||
("pointless of recording videos, for what purpose?").
|
||||
|
||||
4. **State both altitudes at session start.** "Currently working toward M1.
|
||||
Current phase: L.2 collision. Next concrete step: L.2d slice 1 spec." This
|
||||
|
|
@ -94,7 +95,28 @@ missing is the gameplay loop on top.
|
|||
|
||||
---
|
||||
|
||||
### M1 — "Walkable + clickable world" — 🟡 CURRENT, all 4 demo targets met (pending recorded video)
|
||||
### M1 — "Walkable + clickable world" — ✅ LANDED 2026-05-16
|
||||
|
||||
**Landing writeup (2026-05-16, after Phase B.6 ship `d640ed7`):**
|
||||
All four M1 demo targets work end-to-end. You can log into `+Acdream`
|
||||
at Holtburg, walk freely without getting stuck (L.2 collision is
|
||||
retail-faithful through the doorway). Click any inn door at any
|
||||
range, press R, the character runs (or walks if close) toward it
|
||||
with the correct animation cycle including the leg-shuffle turn-first
|
||||
phase, opens the door via ACE's server-side `MoveToChain` callback.
|
||||
Same for clicking an NPC — runs over, body rotates to face, dialogue
|
||||
fires from ACE without any client-side retry. Pickup items at any
|
||||
range with F or R; spell components, food, money, weapons all work;
|
||||
signs and other `BF_STUCK` scenery correctly block at the gate.
|
||||
AP cadence matches retail (0 Hz idle, ~1 Hz smooth motion, per-event
|
||||
on cell/plane changes). Run/walk threshold matches retail observation
|
||||
(1m of distance left to walk). The earlier ladder of workarounds —
|
||||
client-side retry, per-frame chatty AP, MoveToState suppression
|
||||
grace period — all deleted via the Phase B.6 architectural refactor
|
||||
(`d640ed7`). M1's demo path is now bit-for-bit retail-faithful end
|
||||
to end.
|
||||
|
||||
|
||||
|
||||
**Demo scenario:** Walk through Holtburg without getting stuck on the inn
|
||||
doorway. Open the inn door. Click an NPC and see selection feedback. Pick
|
||||
|
|
@ -109,21 +131,22 @@ up an item from the ground.
|
|||
| 3 | Click an NPC and see selection feedback | ✅ met | B.4b chain + chat handlers; verified 2026-05-14 (Tirenia + Royal Guard double-click → NPC dialogue in chat panel) |
|
||||
| 4 | Pick up an item from the ground | ✅ met (close-range path) | B.5 + post-B.5 `PickupEvent (0xF74A)` fix shipped 2026-05-14; visual-verified at Holtburg; creature-pickup guard added in `a01ebd5` |
|
||||
|
||||
**What's left to formally land M1:**
|
||||
- Record ~30s demo video of the four-target scenario end-to-end.
|
||||
- Drop at `docs/milestones/M1-walkable-clickable.mp4`.
|
||||
- Pin still + one-paragraph writeup at the top of this doc.
|
||||
- Flip the freeze list. Update `CLAUDE.md`'s "currently working toward"
|
||||
line to M2.
|
||||
**Landing artifacts done 2026-05-16:**
|
||||
- ✅ Landing writeup pinned at top of this milestone block (above the table).
|
||||
- ✅ Freeze list applied (see below).
|
||||
- ✅ `CLAUDE.md`'s "currently working toward" advanced to M2.
|
||||
|
||||
**Known polish items deferred (do not block M1 recording, addressable post-M1):**
|
||||
**Known polish items deferred to post-M7 (do not gate M1 landing):**
|
||||
- **#61** — AnimationSequencer link→cycle frame-0 flash on door swing. LOW.
|
||||
- **#62** — PARTSDIAG null-guard. Latent, not reachable today.
|
||||
- **#63** — Server-initiated `MoveToObject` auto-walk not honored (blocks
|
||||
double-click pickup + out-of-range F-pickup; close-range still works).
|
||||
MEDIUM. Candidate Phase B.6 — holtburger has the reference port.
|
||||
- **#63** — ✅ CLOSED by Phase B.6 (`d640ed7`). Server-initiated
|
||||
`MoveToObject` is now honored end-to-end; ACE's `MoveToChain`
|
||||
callback fires server-side on arrival.
|
||||
- **#64** — Local-player pickup animation does not render (retail
|
||||
observers see it correctly). LOW.
|
||||
- **#69, #74, #75** — all closed by Phase B.6 (`d640ed7`). Turn-first
|
||||
animation, retail-narrow AP cadence, body-direct auto-walk
|
||||
architecture.
|
||||
|
||||
**Phases that shipped to clear M1:**
|
||||
- **L.2 (a + d + g sub-lanes)** — Movement & Collision Conformance.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue