Commit Graph

62 Commits

Author SHA1 Message Date
458135037c refactor(09-04): clean up main.tsx after status ownership migration
- remove replayStatus/leftStatus/rightStatus defs, updateStatus, updateDataFallback

- remove dead write-only locked ref and attributeHook + its onUnmounted

- drop status={...} props on LeftStatusBar/RightStatusBar

- hideStatus now reads flag default once at setup + // TODO: (flags has no listen system)

- preserve hideStatus consumers, map render, interaction handlers, mainUIController, MainSceneUI

- drop now-unused imports (onUnmounted/reactive/ILeftHeroStatus/IRightHeroStatus/ReplayingStatus)
2026-10-09 18:53:04 +08:00
61b618e533 refactor(09-04): migrate status-bar state ownership into statusBar.tsx
- LeftStatusBar/RightStatusBar self-own leftStatus/rightStatus (reactive)

- attributes+lv refresh via hero.attribute.addHook({ onUpdateAttribute })

- floor trigger via hero.location.addHook({ onSetFloor }); value stays legacy core.status.floorId

- no-hook fields (up/items/debuff/replay/exampleHard) left as // TODO:

- onUnmounted unloads both hooks; StatusBarProps drops status member and generic
2026-10-09 18:51:26 +08:00
699b0b09a0 refactor(09-3): align main/statusBar/toolbar to props.state (D-11/D-13)
- main.tsx: add MainSceneProps extends IUIPropsBase + props decl; mainMapRenderer/mainMapExtension/flags/9x getFinalAttribute/addHook -> props.state; thread state={props.state} to LeftStatusBar/RightStatusBar; D-13 TODOs (3); keep state/using/mainUIController
- statusBar.tsx: StatusBarProps base + IUIPropsBase + 'state' prop; client.materials -> p.state.materials; thread state to MixedToolbar
- toolbar.tsx: ToolbarProps/ReplayingProps base + IUIPropsBase + 'state' prop; client.materials -> props.state.materials; thread state to child toolbars
2026-10-09 17:17:31 +08:00
d1f167ce6f refactor(09-3): align settings.tsx to props.state (D-11/D-13)
- MainSettingsProps base IUIDefaultPropsBase -> IUIPropsBase; props array adds 'state'
- client.flags -> props.state.flags (2 sites); drop client import
- D-13: add // TODO: at both __seed__ flags read sites
2026-10-09 17:17:22 +08:00
2ed60467a1 feat(09-02): rewire cross-dir consumers, add package-root ./ui barrel, delete render/ui
- render/index.tsx: imports now '../ui' / '../ui/load'; remove the './ui' re-export (dead link + D-69)
- render/action.ts: import './ui' -> '../ui'
- client.ts: import './render/ui/load' -> './ui/load'
- index.ts: add export * from './ui' (ui surface kept via package root)
- delete render/ui/{title,load,index}; remove the now-empty render/ui directory
2026-10-09 17:04:30 +08:00
964f479270 feat(09-02): migrate main/settings/statusBar/toolbar to src/ui and rebuild barrel
- Move render/ui/{main,settings,statusBar,toolbar}.tsx to src/ui/ with only relative specifiers rewritten
- Rewrite render capabilities to leaf modules (../render/use, ../render/renderer), never the ../render barrel
- Complete src/ui/index.ts with ./main ./settings ./statusBar ./toolbar + createUI()
- Delete the four old render/ui files
2026-10-09 16:59:54 +08:00
b637d3b5f3 feat(09-01): dedup controller/background and fix load/title props base (D-10)
- Move render/ui/controller.tsx -> src/ui/controller.tsx keeping only mainUIController + createMainController; import MainBackgroundUI from ./background
- Move MainBackground/MainBackgroundUI/MainBackgroundProps ownership to src/ui/background.tsx; drop ../render import; add DefaultProps (render-vue) + IUIDefaultPropsBase (system)
- Fix load.tsx/title.tsx props base: IUIDefaultPropsBase -> IUIPropsBase (own ./types); drop unused system import in title.tsx
- Rewrite render capability imports from ../render barrel to ../render/use leaf (avoid render/index.tsx <-> ui cycle)
- Complete barrel: + ./controller ./background ./func (7 same-dir exports)
- Delete old render/ui/controller.tsx
2026-10-09 15:57:03 +08:00
24ee08cc2d feat(09-01): migrate statistics.tsx and viewmap.tsx to src/ui (D-10)
- Move render/ui/statistics.tsx -> src/ui/statistics.tsx (verbatim copy)
- Move render/ui/viewmap.tsx -> src/ui/viewmap.tsx; rewrite ../use -> ../render/use, ../../shared -> ../shared; keep ./statistics
- Add export * from './statistics' and './viewmap' to src/ui/index.ts
- Delete old render/ui/statistics.tsx and render/ui/viewmap.tsx
2026-10-09 15:53:19 +08:00
3f5c323897 feat(09-01): migrate save.tsx to src/ui (D-10 leaf tracer)
- Move packages-user/client-modules/src/render/ui/save.tsx -> src/ui/save.tsx
- Rewrite relative specifiers: ../use -> ../render/use, ../utils -> ../render/utils, ../../shared -> ../shared
- Add export * from './save' to src/ui/index.ts (D-69 same-dir barrel)
- Delete old render/ui/save.tsx
2026-10-09 15:51:41 +08:00
acfb9c117d refactor: UI 系统及其在渲染端的初始化 2026-10-08 19:02:04 +08:00
46cad94aff refactor: UI 系统 2026-10-05 19:44:33 +08:00
ce459d9e2d chore: 调整部分错误 2026-10-04 15:44:52 +08:00
d306d11bce refactor(04-16): 渲染端去单例化第二步(挂载到主类) 2026-10-01 19:15:12 +08:00
bc7d631dc2 feat(04-14): 部分 UI 进一步接口适配·第二步(D-74..D-78)
D-78: main.tsx 状态栏更新改为在 client.hero.attribute 上 addHook({ onUpdateAttribute }) 并在 onUnmounted 注销;移除全局 hook 残留与手工调用垫片。

