Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

wgwtest/NodeConsoleApp2-SpineAssets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

NodeConsoleApp2-SpineAssets

NodeConsoleApp2-SpineAssetsNodeConsoleApp2 的独立素材制作工程。

它的职责不是实现战斗规则,而是承担以下工作:

  1. 接收主工程拷贝进来的单角色 character_request 目录
  2. 在本仓库内管理 Spine 素材加工与中间态
  3. 装配同一 presentationId 下的多个 skin / variant
  4. 预览、校验并输出供主工程消费的正式 Spine bundle

当前仓库是独立工程、独立 git,后续可以单独建立远端仓库并独立推进,不依赖主游戏仓库的提交流程。

当前阶段

当前仓库已完成:

  1. 1 工程底座与输入输出约定的最小基线
  2. 2 样本回归验证链路
  3. 3.1 输入接收的最小可用基线
  4. 3.5 交付包导出的最小可用基线
  5. 首轮自测、验收清单和会话交接文档建立

当前活跃节点:

  1. 3 / 3.2 任务建档

当前阶段进展:

  1. 3.1 输入接收已经完成最小 request -> package -> export 基线、校验链与预览证据
  2. 当前正在把 3.2 任务建档3.3 拆件加工3.4 角色包收口3.6 运行验收 重构为一套统一的中文线性主流程

当前主线说明:

  1. 正式生产主线按线性六步表达:
    • 3.1 输入接收
    • 3.2 任务建档
    • 3.3 拆件加工
    • 3.4 角色包收口
    • 3.5 交付包导出
    • 3.6 运行验收
  2. 2 样本回归验证继续保留,但只作为回归验证线
  3. 主工程消费接入后移到 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

快速开始

  1. 复制配置模板:
cp config/source-project.example.json config/source-project.json
  1. 执行主工程目录同步:
npm run sync:catalog
  1. 产物会写到:
workspace/imports/game_catalog.json

说明:

  1. config/source-project.json 内的相对路径一律相对该配置文件所在目录解析
  2. 默认样例会把主工程定位到 ../../NodeConsoleApp2/NodeConsoleApp2

当前工作区语义

  1. workspace/requests/
    • 正式输入目录,一个角色一个 character_request
  2. workspace/blackbox_jobs/
    • blackbox 运行态 job、输入快照、证据和日志
  3. workspace/packages/
    • 仓内标准中间态,不对主工程暴露
  4. workspace/exports/
    • 主工程正式消费的交付物
  5. workspace/preview/
    • 人工验收截图、HTML 证据页和结构化报告
  6. workspace/blackbox_jobs/
    • 黑盒任务工作目录、证据与日志

3.1 输入接收与 3.2-3.4 中间加工命令

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/v1

NanoBanana 可选环境变量:

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

说明:

  1. blackbox:prepare 对应 3.2 任务建档,会为每个 request 生成一个稳定 jobId
  2. job 会冻结 input/request.jsoninput/art|notes|refs
  3. 当前第一阶段默认 provider 是 manual
  4. 需要走云端 stub 时,可以直接覆盖 prepare/run 的 provider:
