Files
frontend-miniapp/docs/shenzhen-natural-museum-dev-skill-dialogue-notes-2026-06-11.md
lyf 8fed715235
Some checks failed
CI / verify (push) Has been cancelled
chore: sync latest project updates
2026-07-03 14:42:38 +08:00

8.0 KiB
Raw Blame History

Shenzhen Natural Museum Dev Skill 对话纪要

日期2026-06-11

背景

本次对话围绕 shenzhen-natural-museum-dev skill 的定位、完整性和专业性展开。当前期望定位已明确为:

移动端自然博物馆三维导览 skill。

该 skill 应服务于移动端自然博物馆导览应用,重点覆盖 H5/移动端三维导览、馆内 3D 展示、POI/位置预览、楼层/全馆模型切换、数据 readiness、业务逻辑审核、工程架构审核和数据/展示层解耦。

当前 Skill 检查结论

已检查 .agents/skills/shenzhen-natural-museum-dev/SKILL.md

结论:基础合格,但还不是完整的“移动端自然博物馆三维导览专业 skill”。

  • 已通过 skill-creatorquick_validate.py 校验,输出为 Skill is valid!
  • 文件结构包含 SKILL.mdagents/openai.yaml
  • 现有内容已经覆盖 H5 导览、Three.js/GLB、Tencent Map、clean nav assets、导览数据访问层、数据 provider/adapter、三维导览数据审核、浏览器用户流审核、legacy demo data 边界等。

三类审核模块判断

数据审核模块

状态:合格。

证据:

  • SKILL.md 中存在明确标题:三维导览数据审核模块
  • 模块覆盖 clean package、manifest、GLB/GLTF、POI index、floor definitions、connector data、route_graphnav_datasrc/services/navAssets.ts、导览数据访问层、Provider/Adapter、路线 readiness 等。

项目工程架构审核模块

状态:部分具备,但不完整。

现有内容:

  • 数据源标准 中已经有导览数据访问层、Provider、Adapter、静态数据源/API 数据源、领域模型边界等要求。
  • description 中提到 architecture reviews。

不足:

  • 没有独立的“项目工程架构审核模块”。
  • 缺少针对页面层、组件层、数据服务层、ThreeMap 渲染层、状态管理、H5/mp 边界、canvas 层级、资源加载生命周期的工程架构审核清单。

业务审核模块

状态:部分具备,但不完整。

现有内容:

  • Browser User Flow Closure Testing 可用于用户流程闭环测试。
  • 3D Guide User Audit Module 可用于移动端 3D 导览体验审核。
  • 已覆盖真实用户任务、控件可见性、状态丢失、死路、伪导航文案、route readiness 边界等。

不足:

  • 没有独立命名为“业务逻辑审核模块”的模块。
  • 缺少固定的业务审核输出结构,例如 P1/P2/P3、源码审核/浏览器验证分离、已实现/部分实现/缺失/数据不足分离。

重新定位后的判断

如果定位为“深圳自然博物馆 frontend-miniapp H5 项目开发规范”,当前 skill 基本合格。

如果定位为“移动端自然博物馆三维导览 skill”当前 skill 还需要加强:

  • 移动端三维导览业务逻辑审核模块。
  • 移动端三维导览工程架构审核模块。
  • 自然博物馆导览专业语义模块。
  • 数据层与展示层解耦的硬性架构红线。

数据层与展示层解耦原则

本对话明确提出:前端应用中数据层和前端展示层必须解耦。

该原则应作为 skill 的核心架构红线,而不是普通建议。

推荐分层

数据源层
static nav-assets / CMS API / 后端 API / IMDF / BIM 导出
        ↓
Provider 数据源提供器
StaticProvider / ApiProvider / FutureImdfProvider
        ↓
Adapter 数据适配器
把原始字段转换成统一导览领域模型
        ↓
Guide Repository / Guide Data Access Layer
统一查询 floors、POI、模型、讲解、位置预览、route readiness
        ↓
Store / Composables / Use Cases
页面状态:当前楼层、全馆/单层、搜索词、选中 POI、是否可导航
        ↓
Presentation ViewModel
给页面和 ThreeMap 的轻量展示数据
        ↓
前端展示层
GuideMapShell / ThreeMap / Search / Cards / Floor Switcher

