eeb101458a
Project CI / Backend tests (pull_request) Failing after 34s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m27s
Project CI / Native shell tests (pull_request) Failing after 2m46s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m58s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m23s
Project CI / AI game creator shell web tests (pull_request) Failing after 45s
Project CI / Frontend tests (pull_request) Successful in 2m24s
Project CI / Repository checks (pull_request) Failing after 1m1s
# Conflicts: # apps/ai-game-creator-shell/src-tauri/src/game_distribution_publish.rs # apps/ai-game-creator-shell/src/components/game-distribution/GameDistributionPublishPanel.tsx # apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx # docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md # package.json # packages/shared/src/contracts/gameDistribution.ts # scripts/check-game-distribution-dto-parity.mjs # server-rs/crates/api-server/src/modules/game_distribution.rs # server-rs/crates/module-game-distribution/src/errors.rs # server-rs/crates/module-game-distribution/src/lib.rs # server-rs/crates/shared-contracts/src/game_distribution.rs # server-rs/crates/spacetime-client/src/active.rs # server-rs/crates/spacetime-client/src/active/mapper.rs # server-rs/crates/spacetime-client/src/active/mapper/game_distribution.rs # server-rs/crates/spacetime-client/src/game_distribution.rs # server-rs/crates/spacetime-client/src/module_bindings.rs # server-rs/crates/spacetime-client/src/module_bindings/game_distribution_game_snapshot_type.rs # server-rs/crates/spacetime-client/src/module_bindings/game_distribution_game_type.rs # server-rs/crates/spacetime-module/src/game_distribution.rs # server-rs/crates/spacetime-module/src/migration.rs # src/components/game-distribution/GameDetailPage.tsx # src/components/game-distribution/GameDistributionPages.test.tsx # src/components/game-distribution/GamePlayPage.tsx # src/components/platform-entry/PlatformEntryActiveFlowShell.tsx # src/services/gameDistributionClient.test.ts # src/services/gameDistributionClient.ts
module-runtime 独立模块 package 占位说明
日期:2026-04-20
1. package 职责
module-runtime 是运行时状态基座模块 package,后续负责:
runtime_snapshot、runtime_setting等主状态模型- profile dashboard、browse history、save archive 相关读写模型
- 运行时状态归一化与兼容聚合快照策略
- 与
apps/api-server的 runtime facade 对接 - 与
apps/spacetime-module的运行时表与 view 聚合对接
2. 当前阶段说明
当前已进入 DDD 分层拆分阶段,但仍以小切片推进,不提前改动未冻结的表结构、projection 与接口实现。
后续与本 package 直接相关的任务包括:
- 设计
runtime_snapshot、runtime_setting - 设计
profile_dashboard_state、profile_wallet_ledger - 设计
profile_played_world、profile_save_archive、user_browse_history - 落地存档、设置、资料页兼容接口
已落地的拆分切片:
runtime settings的默认值、平台主题值对象与设置聚合已迁入src/domain.rs,根入口通过pub use domain::*保持原有 crate API。- runtime snapshot、profile dashboard、wallet、recharge、referral、played world、play stats、save archive 的快照、输入、过程结果与记录投影类型已迁入
src/domain.rs。 - settings、browse history、profile/save 三组字段错误和中文错误文案已迁入
src/errors.rs。 - settings、browse history、profile/save 等输入构造和写入归一化函数已迁入
src/commands.rs。 - settings、browse history、profile/save 等记录投影 builder 已迁入
src/application.rs。 - checkpoint、profile/save archive meta、充值/邀请/兑换/钱包等剩余纯规则已迁入
src/application.rs,spacetime-module只保留表事务读写,api-server只保留 HTTP/BFF 映射。 - 详细边界与验收记录见:
docs/【玩法创作】平台入口与玩法链路-2026-05-15.mddocs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.mddocs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.mddocs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.mddocs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.mddocs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
3. 边界约束
module-runtime负责运行时状态真相与模块级 facade 编排,不把主状态继续留在旧式大 JSON repository 中。- 兼容快照可以作为聚合产物保留,但不能再次成为唯一真相。
- 前端兼容接口由
apps/api-server暴露,状态表与 view 最终由apps/spacetime-module聚合。