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
239ac0d790
refactor(02-02): precompute node costs and BFS from start position in graph build
2026-09-09 20:02:00 +08:00
7dd4f39e7e
fix: getLocationData logic
2026-09-09 19:42:37 +08:00
e27015c4d2
fix(02-02): cost 守卫允许 Infinity,仅拦 NaN 与负数
2026-09-09 19:30:12 +08:00
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
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
622008f67c
refactor: 按审查意见调整寻路模块与开发规范
2026-09-09 19:05:57 +08:00
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
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
9a604422f8
fix: IObjectMovable 在寻路时无法实施移动的类型问题
2026-09-09 18:33:21 +08:00
cbcaec83dc
refactor(02-02): comply with updated style rules, extract finder and drop temp function consts
2026-09-09 17:44:31 +08:00
e199d99d19
refactor(02-02): declare graph builder and test mover interfaces per updated class rule
2026-09-09 17:32:28 +08:00
53d019f62e
feat(02-02): add minimal-loss pathfinding system with getPath, controller contract and fallback policy
2026-09-09 17:29:22 +08:00
0cd6ab6a2d
feat(02-02): build pathfinding directed graph with injected pass predicate and authorized types fix
2026-09-09 17:17:48 +08:00
e1f61013ac
fix(02-02): repair mover step-end coordinate writeback condition per approved P1 decision
2026-09-09 17:09:37 +08:00
7a011b29c2
feat: 完成寻路系统接口设计
2026-09-09 16:40:56 +08:00
9477b2c78a
test(02-01): 铺设 L0 mover 坐标回写回归测试脚手架(skip 状态)
...
- 4 个 it.skip 用例:x 正交 / y 正交 / 斜向 / 传送步的 setPos 回写
- 测试桩逐字复刻 eventDispatch.test.ts 模式(main/location stub + getOrInsertComputed polyfill)
- 最小 ObjectMover 子类驱动 moveProgress,零新依赖;待 02-02 修复 mover.ts:651 后翻绿
2026-09-09 15:33:18 +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
33966fb4dd
test(event): polyfill map insertion in fixtures
2026-09-09 13:06:27 +08:00
63d4d37ff3
fix(event): finalize event reference changes
2026-09-09 13:03:42 +08:00
64efcf2555
refactor(event): centralize point event references
2026-09-09 12:53:37 +08:00
a297311ea6
feat(event): complete phase one event system
2026-09-09 12:01:21 +08:00
f423aad84a
style(01-12): normalize event store test line endings
...
- Apply the repository Prettier CRLF format to the focused event-store regression without changing assertions.
2026-09-09 11:34:52 +08:00
15d9f25b44
fix(01-12): repair event phase type fixtures
...
- Import the existing block event environment contract. - Type focused invocation, raw-event, and map lifecycle fixtures without changing behavior.
2026-09-09 11:33:34 +08:00
073e009816
test(01-11): cover legacy map event dispatch
...
- prove an existing point-event id reaches the mover executor\n- assert PointEvent source and approved locator environment
2026-09-09 10:59:02 +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
8b2e58e9a2
test(01-09): cover high-compression point-event aggregation
...
- Reuses the point-event-only map fixture for LowCompression and HighCompression
- Asserts both paths preserve z-index and index-priority-eventId nesting
2026-09-09 10:26:22 +08:00
3df0b2afc5
fix(01-09): retain point-event-only map layers
...
- Treat non-empty pointEvents as valid layer save content
- Preserve layer z-index aggregation for compressed map saves
2026-09-09 10:25:11 +08:00
98d5958880
test(01-09): add point-event-only map aggregation regression
...
- Covers a dirty point event without matrix, static, or dynamic changes
- Asserts the low-compression layer keeps its z-index and nested event ids
2026-09-09 10:22:23 +08:00
6e96abb7a2
test(01-08): add GameEventStore behavior regression
...
- Covers public-barrel add/get and unknown-id behavior
- Verifies duplicate warning code and last-write-wins behavior
2026-09-09 00:42:29 +08:00
ff41ab3d6c
test(01-07): cover complete event mode matrix
...
- Verify unmatched triggers do not affect cut or reduction results.
- Cover unknown ids, hook trigger mapping, coordinates, and source environments.
2026-09-09 00:19:47 +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
d3eeb1eb19
feat(01-10): persist point event lifecycle state
...
- Add the approved coordinate-indexed pointEvents save field.
- Document preserve/crop resize and clear resize2 semantics.
2026-09-09 00:08:58 +08:00
bcfa1f9467
fix(01-10): restore tile defaults and stable event snapshots
...
- Rebuild raw tile event baselines on construction, set, load, and conversion.
- Preserve coordinate-owned point events through dynamic movement and copy save Maps.
2026-09-09 00:08:38 +08:00
974669b00a
fix(01-06): remove unsupported map upsert runtime calls
...
- Use explicit Map lookup and insertion in point and dynamic indexes.
- Keep raw event tests runnable in the Node Vitest environment.
2026-09-08 23:54:09 +08:00
a730f33195
fix(01-06): reject malformed raw event structures
...
- Validate map, layer, position, priority, and event id shapes before registration.
- Add dedicated logger codes and no-partial-registration coverage.
2026-09-08 23:53:39 +08:00
564ef25360
fix(01-06): wire raw point event ingestion
...
- Bind serialized point events to the coordinate event view.
- Select the event layer by its event alias and verify the static view stays clean.
2026-09-08 23:52:13 +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
bf6702be54
feat: 录像系统
2026-07-16 20:34:28 +08:00
8677271b69
style: LF -> CRLF
2026-07-13 23:22:31 +08:00
f6383e41e8
feat: 录像数组
2026-07-13 23:19:17 +08:00
376b0fcac5
feat: 装备系统
2026-07-10 15:30:20 +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
6029d038c6
feat: IITemStore
2026-07-01 22:19:48 +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
327bdc840b
docs: 更新提示词
2026-06-29 23:08:31 +08:00
1ce0283743
feat: 勇士默认撞击行为
2026-06-29 21:44:22 +08:00
c4bcecdf8a
feat: 勇士撞击行为
2026-06-29 19:57:46 +08:00
0508dfb9e4
feat: 地形通行性判断
2026-06-28 22:42:27 +08:00
eb34d63e96
feat: 图块信息接口
2026-06-28 19:32:46 +08:00
3e150c4a1d
refactor: 合并 follower 和 followersController
2026-06-28 16:39:42 +08:00
13e778d072
fix: Mover 可以直接设置位置和朝向
2026-06-28 16:00:59 +08:00
abaa5206c5
chore: 调整勇士相关接口
2026-06-28 15:35:30 +08:00
fadcc98864
refactor: 跟随者与勇士移动
2026-06-27 20:33:49 +08:00
02bf39a62d
chore: 调整勇士属性接口
2026-06-19 01:21:03 +08:00
566ffc586a
chore: 战斗返回值调整
2026-06-17 20:24:28 +08:00
9f62d8768e
feat: 战斗流程
2026-06-14 00:31:10 +08:00
604c77f7c7
refactor: 怪物接口拓展自 IStateBaseExtended
2026-06-12 22:55:08 +08:00
c48f91c25c
refactor: 修改 mover 名称
2026-05-29 14:07:21 +08:00
2c89a4ac37
chore: 移除无用文件
2026-05-18 15:41:33 +08:00
370f285964
refactor: 删除污染严重的 TEnemy 和 THero,仅在战斗系统中包含
2026-05-17 23:56:40 +08:00
13e8547a37
refactor: 触发器类型问题
2026-05-17 23:27:29 +08:00
03dc5ea60b
feat: 触发器收集
2026-05-17 22:56:01 +08:00
7428f41c93
refactor: 移除 data-utils 包
2026-05-17 22:03:22 +08:00
0f5b1f4d80
refactor: 删除旧 Range 接口
2026-05-17 21:50:49 +08:00
b779e62eb2
refactor: 统一三个数据层的接口风格
2026-05-17 21:38:29 +08:00
8f4c4b7df2
refactor: 将 Layer 0 单独放到一个包
2026-05-17 21:32:23 +08:00
bf781c5ee8
feat: 静态触发器存储
2026-05-17 20:49:08 +08:00
13fc4e1b7c
refactor: TileStore
2026-05-17 16:31:08 +08:00
501a598de0
feat: 触发器系统
2026-05-16 23:43:14 +08:00
9ada0796b3
refactor: Layer2 数据拆分至 data-system
2026-05-16 17:06:18 +08:00
93b5349248
refactor: 激光地图伤害换用新 IFaceManager 接口
2026-05-12 19:59:10 +08:00
43ad3fd83e
feat: IEnemyHandler 引入 IStateBase 成员
2026-05-12 17:26:57 +08:00
0da19e1697
refactor: 战斗系统文件结构
2026-05-12 17:11:33 +08:00
8ea0c12024
refactor: 新增朝向系统
2026-05-12 15:20:50 +08:00
fbdd609001
feat: 动态图层
2026-05-11 23:35:46 +08:00
4c48b63e7e
refactor: 地图分区与尺寸优化
2026-05-06 19:57:11 +08:00
c43bfa2ab0
refactor: 地图存档的加载适配
2026-04-26 15:31:27 +08:00
70a58ef4dc
refactor: 地图存储
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 13:33:49 +08:00
476f735adc
refactor: manager 的复用方案 & fix: 类型错误
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 23:12:18 +08:00
2ce50bf23e
refactor: 怪物管理器存档
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 22:17:01 +08:00
8c1becc9f1
refactor: 存档系统 & 勇士属性存档
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 17:29:13 +08:00
ec59a44efc
refactor: CoreState 一部分类型声明挪到 data-base
2026-04-21 21:01:53 +08:00
1a569804d8
refactor: getFlag
CodeQL / Analyze (javascript) (push) Has been cancelled
2026-04-21 15:46:59 +08:00
51e9d758d8
refactor: 渲染端结构
2026-04-19 22:52:32 +08:00
ebae685a4e
refactor: flag 系统
2026-04-18 22:39:37 +08:00
ebfe59b4f5
chore: 注释调整与接口微调
2026-04-18 16:22:58 +08:00
79d06c31df
refactor: 伤害计算
2026-04-17 17:49:24 +08:00
eaa725553b
refactor: 怪物系统与勇士属性系统联动
2026-04-17 15:34:44 +08:00
92ff489811
refactor: 勇士状态
CodeQL / Analyze (javascript) (push) Has been cancelled
2026-04-16 22:31:39 +08:00
c22a51829d
refactor: IHeroState
2026-04-16 17:15:04 +08:00