Isaac 模组工作流
绝不要因为某个《以撒的结合》API 名称听起来合理就自行编造。合理的名称并非证据。请先搜索;如果仍找不到,就返回 UNVERIFIED。
路由任务
- 编辑用户模组前先检查:
metadata.xml、main.lua、内容 XML、包含文件、依赖副本以及目标/版本说明。 - 确定目标构建版本以及 REPENTOGON/库是否可用。若未指定,仅将仓库锁定版本作为研究基线。不要声称用户的运行环境与该锁定版本一致或向前兼容。
- 将请求转化为作用域、归属、生命周期、合作模式、资源、依赖、兼容性、性能和测试需求。对于 Boss/角色/关卡或大型系统,先编写简短规格说明。如果视觉效果发生变更,盘点所需资源并阅读图形制作规则。仅在需要时创建美术资源;在最终 PNG/ANM2 工作前先定义好工作表/动画契约。
- 搜索 indexes/tasks.json、别名,然后搜索精确的符号。阅读 knowledge/INDEX.md 以及仅针对相关领域生成的、附带源码链接的记录。
- 当 REPENTOGON 启用时,同时搜索原始和 REPENTOGON 记录;对于该目标,显式的 REPENTOGON 修改记录优先。
- 检查回调语义、版本精度、冲突/问题、可行性、本地合作模式、状态生命周期、XML/资源、性能和兼容性。
- 选择带有依赖标签的模式。区分脚手架与黄金静态参考;
runtime_tested: false绝不意味着经过游戏玩法验证。 - 实施最小且与架构兼容的变更。重用现有模块、ID、回调、辅助函数和风格。在理解项目之前,不要创建替代性的
main.lua。 - 运行
python scripts/validate_kb.py --project <mod-folder> --ecosystem <vanilla|repentogon>以及prompts/下的相关审计。 - 报告依赖、所使用的确切证据、验证限制以及针对性的游戏内测试。
当检索需要精确度时:
- 在 indexes/symbols.json 中搜索精确的 API/枚举/XML。
- 在 indexes/callbacks.json 中搜索参数、过滤器、返回值以及 REPENTOGON 的修改。
- 在 indexes/aliases.json 中搜索自然语言术语。
- 在 indexes/errors.json 中搜索基于症状的路由。
- 在非标准工作前使用 knowledge/feasibility.md。
- 对于确切的语义,在检查
.cache/upstreams/<source>/检出目录下记录的source_path的 HEAD 与注册表锁定版本一致后,再读取该文件。如果不一致,使用git show <pin>:<path>读取锁定的文件;不要将新的检出视为已锁定的证据。如果文件不存在,运行经过审查的安全更新工作流,并在接受新的锁定版本前审查源码变更。
在对比当前原生的 REPENTOGON 和已维护库的选项之前,不要重新实现关卡、自定义血量、小地图、配置、成就或通关系统。除非项目已在使用或用户接受,否则不要将 IsaacScript/TypeScript 或某个库混入普通 Lua。
非协商性检查
- 确认回调参数、过滤器、返回类型、取消/替换行为,以及 REPENTOGON 是否修改了原始回调。
- 在标准化记录中确认类成员拼写和版本标记。
- 根据当前记录或提取的本地资源确认实体类型/变体/子类型以及 XML 属性。永远不要猜测数字 ID 或资源路径。
- 对玩家属性和跟班数量使用缓存回调。在记录有文档说明的地方使用显式回调过滤器。避免在每帧/渲染回调中执行全房间扫描,除非经过测量且过滤条件严格。
- 保持玩家归属和本地合作模式的显式化。不要假设玩家索引为 0。
- 保持存档数据的 JSON 安全;仅在游戏开始后加载,并在记录的生命周期点保存。在解码旧或不完整的存档时保留默认值。
- 不要复制或修改已安装的游戏资源。允许记录派生路径。
- 将图形视为游戏资源:匹配实际的 PNG 裁剪、ANM2、Lua/XML 和动画事件。占位图仅用于开发阶段,不能作为最终版本。没有经过观察的游戏内视觉测试,记录
visual_runtime_tested: false。
仅读取任务所需的内容
- API/回调问题:生成的目录以及 knowledge/callbacks/critical-callbacks.md。
- XML/资源/动画/房间工作:
knowledge/下的匹配指南以及schemas/下的架构文件。 - 新精灵、服装、重新上色或动画工作:图形制作、动画规格模板 和 视觉质量审核。运行
scripts/gfx_audit.py <mod-folder>;使用--release进行最终资源/就绪状态门控。 - 实现:patterns/INDEX.md 及匹配的模式族。
- 调试:knowledge/debugging/decision-tree.md。
- 库:knowledge/libraries/index.md;在调用某个库之前先阅读其当前的公开文档/代码。
当可信引用中不包含所请求的 API 时,说明其在索引版本中未经验证或不存在。不要编造备选方案。