一个动物包长什么样:prehistoric-animal-museum 内容包结构拆解(content、provenance、package)
【免费下载链接】prehistoric-animal-museumA free, open-source bilingual 3D museum where young children and their grown-ups explore prehistoric animals across land, sea, and sky.项目地址https://gitcode.com/gh_mirrors/pr/prehistoric-animal-museum点击查看免费下载开源 3D 恐龙博物馆 prehistoric-animal-museum 让家长和小朋友在浏览器里认识 24 种史前动物。每只动物背后都是一个独立的「动物包」目录一份 package 声明 双语 content 文案 provenance 资产溯源 全套资源文件。本文以迷惑龙Apatosaurus为例完整拆解这套内容包结构帮你快速看懂博物馆是怎么装进一只恐龙的。1. 动物包目录树一只动物的全部家当所有动物包都放在 src/content/animals/ 下每只动物一个目录布局完全统一src/content/animals/apatosaurus/ animal.ts # 运行时装配把资源 URL 与包声明拼成最终对象 package.ts # 包声明id、栖息地、展示参数、动画与旁白计划 content.zh-CN.ts # 简体中文文案名称、旁白、事实、科学出处 content.en.ts # 英文文案同一事实独立校对 provenance.ts # 资产溯源来源、许可证、哈希、字节数、修改记录 model/model.glb # 自包含的 3D 模型 images/ # 海报、缩略图、多尺寸预览图 预览清单 backgrounds/ # 横版/竖版背景图 audio/ # zh-CN 与 en 两条旁白 MP3 provenance/LICENSES/ # 5 份人类可读的版权记录这套标准布局被 ANIMAL_AUTHORING_GUIDE.md 第 1 节固定下来新增动物时直接复制一个展示需求相近的既有包来改目录名、包 id、集合条目、资源记录必须保持一致。2. 五个 .ts 文件的分工声明、文案、溯源、装配package.ts整只动物的报关单package.ts 是包的核心它用definePublishedAnimal()声明这只动物是谁、如何呈现共四类信息基础身份id: apatosaurus、status: published、kind: dinosaur、habitat: land、atmosphere: plains双语内容引用content: { zh-CN: zhCN, en }指向两个 content 文件呈现参数presentation相机光照、初始朝向角、安全区留白、地面阴影的透明度/偏移/缩放、色调映射曝光动画与旁白animation: { clip: Idle, loop: repeat, speed: 0.9 }narration为两种语言各声明一条计划——音频路径、MIME 类型、发音人Serena、人工审核状态approved注意旁白这里只写声明说明音频已就绪、已审听但真正的可播放 URL 不在这里出现。content.zh-CN.ts 与 content.en.ts写给孩子的文案这两个文件承载用户看到什么且各自是完整的区域记录——缺哪国语言就补哪国绝不互相填充。以 content.zh-CN.ts 为例字段内容name/classificationLabel迷惑龙 / 蜥脚类恐龙narration.sentences两句面向儿童的旁白与音频逐字对应narration.pronunciation迷惑龙侏罗世的拼音朗读提示facts晚侏罗世、北美洲、体长 21–24 米、植食parentClassificationNote给家长看的分类学说明sources1–3 个权威科学出处附访问日期editorial不确定性说明、编辑者、审核人、审核日期孩子看到的是看看它长长的脖子家长能在同一个包里核对21–24 米这个范围是怎么来的——儿童层与事实层在同一文件中分层存放。provenance.ts每件资产的户口档案provenance.ts 是动物包最有特色的部分为每件运行时资产建立档案模型作者、来源 URL、访问日期原始文件与优化后文件的字节数和 SHA-256 各记一份10,558,696 字节 → 3,513,136 字节外加 7 条修改说明Meshopt 压缩、焊接顶点、重做材质、标准化到 3.2 单位长度……背景、海报、缩略图、旁白各自记录运行时的哈希与字节数许可证与再分发决定SPDX 许可标识 是否允许公开再分发类型契约在 types.tsCanonicalRuntimeAssetPath枚举了动物包允许的 9 条固定资产路径校验脚本能据此快速报出PROVENANCE_MISSING缺档案或ASSET_HASH_MISMATCH文件被改过。配套的provenance/LICENSES/目录存放 5 份人类可读记录。例如 model-source.txt 写明模型作者、许可证、版权确认过程与原档哈希narration-rights.txt 说明 AI 旁白的语音许可依据、逐条脚本哈希和人工审听通过的决定。animal.ts最后的装配线animal.ts 是整个包的入口导入全部二进制资源GLB、两张背景、三张海报、两条旁白拿到构建后的 URL再交给 create-runtime-animal.ts 完成拼接——declaration声明 urls资源地址→ 完整的PublishedAnimalPackage页面上能看到的这只恐龙就是包声明 运行时资源装配出来的结果。3. 资源目录每张图片、每条音频都有自己的位置model/model.glb自包含的 glTF 2.0 模型不允许外部纹理纹理全部内嵌images/poster.webp横版海报、poster-portrait.webp、thumbnail.webp320×320 列表缩略图、6 张不同视口的preview-*.webp预览图model-preview.manifest.json 记录每张预览对应的展示参数签名与哈希保证预览图和最终模型一致backgrounds/landscape.webp与portrait.webp是两套独立构图而非运行时裁切——横竖屏各自画过中央区域刻意保持安静给 3D 模型留舞台audio/narration.zh-CN.mp3/narration.en.mp348 kHz 单声道 MP3离线 AI 合成 人工逐条审听后入库4. 动物包如何被发现、进入展馆运行时不需要手工注册catalog.ts 用import.meta.glob(./animals/*/animal.ts)自动发现全部动物发现重复 id 会直接抛错。展陈顺序由 collections/main.ts 显式定义——主集合列出 24 只动物剑龙领衔loop: true循环浏览且只允许status: published的动物入馆。陆地的剑龙和海水中的沧龙正是靠各包package.ts里声明的habitat: land | air | water字段被运行时分派到不同场景氛围的。5. 小结这套动物包结构值得借鉴的 3 个设计一个目录 一只动物id、目录名、集合条目、资产记录处处一致单只动物的问题不会波及其他动物内容 / 呈现 / 溯源三分离content 只写说什么package 只写怎么摆provenance 只写从哪来互不越界每件资产可追溯固定路径 SHA-256 哈希 字节数 许可证记录让一个免费开源的 3D 博物馆能公开回答每个模型、每条音频的来历想自己给博物馆添一只新动物复制一个既有包目录按 ANIMAL_AUTHORING_GUIDE.md 的 9 步流程模型准备 → 文案 → 场景与海报 → 旁白 → 溯源 → 发布验证走一遍把 id 加进main.ts即可上架。赞分享【免费下载链接】prehistoric-animal-museumA free, open-source bilingual 3D museum where young children and their grown-ups explore prehistoric animals across land, sea, and sky.项目地址https://gitcode.com/gh_mirrors/pr/prehistoric-animal-museum点击查看免费下载相关推荐从目录到展品:prehistoric-animal-museum 内容发现机制 import.meta.glob 深度解析从目录到展品:prehistoric animal museum 内容发现机制 import.meta.glob 深度解析 prehistoric animal生态密度与性能平衡:prehistoric-animal-museum 如何在手机上守住帧预算与 GPU 计时生态密度与性能平衡:prehistoric animal museum 如何在手机上守住帧预算与 GPU 计时 在 prehistoric animal mus1000 星背后replica-skill 源码逐行拆解技能包到底包了什么1000 星背后replica skill 源码逐行拆解技能包到底包了什么 如果说 2025 年 Agent 圈最不缺的东西那一定是提示词技能包Gi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考