summaryrefslogtreecommitdiff
path: root/docs/素材来源.md
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-28 08:33:20 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-28 08:33:20 +0800
commit0e9948b7067e07875a9fe81879be0ae46664a785 (patch)
tree4c0decedfb6826d7fb26248a4dea25e41a60ffcc /docs/素材来源.md
parentd92afbcb787eb91c4e6d001b1f0de04f0fc5813d (diff)
downloadliving-village-0e9948b7067e07875a9fe81879be0ae46664a785.tar.gz
feat(art): P33 接入 CC0 真实像素素材样板(地面+角色竖直切片)
- 修复 make-cc0-art.py 地块取样间距:packed sheet 无间距(16px pitch),旧 17px 误采错格 - 重选草地/石板格 (9,8)/(10,8)/(4,8)/(4,9),整数 2x NEAREST 重建 cc0-tiles.png - VillageArt 暴露 selectedGround/CharacterAtlasRelativePath 纯函数,保留 LV_ASSET_PACK=cc0 开关与程序绘制江南图集 fallback - 新增 AssetPackTests:图集加载尺寸、整数倍缩放、开关/回退断言 - docs/素材来源.md 记录来源/许可/sha256/构建/开关;同步 assets-and-licenses 与维护说明 P33 小节 - docs/evidence/p33-atlas-*.png 昼/夜/2x 特写/程序绘制对照(check-no-white-blocks 0 命中)
Diffstat (limited to 'docs/素材来源.md')
-rw-r--r--docs/素材来源.md53
1 files changed, 53 insertions, 0 deletions
diff --git a/docs/素材来源.md b/docs/素材来源.md
new file mode 100644
index 0000000..dd193de
--- /dev/null
+++ b/docs/素材来源.md
@@ -0,0 +1,53 @@
+# 第三方像素素材来源与许可
+
+P33 开始把「程序几何绘制」的样例村庄逐步替换为**真实像素素材**(统一像素风格)。
+本单只做第一条竖直切片:样例村庄的一类地面(草地/石板)与一类角色(村民/主角)接入
+CC0 素材,其余仍走原程序绘制江南图集作为 fallback。
+
+- **开关**:`LV_ASSET_PACK=cc0` 时启用真实素材包;未设置或取其它值一律回退到程序绘制
+ 图集(`Assets/jiangnan-*.png`)。图集选择入口见 `src/LivingVillage.Desktop/VillageArt.fs`
+ 的 `useCc0Pack` / `selectedGroundAtlasRelativePath` / `selectedCharacterAtlasRelativePath`。
+- **构建命令**(确定性,二次运行 byte-identical):
+
+ ```bash
+ python3 scripts/make-cc0-art.py
+ # -> src/LivingVillage.Desktop/Assets/cc0-tiles.png 128x32 (4 个 32x32 地面格)
+ # -> src/LivingVillage.Desktop/Assets/cc0-characters.png 3840x48 (5 变体 x 4 向 x 6 帧, 32x48 格)
+ ```
+
+ 源素材 16x16 / 16x24,**整数 2x NEAREST** 放大到 32x32 / 32x48;缩放断言见
+ `src/LivingVillage.Desktop.Tests/AssetPackTests.fs`。
+
+## 1. Kenney Tiny Farm(地块)
+
+- 名称/版本:Tiny Farm(1.0),作者 Kenney。
+- 来源页:<https://kenney.nl/assets/tiny-farm>
+- 直链:<https://kenney.nl/media/pages/assets/tiny-farm/dfded1ae3e-1782913588/kenney_tiny-farm.zip>
+- 许可:**CC0 1.0**(包内 `License.txt` 已保留于 `third_party/kenney_tiny-farm/License.txt`)。
+- 本地原始包:`third_party/kenney_tiny-farm.zip`
+- SHA-256:`a06f75f312c27eff15a2288475612e6f6699411be7259d408323cd15a790decc`(191128 bytes)
+- 获取日期:2026-09-21
+- 用法:取 `Tilemap/tilemap_packed.png`(192x176,12x11 格,**无间距、16px pitch**;带间距的
+ `tilemap.png` 为 203x186/17px)。本单取 (9,8)/(10,8) 两档草 + (4,8)/(4,9) 石板,
+ 整数 2x 生成 `Assets/cc0-tiles.png`。
+
+## 2. Puny Characters(角色)
+
+- 名称:Puny Characters,作者 Shade。
+- 来源页:<https://opengameart.org/content/puny-characters>(附件直链 `puny-characters.zip`)
+- 许可:**CC0 1.0**(OpenGameArt 页面 License(s): CC0,itch.io 发布页同为 CC0;包内无独立
+ 许可文件,以发布页为准)。
+- 本地原始包:`third_party/puny-characters.zip`
+- SHA-256:`971d7b07eea18fb2cce475cd6554a176ebf783bb064dec5a637ba33c7829320e`(235985 bytes)
+- 获取日期:2026-09-21
+- 用法:每个角色图 768x256(8 行 x 24 列,约 32px pitch);取南向 16x24 取带,整数 2x 放到
+ 32x48 格。包只提供南向姿态,北向复用南向、东/西为镜像(限制沿用 `scripts/make-cc0-art.py`
+ 注释)。生成 `Assets/cc0-characters.png`。
+
+## 说明
+
+- 两者原始 zip 均随仓库记录于 `third_party/`(`PROVENANCE.md` 为总来源记录),仓库分发的
+ 只是上述再生成图集,不声称拥有未包含素材。
+- 版权/许可复核:见 `third_party/` 内原始文件与发布页;重跑 `make-cc0-art.py` 前后对
+ `third_party/*.zip` 重新 `sha256sum` 校验(本单校验一致)。
+- 「中式元素补绘」为后续切片;本单只接入基础地块与一类角色,保证管线跑通。