AncTe
a0e402728e
refactor: 数据端用户结构
2026-10-16 17:29:51 +08:00
AncTe
47c6e2c8db
test(08-10): cover data-system/data-state gap codes and add loader tests
...
- eventDispatch: assert codes 171 (missing event id) and 172 (non-boolean reduce result)
- path/system: assert code 182 when binding a foreign CoreState layer
- data-state event: assert code 1001 for an unknown setBlock tile
- loader: new loader.test.ts covering PrefixedJSONCProcessor 66/67, DefaultDataLoaderHook 69/success, and MotaDataLoader public surface (66/67/68/69; 68 recorded unreachable)
2026-10-08 14:45:10 +08:00
AncTe
ba92f5291b
test(08-07): align path performance tests and clear prettier gate
...
- performance.test.ts: drop finder/builder useMapState, inject Dir4FaceHandler, read IPathfindingResult.path length; size matrix and thresholds unchanged
- graph.test.ts: prettier-format injected-fixture helpers
- path focused run 28/28, eslint 0
2026-10-05 18:51:30 +08:00
AncTe
b62b394ee9
fix(08-07): align path graph/system tests and apply authorized D-10 fixes
...
- graph.ts: seed start node into mapped set (B1) and restore 174 NaN/negative cost guard (B2)
- graph.test.ts: drop useMapState/DirectionMapper, inject Dir4/Dir8 handlers, reach genuine out-of-map branch and assert 183
- system.test.ts: drop finder.useMapState, inject Dir4FaceHandler, adapt to IPathfindingResult
2026-10-05 18:49:18 +08:00
AncTe
36d8b4fb3c
test(08-01): migrate data-layer tests into __test__ dirs
...
Move 65 *.test.ts + 6 *.perf.ts across data-{common,base,system,state} into sibling __test__/ (data-state/test -> data-state/__test__), incl. fixtures/floors.json and non-test helpers; rewrite Rule A relative specifiers (+1 depth), keep Rule B unchanged; sync script/test-data-node.ts require paths. Gates: test:ci=66 files, test:perf=6 files, eslint clean, zero config/production changes.
2026-10-04 17:34:09 +08:00
AncTe
b262918082
refactor: 地图 MapLayer
2026-09-29 20:21:50 +08:00
AncTe
d74cc35c8e
feat: Adding should replay flag
2026-09-23 13:09:43 +08:00
AncTe
ae5a956492
chore: 删除 IDirectionMapper,全换成 IFaceHandler
2026-09-18 08:26:57 +08:00
AncTe
4aaea68b65
refactor: 寻路系统改进
2026-09-17 21:21:08 +08:00
AncTe
a2a8e6ec35
refactor: ReplaySystem.route -> ReplaySystem.array,修复 disabled 标记在 setReplayArray 中清零可能导致意外记录的问题
2026-09-17 19:18:30 +08:00
AncTe
49aacb087a
refactor: 调整录像命名
2026-09-16 21:51:19 +08:00
AncTe
cee843981f
feat: 录像记录 & CoreState 存储接口
2026-09-14 18:09:45 +08:00
AncTe
26f7ad6b2e
refactor(02-06): align pathfinding structure with user scope
2026-09-10 11:21:53 +08:00
AncTe
a2aedb3969
refactor(02-04): restore authorized path contract
...
- Match path/types.ts to the user-authored baseline plus nullable returns
- Keep graph contracts implementation-owned and preserve the mover bridge
2026-09-10 09:35:21 +08:00
AncTe
f1a9e626b6
test(02-02): add real 13x13 game maps to pathfinding performance tests
...
- 夹具 createPerformanceSystem 参数化起始位置与图块定义(合成矩阵默认值不变)
- 真实地图图块语义:数字 1 墙体,0/2/3/4/5/6 均为空地
- 新增六张 13x13 真实地图分段测量用例(20 轮 build/find/search,入口不足时固定种子抽选端点并记录)
2026-09-09 20:28:21 +08:00
AncTe
2b483cdf2f
test(02-02): switch performance timing to performance.measure and add multi-size map matrix
...
- 计时改用 performance.mark/measure(测量前后清理同名条目,避免累积)
- 新增 10/30/60/100/150 尺寸矩阵,完整流水线与分段测量均按尺寸逐行输出
- sanity 上限改为随节点数放宽的函数,两用例常驻通过
2026-09-09 20:14:26 +08:00
AncTe
239ac0d790
refactor(02-02): precompute node costs and BFS from start position in graph build
2026-09-09 20:02:00 +08:00
AncTe
e27015c4d2
fix(02-02): cost 守卫允许 Infinity,仅拦 NaN 与负数
2026-09-09 19:30:12 +08:00
AncTe
3beef86ac0
test(02-02): merge segmented performance measurement into performance test
...
- Share one fixture (system + buildGraph) across both perf cases, no duplication
- Add multi-run segmented case emitting [pathfinding-segmented] graph_build/full_find/search_only
- Delete temporary performance.segmented.test.ts diagnostic
- Drop IDataCommon import orphaned by 622008f in graph.ts (eslint gate)
2026-09-09 19:21:16 +08:00
AncTe
6f0f17fbf2
refactor(02-02): replace linear min-scan with binary heap priority queue in pathfinding search
...
- Add internal DistanceHeap (binary min-heap, lazy stale-entry skip) colocated in finder.ts
- search() extraction now pops the heap instead of scanning the full dist map
- Restore NaN-aware cost guard (!Number.isFinite || < 0) dropped in 622008f , fixes NaN warn-174 regression test
2026-09-09 19:15:25 +08:00
AncTe
622008f67c
refactor: 按审查意见调整寻路模块与开发规范
2026-09-09 19:05:57 +08:00
AncTe
489e3de106
test(02-02): add full-pipeline pathfinding performance test and record review-fix round
...
- 新增 performance.test.ts:100x100 固定种子障碍图上计时完整 find 流水线
(建图 + 最优路径发现),结构化输出 map/steps/elapsed
- 实测 map=100x100 steps=198 elapsed≈609ms(sanity 上限 5000ms)
- 02-02-SUMMARY 追加 Review Fixes (user audit round 1) 记录
2026-09-09 18:51:31 +08:00
AncTe
d9ee80f77f
refactor(02-02): apply user review directives on path module
...
- 移除 system.ts 中 'mover' in movable 运行时形状检查与 IMovableWithMover,
依 types.ts 修正后的类型直接绑定 IObjectMover<IObjectMovable>
- path 内导出类型(IPathGraph*、IPathfindingGraphBuilder)归位 types.ts,
graph.ts/finder.ts 改由 types 导入
- 移除类与接口声明上的 jsdoc、类实现侧与接口重复的 jsdoc、region 标记;
实现注释改为仅描述可观察行为(去除 Dijkstra 等实现叙述)
- 私有方法置于调用者之前(resolveFloorId、getNodeCost、search、startMove)
- system.test.ts 对齐 useMover(mover) 新签名并同步测试描述
2026-09-09 18:47:40 +08:00
AncTe
9a604422f8
fix: IObjectMovable 在寻路时无法实施移动的类型问题
2026-09-09 18:33:21 +08:00
AncTe
cbcaec83dc
refactor(02-02): comply with updated style rules, extract finder and drop temp function consts
2026-09-09 17:44:31 +08:00
AncTe
e199d99d19
refactor(02-02): declare graph builder and test mover interfaces per updated class rule
2026-09-09 17:32:28 +08:00
AncTe
53d019f62e
feat(02-02): add minimal-loss pathfinding system with getPath, controller contract and fallback policy
2026-09-09 17:29:22 +08:00
AncTe
0cd6ab6a2d
feat(02-02): build pathfinding directed graph with injected pass predicate and authorized types fix
2026-09-09 17:17:48 +08:00
AncTe
7a011b29c2
feat: 完成寻路系统接口设计
2026-09-09 16:40:56 +08:00