NodeConsoleApp2-SpineAssets 是 NodeConsoleApp2 的独立素材制作工程。
它的职责不是实现战斗规则,而是承担以下工作:
- 接收主工程拷贝进来的单角色
character_request目录 - 在本仓库内管理
Spine素材加工与中间态 - 装配同一
presentationId下的多个skin / variant - 预览、校验并输出供主工程消费的正式
Spine bundle
当前仓库是独立工程、独立 git,后续可以单独建立远端仓库并独立推进,不依赖主游戏仓库的提交流程。
当前仓库已完成:
1工程底座与输入输出约定的最小基线2样本回归验证链路3.1输入接收的最小可用基线3.5交付包导出的最小可用基线- 首轮自测、验收清单和会话交接文档建立
当前活跃节点:
3 / 3.2 任务建档
当前阶段进展:
3.1输入接收已经完成最小request -> package -> export基线、校验链与预览证据- 当前正在把
3.2 任务建档、3.3 拆件加工、3.4 角色包收口和3.6 运行验收重构为一套统一的中文线性主流程
当前主线说明:
- 正式生产主线按线性六步表达:
3.1 输入接收3.2 任务建档3.3 拆件加工3.4 角色包收口3.5 交付包导出3.6 运行验收
2样本回归验证继续保留,但只作为回归验证线- 主工程消费接入后移到
4 / 4.1 主工程导入与交付规范
推荐执行顺序:
npm run blackbox:prepare -- cloud_stub openai_cloud_stub
npm run blackbox:run -- cloud_stub openai_cloud_stub
npm run blackbox:validate
npm run blackbox:collect
npm run packages:validate
npm run packages:preview
npm run exports:build
npm run exports:validate
npm run exports:preview- 复制配置模板:
cp config/source-project.example.json config/source-project.json- 执行主工程目录同步:
npm run sync:catalog- 产物会写到:
workspace/imports/game_catalog.json
说明:
config/source-project.json内的相对路径一律相对该配置文件所在目录解析- 默认样例会把主工程定位到
../../NodeConsoleApp2/NodeConsoleApp2
workspace/requests/- 正式输入目录,一个角色一个
character_request
- 正式输入目录,一个角色一个
workspace/blackbox_jobs/- blackbox 运行态 job、输入快照、证据和日志
workspace/packages/- 仓内标准中间态,不对主工程暴露
workspace/exports/- 主工程正式消费的交付物
workspace/preview/- 人工验收截图、HTML 证据页和结构化报告
workspace/blackbox_jobs/- 黑盒任务工作目录、证据与日志
从 workspace/requests/ 生成 blackbox job 工作目录:
npm run blackbox:prepare校验当前 blackbox_jobs 根目录:
npm run blackbox:validate执行 provider,生成 blackbox 计划文件、证据与组件图:
npm run blackbox:run把 blackbox 结果收口回 package:
npm run blackbox:collect生成黑盒任务预览页:
npm run blackbox:preview云端 AI 可选环境变量:
export OPENAI_API_KEY=...
export OPENAI_BLACKBOX_MODEL=gpt-5.4-mini
export OPENAI_BASE_URL=https://api.openai.com/v1NanoBanana 可选环境变量:
export NANO_BANANA_ENABLED=true
export NANO_BANANA_API_KEY=...
export NANO_BANANA_BASE_URL=https://nanoapi.poloai.top/v1
export NANO_BANANA_MODEL=gemini-2.5-flash-image说明:
blackbox:prepare对应3.2 任务建档,会为每个 request 生成一个稳定jobId- job 会冻结
input/request.json与input/art|notes|refs - 当前第一阶段默认 provider 是
manual - 需要走云端 stub 时,可以直接覆盖 prepare/run 的 provider:
npm run blackbox:prepare -- cloud_stub openai_cloud_stub
npm run blackbox:run -- cloud_stub openai_cloud_stubcloud_stub在未配置OPENAI_API_KEY时会稳定回退为离线 stub,并把回退信息写进provider_report.json- 若已配置
OPENAI_API_KEY,则会优先尝试调用 OpenAI Responses API 获取真实规划 JSON;请求失败时 job 会明确标记为failed - 默认不会调用图像生成接口;只有在显式设置
NANO_BANANA_ENABLED=true后,才会按 slot 调用 NanoBanana 生成render.png - 图像生成接口较贵,建议仅在你明确要产出真实组件图时开启;日常验证继续使用默认离线回退路径
blackbox:run对应3.3 拆件加工blackbox:collect对应3.4 角色包收口,会把artifacts/variant_plan.json合并进workspace/packages/<presentationId>/variants/*/variant.json,使拆件结果真正成为 package 装配事实
当前 blackbox 基线产物:
workspace/blackbox_jobs/<jobId>/job.jsonworkspace/blackbox_jobs/<jobId>/input/workspace/blackbox_jobs/<jobId>/artifacts/workspace/blackbox_jobs/<jobId>/evidence/workspace/blackbox_jobs/<jobId>/logs/workspace/preview/blackbox/index.html
从 workspace/requests/ 生成最小 package 脚手架:
npm run packages:build校验当前 requests 根目录:
npm run requests:validate校验当前 packages 根目录:
npm run packages:validate生成人工检查用的 package 中间态预览页:
npm run packages:preview说明:
packages:build会把workspace/requests/下的请求目录转换成最小可校验的 package 基线packages:build只生成 package 骨架与source/快照,不再直接把组件收口为readypackages:validate默认执行严格校验,只接受已经过blackbox:collect收口、且组件readiness=ready的 packagepackages:preview会把workspace/packages/下的 package 中间态写成可浏览的 HTML 页面和结构化报告;即使仍在pending_blackbox阶段也可预览- 经过
blackbox:collect后,package 内的variant.json会带上黑盒收口后的requiredComponents / notes / source.blackboxVariantPlan - request 原画主纹理支持
png / jpg / jpeg / webp;若存在可识别的位图源文件,会直接沿用其扩展名作为 package 的首张 texture page - 这三个命令会遍历
workspace/requests/或workspace/packages/下的子目录 - 单目录调试时,也可以直接运行:
node tools/build_request_package.mjs workspace/requests/<characterRequestId> workspace/packages
node tools/validate_character_request.mjs workspace/requests/<characterRequestId>
node tools/validate_spine_package.mjs workspace/packages/<presentationId>
node tools/build_package_preview.mjs workspace/packages/<presentationId> workspace/preview/packages当前 package 基线会额外产出:
source/request_snapshot.json- 记录 request 的最小元数据和拷贝进 package 的文件清单
source/art/source/notes/source/refs/- 保存从 request 拷贝进 package 的源文件副本
components/slot_*- 基于
requiredSlots[]生成的组件目录,内部含descriptor.json记录status / sourceFiles / artifactFiles
- 基于
当前 package 预览产物:
workspace/preview/packages/index.htmlworkspace/preview/packages/report.jsonworkspace/preview/packages/assets/
从 workspace/packages/ 生成正式 export bundle:
npm run exports:build校验生成后的 request-driven bundle:
npm run exports:validate生成 request-driven 预览页与报告:
npm run exports:preview生成单页全过程验收模板:
npm run workflow:preview说明:
- 当前 baseline 会把
workspace/packages/下的所有 package 组装进同一个request_driven_bundle exports:build会校验每个variant.requiredComponents对应组件是否readiness=ready,并要求reviewStatus位于允许导出集合- 导出的
character_manifest.json会直接带出每个 variant 的requiredComponents / notes / resourceOverrides exports:preview会把变体备注与组件需求一起展示出来,便于人工核对同一presentationId下多个 skin/variant 的装配差异- 单目录调试时,也可以直接运行:
node tools/build_request_bundle.mjs workspace/packages/<presentationId> workspace/exports/<bundleId> <bundleId>
node tools/validate_request_bundle.mjs workspace/exports/<bundleId>
node tools/build_request_preview.mjs workspace/exports/<bundleId> workspace/preview/<bundleId>当前 request-driven 预览产物:
workspace/preview/request_driven_bundle/index.htmlworkspace/preview/request_driven_bundle/report.jsonworkspace/preview/request_driven_bundle/assets/
当前全过程验收预览产物:
workspace/preview/workflow/index.htmlworkspace/preview/workflow/report.jsonworkspace/preview/workflow/assets/
说明:
workflow:preview会把同一案例的输入接收 -> 任务建档 -> 拆件加工 -> 角色包收口 -> 交付包导出 -> 运行验收串成一个单页- 页面会直接展开关键输入/输出文件,包括
request.json / job.json / layer_plan.json / slot_map.json / variant_plan.json / descriptor.json / character_manifest.json - 最后一步的运行时对象是从 package 和 export 数据派生的运行时快照,用于人工验收,不代表已经接入战斗运行时
执行完整 2.1 官方样本导入、Rig 与导出验证:
npm run samples:b1该命令会顺序执行:
npm run samples:fetchnpm run samples:buildnpm run samples:validatenpm run samples:preview
关键产物:
- 官方样本目录:
workspace/samples/official/ - 正式样本 bundle:
workspace/exports/b1_official_samples/ - 静态预览页:
workspace/preview/b1_official_samples/index.html - 预览截图证据:
workspace/preview/b1_official_samples/preview.png
DOC/CODEX_DOC/- 正式文档
config/- 本地源工程配置
spec/contracts/- 输入输出契约 schema
tools/- 同步与校验工具
workspace/requests/- 主工程拷贝进来的正式角色请求目录
workspace/packages/- 仓内标准中间态与装配产物
workspace/exports/- 导出给主工程的 bundle
workspace/spine_projects/Spine源工程工作区
workspace/preview/- 预览产物