展示层不应直接依赖

  • static/nav-assets/*.json 原始结构。
  • 后端 API 原始字段。
  • GLB manifest 的路径拼接规则。
  • POI 原始坐标格式。
  • route_graph/nav_data 是否存在的散落判断。
  • 楼层 label / floorId 的重复转换逻辑。

展示层只应消费领域模型或 ViewModel

推荐领域模型包括:

  • GuideVenue
  • GuideBuilding
  • GuideFloor
  • GuideSpace
  • GuidePoi
  • GuideCategory
  • GuideModelAsset
  • GuideConnector
  • GuideLocationPreview
  • GuideRouteReadiness
  • GuideRouteGraph
  • GuideExplainMedia

P1 级架构问题示例

  • 页面或组件直接读取 static/nav-assets/*.json
  • 页面直接依赖后端 API 原始字段。
  • 组件内部重复实现 POI、floor、category、model path 转换。
  • 真实导航 readiness 判断散落在 UI 层。
  • 展示层把预览 POI 当成真实导航锚点。

专业前端方案参考

本次联网查找后,较适合作为专业方案参考的方向包括:

  • IMDFOGC 馆内地图数据标准,强调馆内 orientation、navigation、discovery。
  • ArcGIS Indoors馆内设施、楼层、单元、路径等信息模型。
  • Mappedin商业馆内地图 SDK 的楼层、位置、空间数据模型。
  • Khronos glTF3D 资产传输和运行时加载标准。
  • Vue Composables封装可复用 stateful logic。
  • Pinia前端 store 的 state/getters/actions。
  • TanStack Queryserver state 缓存、请求状态、刷新、去重。

参考链接:

网上同类 Skill 查找结论

已查到的小程序相关 skill 多为泛小程序开发,而非自然博物馆三维导览垂直 skill。

代表性方向:

  • TencentCloudBase miniprogram-development偏微信小程序、CloudBase、预览部署、认证、AI 模型调用。
  • wechat-miniapp-factory:偏小程序脚手架、校验、提交前预审。
  • wechat-miniprogram偏微信小程序官方文档、WXML/WXSS/WXS、API、组件、开放能力、性能优化。
  • wechat-devtools-diagnostics-skill:偏 Windows 下微信开发者工具诊断。

结论:

  • 暂未找到“自然博物馆 / 场馆导览 / 馆内 3D / POI / 路线数据审核”这种垂直专业 skill。
  • 当前 shenzhen-natural-museum-dev 的价值在于项目垂直和三维导览垂直,应继续强化,而不是直接照搬泛小程序 skill。

建议后续补强方向

1. 增加移动端三维导览业务逻辑审核模块

建议覆盖:

  • 初始馆外/馆内状态。
  • 进入馆内后默认完整建筑模型。
  • 全馆/单层切换。
  • 楼层切换。
  • POI 搜索和聚焦。
  • 顶部“导览 / 讲解”切换。
  • 搜索、卡片、工具按钮是否可见可点击。
  • 伪导航、伪定位、伪路线承诺文案。
  • 源码审核和浏览器交互验证必须分离标注。
  • 输出 P1/P2/P3。

2. 增加移动端三维导览工程架构审核模块

建议覆盖:

  • Page 层是否只组合业务状态,不直接解析数据源。
  • GuideMapShell 是否只承担导览壳、控件承载、模式切换。
  • ThreeMap 是否只承担 3D 渲染、相机、模型加载、POI 高亮,不承载业务数据转换。
  • navAssets 或 successor service 是否作为唯一导览数据访问层。
  • Provider/Adapter 是否隔离静态包和未来 API。
  • H5 和 mp-weixin 是否清楚分界。
  • 3D canvas 是否可能覆盖移动端 UI 控件。
  • 资源加载、dispose、错误恢复是否具备。

3. 增加自然博物馆导览专业语义模块

建议明确自然博物馆导览中的业务对象:

  • 展厅。
  • 展项。
  • 设施。
  • 入口。
  • 楼层。
  • 展区。
  • 讲解。
  • 位置预览。
  • 真实路线规划 readiness。

并明确当前阶段只能描述为:

馆内 3D 展示 + POI/位置预览。

除非 route_graph/nav_data 已接入并验证,否则不能宣称真实馆内导航、路线规划、到达引导或定位精度。