D-74/D-75: load.tsx 改依新加载系统 client.loader.start() + client.loader.manager.get*;移除旧接口成员与失效 @ts-expect-error。

D-76/D-77: 删除 render/index.tsx 的 restart 注释块、client.ts 两段兼容层注释、entry-client/src/create.ts 被注释接线与模块创建函数块。

仅含五个生产文件与 04-14-SUMMARY.md;未触用户 04-CONTEXT.md 并发改动。
2026-09-30 16:36:19 +08:00
d8fa4b8507 refactor: Delete global loading & hook object 2026-09-30 12:30:42 +08:00
bbdea04393 refactor: 地图前半部分 2026-09-28 23:36:54 +08:00
b3ac1d2164 chore: 提示词调整 2026-09-27 14:01:03 +08:00
81e4e98507 refactor(04-12): 桶导出边界修正——shared 单文件化 + 消费者直连 @user/client-base(D-69/D-70) 2026-09-25 14:21:14 +08:00
0b93426d47 refactor(04-11): 渲染端结构性移植——通用渲染资产下沉 @user/client-base(D-58..D-68)
- MOVE:39 个文件由 client-modules/src/render/ 移入 client-base/src/{components,elements,map,layout}/,删除原件
- D-58:新建 client-base/src/shared/(10 常量纯摘取)+ 被移 map 文件 shared 说明符改指 4 处
- D-63:client-base/src/index.ts 新增 5 条桶导出;14 个实现层消费者改指 @user/client-base
- D-66:client-base/package.json 新增 5 条 workspace:* 依赖 + 根 pnpm i(lockfile importer 同步)
- D-59 / D-60 / D-68:10 处架构耦合以带原因 // @ts-expect-error 暂记,不反向引用、不解耦
- D-62:命名一律不变;D-64 ?raw 不处理;D-65 legacy 一律不管
2026-09-24 17:14:43 +08:00
523ea6b333 style(04-09): collapse autotile.render call to satisfy prettier 2026-09-23 15:43:59 +08:00
88a21bf740 fix(04-09): complete texture interface adaptation in vertex/renderer
- vertex.ts: updateAutotile calls render; autotile checks use tileType; drop BlockCls import (D-43/D-44)

- renderer.ts: background autotile branches use tileType + render; add TileType import; drop BlockCls import (D-43/D-44)
2026-09-23 15:41:16 +08:00
d90c09f0a7 fix(04-09): adapt map render consumers to new texture interface
- hero.ts: hero texture literal builds tileType: TileType.Unknown (D-45)

- vertex.ts updateMoving: tileType destructure + autotile.render(tile, connection) (D-43/D-44)

