21 KiB
title, date, draft, tags, categories
| title | date | draft | tags | categories | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| CrowdRoom · 路线图(ROADMAP) | 2026-05-20 | false |
|
|
CrowdRoom · 路线图(ROADMAP)
文档目的:把 7 份设计文档(
00–10)落地为 4 个可被 sprint planning 直接使用的里程碑,配套合并后的风险登记册、跨任务依赖图、v0.3 已知缺口、P2+ 候选清单。基准时间:2026-05-19(v0.2 设计完成日),M1 起点为 W1 = 2026-W22。
本文档不重复:每个里程碑的功能细节仍以
00_overview.md§7、03_ios_app_plan.md§9、04_web_app_plan.md§11 为准。
1. 里程碑总览(甘特图)
gantt
title CrowdRoom 4 个里程碑(M1 MVP → M2 v0.5 → M3 v1.0 → M4 P2)
dateFormat YYYY-MM-DD
axisFormat W%V
section M1 MVP
iOS 采集 + 端侧脱敏 :m1a, 2026-05-25, 4w
Web R3F + 4 层切换 :m1b, 2026-05-25, 4w
Supabase 9 表 + 转码 Worker :m1c, 2026-05-25, 3w
材质替换 + 基础治理 :m1d, after m1a, 4w
M1 验收(DoD) :milestone, m1m, after m1d, 0d
section M2 v0.5
家具替换 + OBB 自动对齐 :m2a, after m1m, 3w
Remix 发布 + 评论点赞 :m2b, after m1m, 4w
公共资产库 CC0 30+ 件 :m2c, after m1m, 2w
M2 验收(DoD) :milestone, m2m, after m2b, 0d
section M3 v1.0
搜索 / 标签 / 全文 :m3a, after m2m, 2w
Named Views + iframe 嵌入 :m3b, after m2m, 3w
信任分系统初版 :m3c, after m2m, 4w
M3 验收(DoD) :milestone, m3m, after m3c, 0d
section M4 P2
协同编辑(调研) :m4a, after m3m, 8w
AR 即时预览(调研) :m4b, after m3m, 8w
PRISM 反哺通道 :m4c, after m3m, 12w
甘特图中所有「after」依赖均与 §3 依赖图一致。M4 起点为 W25,但无固定时间窗——其内子任务的启动由 §6 P2 候选清单的「触发条件」决定。
1.1 里程碑速览表
| 里程碑 | 周次 | 目标版本 | 一句话目标 | 主要交付物 |
|---|---|---|---|---|
| M1 MVP | W1–W8 | v0.5-mvp | 跑通「扫描 → 上传 → 浏览 → 4 层切换 → 换材质」最小闭环 | iOS TestFlight + Web Vercel + Supabase 9 表 + Worker + 30+ CC0 素材 |
| M2 v0.5 | W9–W16 | v0.5 | 把 Remix 与社区互动跑顺 | 家具替换 OBB 对齐 + Remix 发布 + 评论点赞 + 公共资产库 v1 |
| M3 v1.0 | W17–W24 | v1.0 | 把发现性与变现可能性补齐 | 全文搜索 + Named Views + iframe 嵌入 + 信任分初版 |
| M4 P2 | W25+ | P2+ | 按触发条件启动长期演进 | 协同编辑 / AR / PRISM 反哺 / Android / 室外多房间 …(§6) |
2. 每个里程碑的 DoR / DoD
DoR (Definition of Ready) = 进入该里程碑前必须满足的入口标准 DoD (Definition of Done) = 离开该里程碑前必须达到的出口标准
2.1 M1 MVP(W1–W8)
DoR(5 项):
- 7 份设计文档冻结在 v0.2,且
CHANGELOG.md[Unreleased]区块的 4 条 C-NEW 已分诊(修复 / 推迟 / 拒绝 三选一) - Apple Developer 账号到位,TestFlight 内测组建立
- Supabase 项目创建(免费档),Cloudflare R2 + Bunny CDN 账户就绪
- 公共素材库种子集采购完成(≥ 30 件 CC0 家具
.glb+ ≥ 20 种 PBR 材质) - 1 名兼职 reviewer + 1 个 DPO 邮箱占位完成(
10_governance.md§3.1)
DoD(10 项):
- iOS App 通过 TestFlight 审核,可邀请 ≥ 100 用户
- iOS-X1~X5 五条契约全部落地(端侧脱敏 ≤ 15 s on iPhone 12 Pro / 三段式上传 / Realtime 转码进度 / 5 Tab IA / PrivacyManifest)
- Web 端
//r/[room_id]/login/upload4 个核心路由可用,桌面 ≥ 60 fps、移动 ≥ 30 fps(04_web_app_plan.md§3.3) - 4 层固定 ID(walls/floor/furniture/materials)可独立 toggle,且 viewState 可分享
02_api_contract.md19 个端点中 MVP 必须的 13 个(E-01~E-13, E-15)线上可用,40 错误码全部有用户文案- 转码 Worker p95 ≤ 60 s(含 USDZ → glb + Draco + manifest 生成)
- 端到端测试:注册 → 扫描 → 上传 → 等待转码 → 公开发布 → 在 Web 浏览 → 切图层 → 换 1 个材质 7 步通跑
09_privacy.md§6.1 的 8 项 GDPR MVP 必做项全部上线(含 PrivacyManifest、Cookie 通知、隐私政策页)- 治理:举报通道 E-14 可用,处罚阶梯 L1–L3 工具就绪(L4 永封需 owner 终审)
- 内部 dogfood ≥ 100 个真实房间上传无 P0 事故
2.2 M2 v0.5(W9–W16)
DoR(4 项):
- M1 DoD 全部满足且线上稳定运行 ≥ 2 周
- 用户调研报告:M1 内测的 NPS ≥ 20、转化漏斗采集率 ≥ 30%
- OBB 自动对齐算法可行性 spike 通过(
04_web_app_plan.md§6.3,超 1.5× 告警阈值已验证) - Remix 覆盖层
remix_overlay.jsonSchema 在 100 个手工样本上无 round-trip 误差
DoD(8 项):
- 家具替换可用:替换面板 + OBB 自动对齐 + 4 自由度微调 + 隐藏原家具开关
- Remix 端到端可用:从父房间 → Remix 编辑 → 自动保存 → 发布 → 在原房间页显示衍生作品树
- 评论 + 点赞两个互动可用,含速率限制与软删(
01_data_schema.md§3.7, §3.8) - 公共资产库 v1:≥ 100 件家具 + ≥ 60 种材质,全部 CC0,资产页
/assets可独立浏览 02_api_contract.md剩余 6 个端点(E-14 举报、E-16 删除、E-17/18/19 v0.2 新增)全部上线10_governance.md§4 P-W-3 父硬删快照转移流程在生产链路实测通过- DAU ≥ 200,房间累计 ≥ 1 000
- 0 起合规事故,0 起公开数据外泄事故
2.3 M3 v1.0(W17–W24)
DoR(4 项):
- M2 DoD 全部满足
- 信任分计算公式经隐私 / 法务双签(不收集敏感画像)
- 嵌入沙盒安全审计通过(CSP / Referer / iframe sandbox 三件套,
10_governance.md§4 P-W-6) - tsvector 全文搜索性能在 10 万行级表上 p95 ≤ 200 ms(
01_data_schema.md§1 D5)
DoD(8 项):
- 全文搜索可用:
/search?q=+ 标签筛选 + 排序(热度 / 新发布 / Remix 数) - Named Views 可用:4 层组合可命名保存、可被分享、可被嵌入
- iframe 嵌入
<iframe src="/embed/r/...">上线,含/me/embeds管理面板与/admin/reports审核面板(v0.2 G-6/G-7) - 信任分系统 v1:初始分 50 / 上限 100 / 因子 6 项(上传量、被 Remix 数、被举报数、申诉成功率、账号龄、ATT 配合度),可在 UserCenter 显示
- OG 卡片动态生成上线(
/api/og/r/[room_id]) - DAU ≥ 1 000,房间累计 ≥ 10 000,Remix 累计 ≥ 1 000
- 月度合规自检通过(GDPR + PIPL)
- App Store / Play Store 评分 ≥ 4.3 / 5
2.4 M4 P2(W25+)
DoR(按子项分别评估,无统一入口):见 §6 P2 候选清单的「触发条件」列。
DoD(仅给出 M4 整体退出标准):
- CrowdRoom 至少有一个 P2 特性进入 v2.0 主线
- PRISM ↔ CrowdRoom 数据交互通道至少完成单向(CrowdRoom → PRISM 先验地图源)的 PoC
3. 跨里程碑工作流依赖图
graph LR
subgraph M1[M1 MVP W1-W8]
T11[iOS 采集 + 端侧脱敏]
T12[Supabase 9 表 + RLS]
T13[Transcode Worker]
T14[Web 4 层切换]
T15[材质替换]
T16[基础治理 举报 + 处罚 L1-L3]
end
subgraph M2[M2 v0.5 W9-W16]
T21[家具替换 + OBB 对齐]
T22[Remix 发布 + overlay]
T23[评论 + 点赞]
T24[公共资产库 v1]
T25[E-17/18/19 + 父快照转移]
end
subgraph M3[M3 v1.0 W17-W24]
T31[全文搜索 + 标签]
T32[Named Views]
T33[iframe 嵌入]
T34[信任分 v1]
T35[OG 卡片]
end
subgraph M4[M4 P2 W25+]
T41[协同编辑]
T42[AR 即时预览]
T43[PRISM 反哺]
T44[Android]
T45[室外/多房间]
end
T12 --> T11
T12 --> T13
T13 --> T14
T14 --> T15
T11 --> T16
T15 --> T21
T14 --> T22
T12 --> T23
T15 --> T24
T16 --> T25
T22 --> T31
T15 --> T32
T22 --> T33
T16 --> T34
T22 --> T35
T34 --> T41
T11 --> T42
T22 --> T43
T11 --> T44
T11 --> T45
4. 风险登记册(Risk Register)
来源:合并
00_overview.md§8 RK-15、5、03_ios_app_plan.md§10 R-iOS-104_web_app_plan.md§12 R-Web-1~6 共 16 条,去重 / 升级后保留 13 条。
| ID | 描述 | 影响 | 概率 | 缓解措施 | 触发条件(升级到 P0) | 负责人 |
|---|---|---|---|---|---|---|
| RK-1 | RoomPlan 仅 iOS 且需 LiDAR(iPhone 12 Pro+),市场范围被硬绑 | 高(用户基数受限至 iPhone Pro 系列) | 已发生 | 接受为前提,不做 ARCore 替代;P2 视 Android DAU 增速决定是否引入 | iOS 月活 < 1 000 持续 3 个月 | PM |
| RK-2 | .usdz 在 Web 端无原生 loader,转码失败率不可控 |
高(失败即用户作品丢失) | 中 | 服务端强转 .glb;Worker 失败重试 3 次(02_api_contract.md §3.3);保留原始 90 天可申诉重转 |
转码失败率 > 5% 持续 1 周 | 后端 Lead |
| RK-3 | UGC 违法 / 未授权他人住宅扫描 / NSFW 漏过 | 高(法律风险) | 中 | 上传声明 + 举报下架 + 人工 review + 严重违规白名单越级封禁(10_governance.md §2、§6) |
单日新增举报 > 50 持续 3 天 | 法务 + 运营 |
| RK-4 | 端侧脱敏在低端机(iPhone 12 Pro)耗时超 8 s 预算 2 倍 | 中(用户流失) | 高(已实测 16 s) | UX 提示「正在处理,预计 15 秒」;不破例端侧不可降级原则(PR-1 + iOS-X1) | 12 Pro 用户上传放弃率 > 30% | iOS Lead |
| RK-5 | 存储与带宽成本爆炸(千用户日活即可烧光免费额度) | 高 | 中 | 单用户配额 5 GB / 月、单文件 ≤ 50 MB;R2 零出口费托底;冷热分层 P1 引入 | 月度成本超预算 200% | SRE |
| RK-6 | .usdz 沙箱内重打包不稳定(ModelIO 写回支持有限) |
中 | 中 | 备选方案:脱敏后贴图作为平行文件 PUT,Worker 合并;本决策待 v0.3 确认 | 重打包失败率 > 10% | iOS Lead |
| RK-7 | Universal Link 在国内微信 / QQ 内不触发 | 中 | 已发生 | 引导用户「右上角 → 在 Safari 中打开」;微信小程序版 P2 再说 | 微信导流转化率 < 5% | iOS Lead |
| RK-8 | Realtime channel 长后台丢事件 | 中 | 中 | App 前台化时主动补查所有进行中版本(03_ios_app_plan.md §6.3) |
用户投诉「转码完成无通知」单周 > 20 | iOS Lead |
| RK-9 | 移动 Safari 上 Three.js 大场景 < 30 fps | 中 | 中 | 移动预算 ≤ 2 MB;95 分位掉帧时 fallback 到 <model-viewer> 静态预览 |
移动端跳出率 > 60% | Web Lead |
| RK-10 | 大场景首屏 TTI > 6 s(>20 MB .glb) |
中 | 中 | 上传配额限 single .glb ≤ 15 MB;P1 引入 LOD;转码强制拒收 > 50 MB 待 v0.3 |
95 分位 LCP > 5 s | Web Lead |
| RK-11 | Remix 父房间删除冲突(离线 1 周 + 父硬删) | 中 | 低 | 10_governance.md §4 P-W-3 拍板「快照转移」;E-19 端点已设计 |
父硬删后 Remixer 投诉 > 5 起 | 法务 + 后端 |
| RK-12 | 公共资产库版权审查负担(CC0 → CC-BY 演进) | 低 | 中 | MVP 全 CC0 硬过滤;CC-BY 准入流水 M3 之后再开(10_governance.md §4 P-W-4) |
创作者「上传素材」诉求 > 100 / 月 | 运营 |
| RK-13 | OG 动态截图需要 WebGL,Vercel Edge 不支持 | 低 | 已发生 | 容器化 screenshot worker(Fly.io);或 MVP 跳过动态 OG,用静态首帧 | OG 卡片缺失率 > 50% | Web Lead |
14–16 号风险(RoomPlan 精度公差、AVCaptureDevice ISO 检测、SDK 接入新增)在 v0.2 合并时与上表条目语义重叠,已并入 RK-3 / RK-4。
5. v0.3 待办(已知缺口)
说明:以下 4 条 C-NEW-1 ~ C-NEW-4 是子任务 7(本路线图)在汇总 v0.2 全部文档时识别出的「跨文档新设计冲突」。它们不是 v0.2 既有 G 漏洞的延伸,而是 09/10 文档落地后新暴露的契约缺口;建议在 v0.3 review 窗口(M1 W4 之前)回写到对应文档。
⚠️ 若您手上有子任务 6 原作者 attempt_completion 中给出的 C-NEW-1~4 原文,请覆盖以下条目;本表为基于跨文档静态分析得到的合理推断。
| ID | 新冲突描述 | 回写位置(建议) | 建议时间窗 | 现状判断 |
|---|---|---|---|---|
| C-NEW-1 | viewState 编码确定性 vs 强 hash 反画像 的矛盾:04_web_app_plan.md §9.3 把 viewState 设为「gzip+base64url 确定性编码」(同输入 → 同输出,便于缓存 OG),但 09_privacy.md §5 P-W-7 要求 viewState 在 Realtime / 日志中作为画像数据进行强 hash —— 「确定性」与「不可逆」直接冲突 |
02_api_contract.md §5 viewState;09_privacy.md §5 P-W-7;可能新增「双轨编码:URL 用确定性、日志用 HMAC」 |
M1 W2 前 | 必修(决定 OG 缓存策略) |
| C-NEW-2 | 父硬删快照转移(E-19)与作者账号注销(E-17)的并发未定义:10_governance.md §4 P-W-3 要求父硬删时几何快照转移到 Remix;02_api_contract.md E-17 把账号注销定义为「T+0 软删 / T+7 不可撤 / T+30 硬删」。若注销中途用户有 N 个被他人 Remix 的公开房间,转移逻辑触发时点 / 失败回滚 / 通知顺序均未定义 |
02_api_contract.md §3 转码管线后补充「注销级联管线」;01_data_schema.md §3.11 软/硬删分层补充 E-19 与 E-17 的交互矩阵 |
M1 W3 前 | 必修(关系数据完整性) |
| C-NEW-3 | 位置标签城市级 5 km 的数据流端到端未对齐:09_privacy.md §3.3 + §7 把位置定义为「永远城市级 5 km」,01_data_schema.md §3.2 G-10 已加 location_label 显式标注,但 03_ios_app_plan.md §8.1 的 NSLocationWhenInUseUsageDescription 文案没说「5 km 网格」,且 iOS 端是否在客户端做 5 km 量化、还是直接拒收原始 GPS、还是服务端量化未定义 |
03_ios_app_plan.md §8.1 文案 + §1.2 UploadForm 字段说明;02_api_contract.md E-02 room-create 请求体添加 location_label 校验规则 |
M1 W2 前 | 必修(合规底线) |
| C-NEW-4 | 信任分系统(M3 计划)的初始分计算口径未在 v0.2 任何文档定义:10_governance.md §3.2 提到「P1 引入信任分」但没有公式;M3 DoD 已写「初始分 50 / 上限 100 / 因子 6 项」,但这 6 项的权重、衰减、与 ATT / 举报 / 申诉的勾稽关系未拍板 |
新增 plans/CrowdRoom/11_trust_score.md(M2 W14 启动撰写);或并入 10_governance.md §3 团队规模章 |
M2 W14 前(M3 DoR 倒推) | 可推迟(不影响 M1 / M2 上线) |
6. 未来扩展(P2+)特性候选清单
列出 ≥ 8 条 MVP–v1.0 不做、但已有用户 / 数据信号的扩展。每条标注「为何 MVP 不做」与「P2 引入的触发条件」。条目按预计优先级排列。
| # | 特性 | 一句话价值 | 为何 MVP 不做 | P2 引入触发条件 |
|---|---|---|---|---|
| F-1 | PRISM 反哺:把高质量 CrowdRoom 房间作为 PRISM 的先验地图源 | 让 PRISM 机器人系统拿到「群众贡献的真实家庭空间」作为初始地图 | CrowdRoom 数据 SLA / 安全模型与 PRISM 完全不同(00_overview.md §6.3),不可直接打通 |
DAU > 1 000 且累计公开房间 > 10 000(M3 DoD 达成后) |
| F-2 | 协同编辑:多人同房间 Remix(OT / CRDT) | Pinterest 式分享之外,再加 Figma 式协作 | Remix 走 fork 模型已足够(02_api_contract.md §4 D-A4),引入 CRDT 后端复杂度跳 5 倍 |
v1.0 上线后用户调研显示 ≥ 20% 用户希望多人编辑 |
| F-3 | AR 即时预览:Vision Pro / iPhone AR Quicklook 在真实空间叠加 Remix 结果 | 让用户「站在自家客厅,看到换沙发后的样子」 | RoomPlan 已提供基础几何,但 Vision Pro 装机量仍低;Quicklook 在 iOS 16+ 受限 | Vision Pro 装机量 > 5% iOS 用户,或 Quicklook 公开 API 支持 .glb 覆盖层 |
| F-4 | Android 端采集:用 ARCore Depth API 替代 RoomPlan | 解锁安卓用户群 | RoomPlan 仅 iOS(00_overview.md §6.3);ARCore 数据格式差异会导致双标准 |
iOS DAU > 5 000 且月增 > 15% 持续 3 个月,并完成 ARCore↔RoomPlan 字段映射 spike |
| F-5 | 室外 / 多房间扫描 | 支持别墅 / 商铺 / 多间公寓 | RoomPlan 单次最佳 < 50 m²;超出范围误差激增(plans/iphone/roomplan_accuracy_and_cad_export.md §1) |
用户上传含户外/多房间 .usdz 占比 > 10%,且 RoomPlan 后续版本扩大支持范围 |
| F-6 | CC-BY 资产准入流水 | 让创作者上传自制家具 / 材质,扩充资产库 | MVP 全 CC0 硬过滤(10_governance.md §4 P-W-4),引入 CC-BY 需新增审核 SOP 与署名链 |
创作者「上传素材」诉求 > 100 / 月,且法务确认 CC-BY 二次传播的 attribution 链可机审 |
| F-7 | 付费 marketplace:高价值素材 / 整套设计 | 让顶级 Remixer 与设计师变现 | MVP 走纯免费 UGC 路线(00_overview.md §7.2),收费引入合规与税务一整套 |
Top 1% 创作者收入意愿调研 > 50%,且支付牌照(Stripe / 国内)就绪 |
| F-8 | 空间 SQL / PostGIS 查询 | 「按城市 / 户型 / 面积 / 朝向」精确查找房间 | 消费级路线决策(00_overview.md §6.3);MVP 用 tsvector + tags 已够 |
用户主动诉求「按城市/按户型查询」单月 > 500,或与第三方家装品牌签约要求 |
| F-9 | PRISM Pipeline B 重定位接入 | 让同一房间被多次扫描时自动对齐 | 用户每次扫描视为独立作品(00_overview.md §6.3) |
「扫描日记 / 同房间历史对比」功能立项,且单房间复扫率 > 5% |
| F-10 | 微信小程序版 Remix 入口 | 绕开 Universal Link 在国内浏览器跳转受限(RK-7) | 小程序 3D 渲染受限(无 R3F);MVP 走 PWA 浏览器即可 | 微信导流转化率持续 < 5% 且占总流量 > 30% |
抽象规则:所有 F-x 进入实际开发前必须先做一份独立 spike 文档(建议放
plans/CrowdRoom/p2/F-x_<name>.md),并在CHANGELOG.md[Unreleased]区块预留Planned类别(Keep a Changelog 自定义类型)。
7. 路线图维护规约
- 每个里程碑结束时:DoD 全部通过 → 在
CHANGELOG.md创建对应版本(v0.5-mvp / v0.5 / v1.0);DoD 未通过 → 在本路线图 §2 该里程碑标注延期原因。 - 风险登记册(§4):每个 sprint 复盘会重新评估「概率 / 触发条件」两列;任一条目触发则升级为 P0 工单。
- v0.3 待办(§5):M1 W4 前必须分诊完毕(修复 / 推迟 / 拒绝 三选一);任何修复必须同步回写到对应文档与
CHANGELOG.md。 - P2 候选(§6):每个里程碑结束时复查触发条件是否达成;达成则立项 spike。
- 不要预测未来:本文件可写「触发条件」与「DoR」,但不写「预计交付时间」之外的承诺。任何已发生的事进
CHANGELOG.md。
文档版本:v0.2 · 2026-05-19 维护者:CrowdRoom 设计组 关键收获:4 里程碑 × 30 条 DoR/DoD × 13 条风险 × 4 条 v0.3 待办 × 10 条 P2 候选 = 一份 PM 可直接拿去开 sprint planning 的完整路线图;M1 8 周即可拿到「扫描 → 上传 → 浏览 → 4 层切换 → 换材质」最小闭环。