npm run blackbox:prepare -- cloud_stub openai_cloud_stub
npm run blackbox:run -- cloud_stub openai_cloud_stub
  1. cloud_stub 在未配置 OPENAI_API_KEY 时会稳定回退为离线 stub,并把回退信息写进 provider_report.json
  2. 若已配置 OPENAI_API_KEY,则会优先尝试调用 OpenAI Responses API 获取真实规划 JSON;请求失败时 job 会明确标记为 failed
  3. 默认不会调用图像生成接口;只有在显式设置 NANO_BANANA_ENABLED=true 后,才会按 slot 调用 NanoBanana 生成 render.png
  4. 图像生成接口较贵,建议仅在你明确要产出真实组件图时开启;日常验证继续使用默认离线回退路径
  5. blackbox:run 对应 3.3 拆件加工
  6. blackbox:collect 对应 3.4 角色包收口,会把 artifacts/variant_plan.json 合并进 workspace/packages/<presentationId>/variants/*/variant.json,使拆件结果真正成为 package 装配事实

当前 blackbox 基线产物:

  1. workspace/blackbox_jobs/<jobId>/job.json
  2. workspace/blackbox_jobs/<jobId>/input/
  3. workspace/blackbox_jobs/<jobId>/artifacts/
  4. workspace/blackbox_jobs/<jobId>/evidence/
  5. workspace/blackbox_jobs/<jobId>/logs/
  6. 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

说明:

  1. packages:build 会把 workspace/requests/ 下的请求目录转换成最小可校验的 package 基线
  2. packages:build 只生成 package 骨架与 source/ 快照,不再直接把组件收口为 ready
  3. packages:validate 默认执行严格校验,只接受已经过 blackbox:collect 收口、且组件 readiness=ready 的 package
  4. packages:preview 会把 workspace/packages/ 下的 package 中间态写成可浏览的 HTML 页面和结构化报告;即使仍在 pending_blackbox 阶段也可预览
  5. 经过 blackbox:collect 后,package 内的 variant.json 会带上黑盒收口后的 requiredComponents / notes / source.blackboxVariantPlan
  6. request 原画主纹理支持 png / jpg / jpeg / webp;若存在可识别的位图源文件,会直接沿用其扩展名作为 package 的首张 texture page
  7. 这三个命令会遍历 workspace/requests/workspace/packages/ 下的子目录
  8. 单目录调试时,也可以直接运行:
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 基线会额外产出:

  1. source/request_snapshot.json
    • 记录 request 的最小元数据和拷贝进 package 的文件清单
  2. source/art/ source/notes/ source/refs/
    • 保存从 request 拷贝进 package 的源文件副本
  3. components/slot_*
    • 基于 requiredSlots[] 生成的组件目录,内部含 descriptor.json 记录 status / sourceFiles / artifactFiles

当前 package 预览产物:

  1. workspace/preview/packages/index.html
  2. workspace/preview/packages/report.json
  3. workspace/preview/packages/assets/

3.5 交付包导出命令

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

说明:

  1. 当前 baseline 会把 workspace/packages/ 下的所有 package 组装进同一个 request_driven_bundle
  2. exports:build 会校验每个 variant.requiredComponents 对应组件是否 readiness=ready,并要求 reviewStatus 位于允许导出集合
  3. 导出的 character_manifest.json 会直接带出每个 variant 的 requiredComponents / notes / resourceOverrides
  4. exports:preview 会把变体备注与组件需求一起展示出来,便于人工核对同一 presentationId 下多个 skin/variant 的装配差异
  5. 单目录调试时,也可以直接运行:
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 预览产物:

  1. workspace/preview/request_driven_bundle/index.html
  2. workspace/preview/request_driven_bundle/report.json
  3. workspace/preview/request_driven_bundle/assets/

3.6 运行验收产物

当前全过程验收预览产物:

  1. workspace/preview/workflow/index.html
  2. workspace/preview/workflow/report.json
  3. workspace/preview/workflow/assets/

说明:

  1. workflow:preview 会把同一案例的 输入接收 -> 任务建档 -> 拆件加工 -> 角色包收口 -> 交付包导出 -> 运行验收 串成一个单页
  2. 页面会直接展开关键输入/输出文件,包括 request.json / job.json / layer_plan.json / slot_map.json / variant_plan.json / descriptor.json / character_manifest.json
  3. 最后一步的运行时对象是从 package 和 export 数据派生的运行时快照,用于人工验收,不代表已经接入战斗运行时

2 样本回归验证

执行完整 2.1 官方样本导入、Rig 与导出验证:

npm run samples:b1

该命令会顺序执行:

  1. npm run samples:fetch
  2. npm run samples:build
  3. npm run samples:validate
  4. npm run samples:preview

关键产物:

  1. 官方样本目录:workspace/samples/official/
  2. 正式样本 bundle:workspace/exports/b1_official_samples/
  3. 静态预览页:workspace/preview/b1_official_samples/index.html
  4. 预览截图证据:workspace/preview/b1_official_samples/preview.png

文档入口

  1. 工程策略映射
  2. 工程总体分析
  3. 总体设计
  4. 双仓库协作规则
  5. Request-driven Spine 素材生产链设计
  6. 2 样本回归验证设计
  7. 3 正式生产主线实施计划
  8. 2 样本回归验证自测报告

目录

  • DOC/CODEX_DOC/
    • 正式文档
  • config/
    • 本地源工程配置
  • spec/contracts/
    • 输入输出契约 schema
  • tools/
    • 同步与校验工具
  • workspace/requests/
    • 主工程拷贝进来的正式角色请求目录
  • workspace/packages/
    • 仓内标准中间态与装配产物
  • workspace/exports/
    • 导出给主工程的 bundle
  • workspace/spine_projects/
    • Spine 源工程工作区
  • workspace/preview/
    • 预览产物

About

NodeConsoleApp2 的独立 Spine 素材制作工程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /