Skip to content

feat(metadata): 核心构建展平契约、Imaging 与消费端文档 - #8

Open
mrbbbaixue wants to merge 11 commits into
mainfrom
dev
Open

feat(metadata): 核心构建展平契约、Imaging 与消费端文档#8
mrbbbaixue wants to merge 11 commits into
mainfrom
dev

Conversation

@mrbbbaixue

Copy link
Copy Markdown
Member

摘要

将 Metadata 仓落地为可发布、可被 Desktop 消费的契约与管线:纯 managed 核心构建、可选 Imaging WebP、双 XSD 硬校验、MSTest,以及使用方/AGENTS 文档。

主要变更

  • 核心构建:Include 展平为单一 metadata.xml,资源外置 + ID 引用;SchemaVersion / ContentRevision;硬失败校验
  • 库 APIMetadataBuilder.Build(本地 path)、Load(path/url);主库无 SkiaSharp
  • ImagingRa3.BattleNet.Metadata.Imaging;默认不转 WebP;build.sh --webp / npm run build:release;CF wrangler 显式开启
  • XSDMetadataSchema.xsd(源树)+ MetadataPublishSchema.xsd(发布物),构建期硬校验
  • 示例:RA3BattleNet + Corona 可完整核心构建
  • 文档:README 消费端解析与模块属性清单、AGENTS.md、PLAN.md
  • 测试:MSTest(移除 xunit),含展平 / 硬失败 / Schema / Catalog 解析

测试计划

  • dotnet test Metadata.sln 全绿
  • dotnet run --project Ra3.BattleNet.Metadata -- build --src=./Metadata --dst=./Output
  • (可选)npm run build:release + Pages 预览

说明

  • 本期不含 Desktop 仓联调 UI;README 已写对接步骤
  • Manifest 权威仍在 Updater;示例 Hash 可为占位

固化 grill-me 决策:XML 数据展平、资源外置、纯 managed 库、
Stage A/B 发布管线、硬失败校验;并约定测试框架改用 MSTest、移除 xunit。
- 纯 managed Stage A:展平 XML、变量、硬失败校验、SchemaVersion/ContentRevision
- MetadataBuilder.Load 支持 path/URL;Build 仅本地 path
- Stage B WebP 拆至独立项目;主库移除 SkiaSharp
- 测试迁 MSTest;补齐 RA3BattleNet+Corona 示例数据
- 更新 README/build.sh/Worker 发布说明
嵌套展开时已带 Source 的 Manifest stub 原样上浮;测试断言指向
manifests/1.5.2.0.xml 且资源内含 File 表。
同步 PLAN.md 状态与 Stage B / Build(url) 实现偏差说明。
- 项目 Ra3.BattleNet.Metadata.Imaging(SkiaSharp)
- build.sh 默认仅核心构建;--webp/--publish 才 Imaging
- npm: build / build:webp / build:release;wrangler 使用 build.sh --webp
- 移除 RUN_STAGE_B 控制面
错误信息与 PLAN 对齐 Imaging / --webp 命名,避免 Stage 黑话。
- README:Desktop 解析流程、模块属性清单、Load/Catalog 示例
- MetadataSchema + MetadataPublishSchema;构建期源树/发布物硬失败
- SchemaValidator + SchemaTests;AGENTS.md 贡献指引
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 25, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
metadata c3c9bbf Jul 25 2026, 05:20 AM

同名资源跨 Mod 通过定义文件路径前缀隔离;作用域内短名解析后写入发布物。
Imaging 独立 CLI(不进主 NuGet);核心 build --webp 进程调用;
主包仅 managed 解析/展平,Desktop 只引用主包。
Imaging convert 单图 stdout MD5;Build(convertImages) 展平后调用并改 Source/Hash;
主包不读图库依赖。
发布契约不变:展平后无 Base/InheritFrom;Desktop 仍只读完整实体。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant