# 项目规则 ## 目标与工作边界 - 开发基于 Web 的小丑牌式单人构筑游戏,以规则正确、完整对局和复古牌桌表现为优先级。 - 用户已授权实施;实施范围以 `docs/implementation-plan.md` 为依据,实际首版规则以 `docs/rules.md` 为准。 - 附图仅作为视觉参考;图中局内数值不能直接作为默认规则。 - 已核实规则、社区资料和本项目设计选择应明确区分;不声明尚未验证的原作一致性。 ## 目录约定 - 根目录:项目规范、README、依赖和构建配置。 - `docs/`:方案、规则研究、验收记录;Markdown 文件用小写短横线命名。 - `src/core/`:纯 TypeScript 规则、状态、随机数与结算,不依赖 DOM、渲染引擎或音频。 - `src/content/`:带稳定 ID 的牌型、小丑、盲注、消耗品等内容定义。 - `src/app/`:用户命令、状态流转、存档及表现层协调。 - `src/render/`:牌桌、卡牌、动效、着色器、输入命中;只能消费核心状态与事件。 - `src/platform/`:浏览器存储、音频、窗口和生命周期适配。 - `public/assets/`:运行时美术、字体、音频;来源与许可记录在 `docs/assets.md`,素材导入前建立该文件。 - `tests/`:规则测试、组合用例、对局与浏览器验收;禁止用生产实现自身生成唯一预期结果。 - `artifacts/`:可复查的截图和验收输出;临时文件使用系统临时目录,阶段结束清理无用输出。 - 不提前创建空目录;新增职责或改变边界先修改此文档。若后续增加 CLAUDE.md,须与此规范保持一致。 ## 实现约束 - 所有 shell 命令遵守 `/Users/richard/.codex/RTK.md`,通过 `rtk` 或 `rtk proxy` 执行。 - 计分由核心引擎一次确定并输出事件序列;动画不负责修改得分或发放奖励。 - 随机数可设种子、可保存状态;商店、抽牌和效果使用独立随机流。 - 实例 ID 与内容 ID 分离;允许重复点数、花色和重复内容实例。 - 禁止把小丑效果、Boss 规则写进卡牌绘制或点击处理函数。 - 使用自制或可使用的素材;截图不能充当交互界面或直接拆作牌面资源。 - 先做规则和完整流程的针对性验证,再验证画面、触屏、性能与兼容性;如实记录未验证平台。