- renderer.ts: autotile taken from manager.autotile; drop unused AutotileProcessor import (D-46)
2026-09-23 15:28:50 +08:00
d36ea69066 refactor: 贴图存储方式 2026-09-22 21:11:21 +08:00
78873d0a27 refactor(04-07): adapt material interfaces (drop big-image, inject state)
- delete MaterialManager big-image implementation (IBigImageReturn import, bigImageStore/bigImageData/bigImageId fields, 5 methods, setDefaultFrame coupling)
- change 7 consumers getIfBigImage -> getTile (door x2, hero x3, renderer, vertex); drop getOffsetPool big-image offset loop
- delete cache.ts legacy big-image path (RenderableDataBase.bigImage, literals, destructuring, enemys special-case, big-image branch, unused enemys decl)
- inject state via constructor into MaterialManager/AutotileProcessor/AssetBuilder/TrackedAssetData (from ClientCore; renderer uses manager.state)
- add MaterialManager.textures (dedicated TextureStore)
- declare @user/data-state in client-base/package.json (lockfile not synced)
2026-09-22 11:52:55 +08:00
4e305e392a refactor(type): material types. 2026-09-21 19:16:33 +08:00
50bd679fad feat: 渲染端配置加载 2026-09-21 10:09:20 +08:00
d65b107819 refactor: 渲染端配置文件 2026-09-20 23:49:27 +08:00
d12790280a feat: 完成数据端数据类型的构建 2026-09-20 19:11:43 +08:00
704294f9c3 fix(04-05): forward layer area/block updates via IMapLayerHooks 2026-09-20 16:46:17 +08:00
49d86a2c57 fix(04-05): read hero status via client attribute API 2026-09-20 16:43:05 +08:00
a3f3e90e47 style: hero render 2026-09-20 15:50:42 +08:00
3414233e34 refactor(04-04): align hero renderer with IFaceManager and split hooks
- inject IFaceManager into MapHeroRenderer; degrade/next use Dir4FaceHandler via FaceGroup.Dir4, movement uses hero.mover.faceHandler (Dir8)
- IMapExtensionManager.addHero gains faceManager param; manager.ts forwards it
- split MapHeroHook into MapHeroLocationHook / MapHeroMoverHook; onSetPos unconditional
- handle ObjectMoveType.AnimDir via step.dir
- replace mutate-animate TimingFn with @motajs/animate ExcitationCurve2D in hero.ts
2026-09-19 16:51:55 +08:00
4e649533ee chore: 内部接口改名 2026-09-19 12:33:10 +08:00
ed0b95b1c4 feat: CoreState 配置添加 loadStarter 2026-09-18 20:36:03 +08:00
f5a6ed8cf6 refactor: 加载系统 2026-09-18 20:30:40 +08:00
a3826bfa6a refactor(04-03): rebind hero renderer to IHeroLocation and existing hooks
- manager.ts / types.ts: heroMap, addHero, removeHero keyed by IHeroLocation
- hero.ts: bind IHeroLocation, read getCurrentFaceDirection, use ObjectAnimDirection
- MapHeroHook subscribes IHeroLocationHooks / IObjectMoverHooks with existing member names (D-21)
- IMapHeroRenderer drops the 8 external drive members per D-20; D-18 / D-22 members preserved
- hero.image read converged to one minimal compile bridge annotated for D-18
2026-09-18 15:55:02 +08:00
e9e9939bd8 refactor: 删除 data-state 中的 legacy 文件夹 2026-09-17 19:37:30 +08:00
a027b04d14 chore: 清空类型错误 2026-09-17 18:38:29 +08:00
10755475a4 refactor: 删除 legacy-plugin-data 2026-09-17 18:21:35 +08:00
94ceb50cfe refactor: 存档系统挪至渲染端 2026-09-17 13:29:34 +08:00
7eeab32134 refactor: 游戏地图接口重构 2026-08-21 01:39:47 +08:00
c48f91c25c refactor: 修改 mover 名称 2026-05-29 14:07:21 +08:00
c43bfa2ab0 refactor: 地图存档的加载适配 2026-04-26 15:31:27 +08:00
476f735adc refactor: manager 的复用方案 & fix: 类型错误
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 23:12:18 +08:00
1a569804d8 refactor: getFlag
Some checks failed
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
eaa725553b refactor: 怪物系统与勇士属性系统联动 2026-04-17 15:34:44 +08:00
92ff489811 refactor: 勇士状态
Some checks failed
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
4fc6db3e79 refactor: 客户端加载 2026-03-20 16:08:43 +08:00