Commit Graph

437 Commits

Author SHA1 Message Date
f0278dff7e docs(07-03): amend replay plan to add negative int64/bigint scope (D-09 approve-both) 2026-09-15 17:58:39 +08:00
4eec9ec22c docs(phase-07): update tracking after wave 2 2026-09-15 17:19:46 +08:00
bcb43f7105 docs(07-02): complete enemy data-fixes plan 2026-09-15 17:19:14 +08:00
ad0d70441b chore(07-02): close windows ledger entry 24
- G-06-03-A (#06-03-1) two skipped tests now green after the reuse
  mapping fix; open_count 15 -> 14, fixed_count 12 -> 13
2026-09-15 17:18:00 +08:00
b70ccbd5f6 fix(07-02): #06-03-1 resolve the reuse mapping in enemy creation
- createEnemy/createEnemyById now resolve prefabs through internalGetPrefab,
  matching getPrefab/deletePrefab/modifyPrefabAttribute behaviour
- add a Chinese invariant comment above createEnemyById covering all
  code/id prefab entry points
- un-skip the two correct-expectation reuse mapping cases in manager.test.ts
  (assertions unchanged) and sync their Chinese comments
2026-09-15 17:16:44 +08:00
657d9720af docs(phase-07): update tracking after wave 1 2026-09-15 17:11:11 +08:00
9177823abe docs(07-01): complete combat data-fixes plan 2026-09-15 17:10:11 +08:00
5d6381ad98 chore(07-01): close windows ledger entries 19/20/21/27
- mark the four combat skipped-test findings fixed after their correct-expectation
  cases were un-skipped and turned green
2026-09-15 17:05:38 +08:00
650b96059d fix(07-01): #06-01-3 abandon the battle only when before returns false
- read the before result into proceed and abandon only on falsy, matching the
  ICombatScript.before contract in types.ts
- un-skip the correct-expectation case and correct the three existing cases that
  encoded the inverted semantics (explicit truthy beforeResult, complementary
  truthy-branch assertion, synced FakeScript comment)
2026-09-15 17:02:57 +08:00
24534fbca6 fix(07-01): #06-01-2 clear enemy-sourced map damage on delete
- register viewStore/damageStore reverse indexes when sourced damage is written
  and re-register them after a refreshIndex recompute (route A)
- deleteEnemy now finds and removes the enemy-sourced damage instead of leaving
  stale entries behind
- un-skip the correct-expectation case in mapDamage.test.ts (#06-01-2)
2026-09-15 17:00:44 +08:00
8225ef129c fix(07-01): #06-01-4 reset enemy views before a full buildup
- reset every EnemyView before a full buildup so repeated builds start from
  the base enemy instead of compounding on the previous result
- un-skip the correct-expectation cases in damage.test.ts (#06-01-4) and
  context.test.ts (#06-15-1)
2026-09-15 16:55:36 +08:00
9e96df4c3b fix(07-01): #06-01-1 align critical info with the yielded next value
- move targetInfo assignment into the damage < referenceDamage branch so the
  reported critical info matches the yielded next value
- un-skip the correct-expectation case in damage.test.ts (#06-01-1)
2026-09-15 16:53:50 +08:00
7ae08c6920 chore(07): remove obsolete phase .gitkeep 2026-09-15 16:28:54 +08:00
817201c213 docs(07): finalize phase plan and record planning state 2026-09-15 16:22:33 +08:00
8d66bc4ae2 fix(07): revise plans based on checker feedback 2026-09-15 16:10:58 +08:00
5a186d4a24 docs(07): create phase plan 2026-09-15 15:55:24 +08:00
46248dc7f8 docs(phase-7): add validation strategy 2026-09-15 14:20:42 +08:00
b0db13120f docs(07): research phase domain 2026-09-15 14:19:01 +08:00
e7f42dd91b docs(state): record phase 7 context session 2026-09-15 14:00:03 +08:00
4ede7fcd96 docs(07): capture phase context 2026-09-15 13:59:51 +08:00
ca1b654bb4 docs(roadmap): add phase 7 for data-side defect fixes
Add Phase 7 (数据端缺陷修复) scoped to fixing data-side suspected bugs surfaced by Phase 6 unit tests, excluding rendering. Register FIX-01, update roadmap progress table and state.
2026-09-15 13:39:48 +08:00
ddb528bc36 docs(06-15): complete combat interface coverage gap-fill plan
- add 06-15-SUMMARY.md (status complete; #06-15-1 correct-expectation skip documented)
- update STATE.md position/metrics/decisions/blockers and ROADMAP.md wave 5 + plan counts
- record blocked skip in WINDOWS.md ledger (entry 27)
2026-09-15 13:23:50 +08:00
d3eb4d2a00 docs(06-15): append coverage-map section for G-06-01-D
- register G-06-01-D -> deleteAura skip case -> context.test.ts -> 06-15
- note the case is a D-05 correct-expectation it.skip blocked by #06-15-1 (same root cause as #06-01-4)
- no new warn/error codes; existing cases and skips untouched
2026-09-15 13:17:41 +08:00
65251f5f42 test(06-15): cover deleteAura via correct-expectation skip and register #06-15-1
- add pplies a global aura after addAura and stops applying it after deleteAura (it.skip, D-05)
- reuse in-file createContextFixture/createEnemy/FakeAura/FakeConverter, no new helpers
- register finding #06-15-1 in 06-TEST-FINDINGS.md (same root cause as #06-01-4)
- unskip-verified: addAura applies (atk 2 -> 5) but deleteAura + buildup stays 5, expected 2
2026-09-15 13:15:51 +08:00
c747cd53d5 docs(06): add gap G-06-01-D and plan 06-15 (deleteAura coverage) 2026-09-15 13:07:12 +08:00
4e53d53a69 docs(06): correct stale #06-09-4 record and revert TEST-01 to incomplete 2026-09-15 13:02:51 +08:00
25e8c0662a test(06): normalize CRLF line endings for enemy comparer/special tests 2026-09-15 13:00:04 +08:00
5f6c648d28 docs(06): add phase verification (data slice, gaps_found) 2026-09-15 12:18:10 +08:00
a000651cbe docs(06-14): complete replay read-stream gap-fill plan 2026-09-15 11:53:28 +08:00
83dc4fdaf6 test(06-14): register blocked delete/insert heterogeneous stream order (G-06-04-C) and map coverage
- add correct-expectation it.skip for the heterogeneous route after delete(1) (anchor #06-04-3)
- add correct-expectation it.skip for the heterogeneous route after insert(2, 9, [true, 5]) (anchor #06-04-4)
- add file-inline expectRouteStream helper (stream-only typed reads with index 1..N and terminal null)
- append the create-or-append 06-14 section to 06-COVERAGE-MAP.md; existing 5 skips unchanged
2026-09-15 11:50:30 +08:00
2cffe3ef6c test(06-14): strengthen stream assertions with types, index progression and expiry (G-06-04-C/B)
- rewrite expectHeterogeneousRead to assert per-param typeof + value, stream index i+1, terminal null and stream.index === length
- add per-param typeof/value and stream.index progression to the sequence and expand stream cases
- add 'expires a read stream after the heterogeneous route is mutated': add() expires the old stream (warn 155) and a fresh stream reads the new 7-step order
2026-09-15 11:47:25 +08:00
8ae4588ba4 test(06-14): verify a heterogeneous route exclusively through a read stream (G-06-04-C/A)
- add file-inline expectParamTyped/expectStepTyped helpers asserting typeof + toBe per parameter
- add a 7-command complex route (param counts 1/2/0/1/4/2/3, boolean/int8/int32/float/bigint/string)
- read it only through createReadStream: per-step command, per-param type/value, index 1..7, terminal null
- add a middle-start variant (createReadStream(3) -> indexes 4..7, createReadStream(6) -> index 7)
2026-09-15 11:44:38 +08:00
6652bc6fe7 docs(06-13): complete save/load coverage gap-fill plan
- Add 06-13-SUMMARY.md (status: complete) with per-stage outcome, commits, D-44 evidence
- Record 06-13 results in 06-TEST-FINDINGS.md (no new #06-13-N bugs; 3 new correct-expectation skips reuse #06-09-1/#06-09-2)
- Log the two blocked skipped-test windows (ids 25/26)
- Update STATE.md (plan 13 of 14, 646 passed / 25 skipped) and ROADMAP.md (06-13 checked, phase 6 13/14)
2026-09-15 11:33:38 +08:00
992ca9d585 test(06-13): assert all CoreState key states and varied 10-step replay (G-06-09-A/B)
- seedState/mutateState/assertRestored now cover every key state: hero base attrs + modifier final atk + location, flags score/coins/stage, map two blocks + active status, enemy hp/atk, replay steps
- Replay seeded with 10 @system/replay steps mixing Up/Right/Down/Left/Teleport/UseItem/Equip/Unequip and varied param types, asserted per step
- New container test loops flags and replay through CoreState across the three compression tiers
- Append 06-13 create-or-append section to 06-COVERAGE-MAP.md; existing #06-09-1..5 skips unchanged
2026-09-15 11:27:57 +08:00
8a7cda95ae test(06-13): tier map tile save/load across all compressions (G-06-09-B)
- StaticTile covered-event round trip looped over NoCompression/LowCompression/HighCompression
- DynamicTile covered-event round trip looped over the three tiers, keeping the tile num assertion
- Existing #06-09-3 it.skip unchanged
2026-09-15 11:24:08 +08:00
6d7e57ab34 test(06-13): tier hero save/load classes across all compressions (G-06-09-B)
- EquipmentState percentage round trip per tier (NoCompression green; Low/High correct-expectation it.skip anchored #06-09-1)
- HeroItems constant/consumable tables and HeroState attributes/location loop over the three compression tiers
- HeroState container covers HeroLocation/HeroRendering across tiers; HeroEquipment container expectation it.skip anchored #06-09-2
- Existing #06-09-1/#06-09-2 skips unchanged
2026-09-15 11:22:52 +08:00
60be0c0a24 docs(06): record G-06-04-C replay stream coverage gap 2026-09-15 11:04:02 +08:00
5edaea1f21 docs(06): add gap-fill plan 06-14 (G-06-04-C replay read-stream) 2026-09-15 11:02:50 +08:00
b1c6d99e4a docs(06-12): complete replay + enemy-model coverage gap-fill plan 2026-09-15 10:47:23 +08:00
e2c163899d test(06-12): register blocked four-facing prefab reuse expectation (G-06-03-A)
- add correct-expectation it.skip for four facing codes reusing one prefab
- append 06-12 coverage-gap section to 06-COVERAGE-MAP.md
2026-09-15 10:43:03 +08:00
573402592d test(06-12): register blocked multi-byte bigint/int64 expectation (G-06-04-A) 2026-09-15 10:40:37 +08:00
0a7f25338f test(06-12): cover heterogeneous replay sequence read-back (G-06-04-B) 2026-09-15 10:38:51 +08:00
94ab2ddcc6 docs(06-11): complete hero + map coverage gap-fill plan 2026-09-15 10:31:33 +08:00
309f1b1850 test(06-11): cover static-dynamic-move-static full chain (G-06-06-A)
- mapLayer.test.ts: both keepEvent branches verified after a real-timer move,
  with exact event maps, dirty flags, block write-back and dynamic index updates
- 06-COVERAGE-MAP.md: append the 06-11 gap-fill section (create-or-append)
2026-09-15 10:27:59 +08:00
41da613f0b test(06-11): cover coexisting map layers of different z-index (G-06-06-C)
- gameMap.test.ts: three layers at z-index 1/5/9 keep independent block data and
  are judged separately by z-index during compareWith (missing ref marks dirty)
2026-09-15 10:25:17 +08:00
436386ea67 test(06-11): cover multi-slot equipment merge and createMap content generation
- equipment.test.ts: G-06-05-A asserts combined atk/def for weapon+armor and keeps the other slot's modifier after unequip
- mapState.test.ts: G-06-06-B writes/reads block, point event, event layer binding and dirty flag on a createMap floor
2026-09-15 10:23:16 +08:00
7cb1aaec92 docs(06-10): complete combat/enemy combination gap-fill plan
- add 06-10-SUMMARY.md (status: complete)
- update STATE.md position/metrics/decisions/session
- add ROADMAP Wave 3 gap-fill section and mark 06-10 complete
- append #06-10 findings section (no suspected bugs, no skips)
2026-09-15 10:15:20 +08:00
f01c23eba0 test(06-10): cover maximum-pipeline single-monster final damage (G-06-07-A)
- drive real MainDamageCalculator over a monster with 10 top-level specials,
  real aura 25, real support 26, common/special query and final effects
- assert one exact {damage,turn} with full per-branch derivation in comments
- add a control asserting the result differs without the support pipeline
- append the 06-10 coverage-map section (create-or-append, no new codes)
2026-09-15 10:10:44 +08:00
ef95cc710f test(06-10): cover combined effects and cross-enemy nested auras
- G-06-01-A: four effect kinds together, assert stage order and final
  atk/def/hp/special on the computed enemy
- G-06-01-B: m1 -> A1 -> m2 -> A2 -> all enemies, assert per-enemy final
  atk plus A1 range boundary via special 21 ownership
2026-09-15 10:06:26 +08:00
fcba44c756 test(06-10): cover multi-source map damage stacking (G-06-01-C)
- add inline createTypedInfo/FakeTypedView/SemanticReducer helpers
- assert separated count and reduced damage/type/extra for sourced+sourced,
  sourceless+sourceless, and mixed multi-source combinations
2026-09-15 10:04:12 +08:00