Commit Graph

96 Commits

Author SHA1 Message Date
32fb1154e2 test(03-14): cover synchronous replay command completion
- Prove movement and pathfinding return without controller waits
- Assert synchronous nested replay-safety restoration
- Guard user-owned attribute decorator placement
2026-09-11 13:43:23 +08:00
7ffc6c4171 fix(03-14): restore synchronous replay command handling
- Remove Promise settlement from replay safety restoration
- Adapt command booleans to the existing Promise boundary
- Preserve stable replay interfaces and user-owned decorator placement
2026-09-11 13:38:38 +08:00
7315681272 test(03-13): cover direct event body execution
- Exercise eventInsertEvent with an inline Statement[] body
- Prove the body mutates the event layer without an event-store id
- Document the superseding direct-body event contract
2026-09-11 13:28:33 +08:00
2f14d8a0ae fix(03-13): execute single event bodies directly
- Accept anon-tokyo Statement[] bodies for eventInsertEvent
- Execute bodies through the existing interpreter without event-store lookup
- Preserve eventInsertEvents as the ordered id-sequence path
2026-09-11 13:25:48 +08:00
d2ebf1cefc test(03-12): cover module-owned event registrations
- Exercise all eight approved registrations with valid typed parameters
- Retain awaited behavior and missing-target safety without nullish guard tests
2026-09-11 11:11:48 +08:00
9c39895620 refactor(03-12): move event registrations into modules
- Keep the barrel limited to registration assembly and exports
- Give map, hero, and control modules typed registration builders without hot-path shape validation
2026-09-11 11:08:49 +08:00
c0444510d1 chore: 调整引入 2026-09-11 09:56:03 +08:00
4b91a0b84f style(03-07): normalize serialized event files
- Apply repository CRLF and Prettier formatting to changed files
2026-09-10 20:17:23 +08:00
1b93deb8c8 test(03-07): prove serialized event replay path
- Load the fixed replay event through the internal serialized boundary
- Assert trigger, raw statements, coordinate binding, one execution, and final state
2026-09-10 20:13:51 +08:00
a111b8dcd4 feat(03-07): wire serialized event loading boundary
- Register validated serialized events through the CoreState load seam
- Bind raw map event ids with MapState.fromRaw before replay execution
2026-09-10 20:12:47 +08:00
160a0d5c34 test(03-09): prove production replay safety boundaries
- Exercise decorated movement, item, and equipment registry calls\n- Assert deferred collection settlement and pure path/validation exclusion
2026-09-10 19:53:26 +08:00
fc9a1adae3 feat(03-09): decorate production replay command entrances
- Route all five state-changing command entrances through replay safety collection\n- Keep command validation, slot resolution, and registration helpers outside the decoration boundary
2026-09-10 19:49:54 +08:00
82687b2f56 style(03-08): format event guard coverage
- Restore repository CRLF and Prettier layout for the changed event files
2026-09-10 18:50:33 +08:00
f8cae08bd9 test(03-08): cover nullish event registrations
- Exercise all eight registration functions with null and undefined\n- Assert resolved void results and unchanged fixture state
2026-09-10 18:48:57 +08:00
95df6a0198 fix(03-08): guard registered event parameters
- Return safely before parsing nullish or non-object runtime parameters\n- Cover the real eventSetBlock registration with a null regression
2026-09-10 18:47:26 +08:00
232df083f7 fix(03-05): complete data closure coverage and Node combat gate 2026-09-10 17:52:28 +08:00
704e23fa2d fix(03-04): share verifier harness with Node replay tests
- Keep Vitest imports inside the data-state test package
- Leave the dedicated script as the direct Node process entry
2026-09-10 17:17:40 +08:00
1218504b5c test(03-04): cover Node replay divergence and factory isolation
- Exercise success, false, throw, unknown, hero, and map mismatch paths
- Verify isolated Node CoreState instances and diagnostic parameter fidelity
- Repair replay route parameter encoding required by verifier diagnostics
2026-09-10 17:11:09 +08:00
c06093839a feat(03-04): add fixed Node replay verifier
- Extend the closed-loop fixture across hero and all map matrices
- Throw deterministic local diagnostics at the first replay divergence
- Add the dedicated test:data-node process gate
2026-09-10 17:05:15 +08:00
09481451d4 feat(03-03): assemble CoreState replay registry
- Bind the L2 pathfinder to each fresh hero state
- Give each CoreState an independent ReplaySystem
- Assert all eight stable commands are assembled at the top level
2026-09-10 16:44:46 +08:00
e7714894a0 feat(03-03): add async-safe replay commands
- Preserve replay collection context through async decorator settlement
- Add stable command items with awaited movement and pathfinding
- Return explicit failures for invalid item and equipment actions
2026-09-10 16:43:30 +08:00
3134537d30 feat(03-02): implement approved event built-ins
- Add map, hero, touch, and temporary event controls
- Register exactly eight built-ins through top-level event assembly
- Cover awaited behavior and safe failure with explicit fixtures
2026-09-10 16:25:02 +08:00
f911ac5989 style(03-06): normalize tile migration formatting
- Apply repository CRLF and Prettier formatting
- Record remaining out-of-scope type diagnostics
2026-09-10 15:57:59 +08:00
a12b2d2db8 feat(03-06): migrate legacy tiles to events maps
- Convert optional legacy events with safe empty defaults
- Cover TileStore consumption without trigger scalar output
2026-09-10 15:55:32 +08:00
4eec08638e feat(03-01): add awaited replay movement tracer
- exercise source-aware event mutation on a fixed map
- verify Node replay reaches its normal end state
2026-09-10 15:43:26 +08:00
a707be4856 feat(03-01): add Node-safe core state construction
- isolate legacy loading behind internal dependencies
- provide memory saves and remove singleton back-edges
2026-09-10 15:35:01 +08:00
7f19773477 chore(03): checkpoint data layer structure 2026-09-10 13:30:53 +08:00
26f7ad6b2e refactor(02-06): align pathfinding structure with user scope 2026-09-10 11:21:53 +08:00
93453db417 fix(02-04): guard nullable static event sources
- Preserve dynamic event collection while narrowing static tile access
- Record the moverImpl type diagnostic as resolved
2026-09-10 09:38:02 +08:00
7a3b6e35c1 fix(02-03): support pathfinding interruption handoff
- Queue new movement until the stopped controller settles
- Register pathfinding controller diagnostics and regression coverage
2026-09-09 21:22:49 +08:00
6cde84ec31 feat(02-03): add teleport fallback and touch handling
- Detect event-bearing paths and fall back to step movement
- Handle adjacent no-pass targets with OnTouch dispatch and facing
2026-09-09 21:18:01 +08:00
2759df531e feat(02-03): wire hero pathfinding movement
- Bind the hero predicate and event layer into the L2 finder
- Execute translated paths through the hero mover and export the L3 entry
2026-09-09 21:13:30 +08:00
68a150882c refactor(02-03): extract hero pass predicate
- Move passability and hit checks behind IPassPredicate
- Keep hero mover event dispatch and move codes unchanged
2026-09-09 21:06:07 +08:00
1d9b180d5f docs(test): describe individual test cases 2026-09-09 13:33:42 +08:00
4349e67669 docs(test): require test scope comments 2026-09-09 13:12:10 +08:00
a297311ea6 feat(event): complete phase one event system 2026-09-09 12:01:21 +08:00
5f855d0ccc fix(01-11): wire legacy maps to event layers
- assign each legacy event alias layer to GameMap.eventLayer\n- add regression coverage for map-layer ownership and initialization state
2026-09-09 10:58:20 +08:00
22056140bd fix(01-07): dispatch events with source-aware trigger matching
- Carry each event id with its real point or tile environment.
- Filter mismatched triggers before execution and include every dynamic tile in priority order.
2026-09-09 00:18:00 +08:00
7eeab32134 refactor: 游戏地图接口重构 2026-08-21 01:39:47 +08:00
1717400945 refactor: 触发器 2026-07-27 18:04:05 +08:00
f4c77d152f feat: 楼层切换 2026-07-26 20:22:36 +08:00
4bf39062a8 feat: MapStore 2026-07-17 22:42:16 +08:00
3ac14f8757 feat: 勇士身上的道具 2026-07-03 20:05:31 +08:00
74370bba3a feat: 装备道具属性 2026-07-02 19:41:13 +08:00
2d6f709201 chore: 调整存档系统初始化位置 2026-07-01 23:49:22 +08:00
9b3c3a4e40 feat: 道具效果存储 2026-07-01 23:45:06 +08:00
e72ad36e8d refactor: 存档系统迁移至 L0 2026-07-01 20:53:29 +08:00
94a16b31ba chore: 调整 DefaultHeroMoveTopImpl 的构造器参数 2026-06-30 00:06:57 +08:00
3d72954bb2 refactor: 移动顶层实施对象 2026-06-29 23:58:52 +08:00
1ce0283743 feat: 勇士默认撞击行为 2026-06-29 21:44:22 +08:00