完善抓大鹅创作入口与运行态表现
This commit is contained in:
@@ -151,7 +151,9 @@ Agent 的职责是帮助用户确认可以直接编译 demo 的最小配置:
|
||||
|
||||
题材决定后续生成或选择物品素材的方向。用户可以自定义主题,例如水果、玩具、食物、符号等。
|
||||
|
||||
首版 demo 不要求真实生成题材物品素材,只需保留题材字段,并使用 `10` 种颜色形状组合且差异足够明显的素材完成玩法验证。
|
||||
首版 demo 不接入真实图片生成。运行态可消除物统一使用纯色几何体表现,不使用透明气泡,也不在图案上放文字标识。题材仍决定后端生成的 `visualKey` 和尺寸比例,但前端首版用差异化颜色与几何造型表现可消除物,例如圆形、三角形、菱形、五角星、梯形、平行四边形等,避免玩家在堆叠状态下难以辨认。
|
||||
|
||||
水果图形资产需要具备常识可感知的相对大小关系,但不要求真实比例绝对精准。首版固定规则为:西瓜明显大于苹果;苹果、橙子、梨、桃子为中等尺寸;葡萄、李子、青柠等小型水果略小。该尺寸由后端运行态物品 `radius` 下发,前端只按快照表现。
|
||||
|
||||
### 需要消除次数
|
||||
|
||||
@@ -249,7 +251,9 @@ Agent 的职责是帮助用户确认可以直接编译 demo 的最小配置:
|
||||
1. 圆形空间使用俯视角。
|
||||
2. 背景环境资源后续可以尝试伪 3D 视角效果。
|
||||
3. 圆形空间边界是中间交互图案的边界。
|
||||
4. 物品不能超出圆形边界。
|
||||
4. 物品不能超出圆形边界,也不能被边界压住或裁切。
|
||||
5. 运行态快照中的 `x / y / radius` 使用前端可直接渲染的 `0~1` 归一化坐标;圆心固定为 `(0.5, 0.5)`,圆形可用半径为 `0.5`。
|
||||
6. 后端生成和前端兜底渲染都必须满足 `distance((x, y), (0.5, 0.5)) + radius <= 0.5 - safeMargin`,`safeMargin` 至少覆盖圆形边框和视觉阴影,避免可消除图案贴边裁切。
|
||||
|
||||
## 8.3 物品生成规模
|
||||
|
||||
@@ -273,8 +277,8 @@ totalItemCount = clearCount * 3
|
||||
|
||||
首版 demo 使用 2D 图案素材。
|
||||
|
||||
1. demo 只需提供 `10` 种颜色形状组合。
|
||||
2. `10` 种素材需要差异足够明显。
|
||||
1. demo 至少提供 `10` 种颜色与几何造型组合素材。
|
||||
2. 当题材为水果时,后端仍可切换到 `10` 种水果视觉键和尺寸比例,但前端首版必须把这些视觉键映射为无文字的纯色几何体,不能显示为水果图、透明气泡或文字标记。
|
||||
3. 后续可以尝试替换为伪 3D 或 3D 模型。
|
||||
4. 用户题材主题后续会映射为符合常识预期的物品集合。
|
||||
|
||||
|
||||
@@ -106,3 +106,12 @@
|
||||
2. 响应字段命名与前端约定一致
|
||||
3. 配置开关可稳定映射到返回数组
|
||||
4. 文档、任务清单与测试已同步更新
|
||||
|
||||
## 8. 2026-05-01 前端降级修复记录
|
||||
|
||||
本地联调时若 `api-server` 未启动或 Vite 代理暂时返回 `500`,`GET /api/auth/login-options` 会失败。前端必须继续遵循第 5.3 节约束:
|
||||
|
||||
1. `AuthGate` 在 `login-options` 读取失败时设置 `availableLoginMethods = ["password"]`。
|
||||
2. 该失败只代表登录方式配置探测失败,不代表登录功能不可用,因此不把 `读取登录方式失败` 写入登录弹窗错误条。
|
||||
3. 登录弹窗仍展示密码登录表单,玩家可继续登录后进入创作链路。
|
||||
4. 本地仍需要启动 `api-server`,否则后续 `POST /api/auth/entry` 等真实登录请求无法完成。
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
# 认证快照同步与抓大鹅本地联调修复记录
|
||||
|
||||
日期:`2026-05-01`
|
||||
|
||||
## 1. 现场问题
|
||||
|
||||
本地访问 `http://127.0.0.1:3000` 时出现两类失败:
|
||||
|
||||
1. 验证码登录成功后,接口返回 `同步认证快照失败`。
|
||||
2. 抓大鹅创作页请求报 `Failed to initiate WebSocket connection ... HTTP error: 503 Service Unavailable`,或同源创作接口直接 `404`。
|
||||
|
||||
## 2. 根因
|
||||
|
||||
### 2.1 Maincloud 目标库挂起
|
||||
|
||||
CLI 直接查询 `xushi-p4wfr` 返回:
|
||||
|
||||
```text
|
||||
Error: database is suspended
|
||||
HTTP status server error (503 Service Unavailable)
|
||||
```
|
||||
|
||||
这说明 `maincloud.spacetimedb.com` 入口在线,但具体数据库 `xushi-p4wfr` 当前不可订阅、不可查 schema、不可执行 SQL。所有依赖该库的 procedure 都会失败。
|
||||
|
||||
### 2.2 认证快照同步被当成硬失败
|
||||
|
||||
手机号、密码、刷新、退出等认证流程会先更新本地 `auth_store`,然后调用 SpacetimeDB 同步认证快照。旧逻辑把同步失败直接转为 HTTP 500,导致本地会话已经创建成功,响应却被远端快照同步失败阻断。
|
||||
|
||||
### 2.3 Vite 未代理 `/api/creation`
|
||||
|
||||
抓大鹅创作接口挂在:
|
||||
|
||||
```text
|
||||
/api/creation/match3d/*
|
||||
```
|
||||
|
||||
但 Vite 代理只覆盖了 `/api/auth`、`/api/runtime` 等路径,未覆盖 `/api/creation`,因此浏览器同源请求会被 Vite 返回 `404`,没有进入 Rust `api-server`。
|
||||
|
||||
## 3. 修复
|
||||
|
||||
### 3.1 认证快照同步改为非阻断
|
||||
|
||||
`AppState::sync_auth_store_snapshot_to_spacetime` 保持导出本地快照、写入 SpacetimeDB、导入正式表的顺序,但当远端写入或导入失败时只写 warn 日志并返回 `Ok(())`。
|
||||
|
||||
设计边界:
|
||||
|
||||
1. 当前认证请求的即时真相源是本地 `auth_store`。
|
||||
2. SpacetimeDB 认证快照用于跨进程恢复和正式表投影。
|
||||
3. 远端库挂起或网络异常只降级远端恢复能力,不回滚已经成功的登录、刷新、退出和资料更新。
|
||||
|
||||
### 3.2 Vite 补齐创作接口代理
|
||||
|
||||
`vite.config.ts` 新增:
|
||||
|
||||
```ts
|
||||
'/api/creation': {
|
||||
target: runtimeServerTarget,
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
```
|
||||
|
||||
前端仍只请求同源 `/api/creation/match3d/*`,不直连 Rust 端口。
|
||||
|
||||
## 4. 本地可跑链路
|
||||
|
||||
Maincloud `xushi-p4wfr` 挂起期间,抓大鹅本地体验应使用本地 SpacetimeDB:
|
||||
|
||||
```powershell
|
||||
spacetime --root-dir=server-rs/.spacetimedb/local start --edition standalone --listen-addr 127.0.0.1:3101
|
||||
$env:GENARRATIVE_SPACETIME_MIGRATION_BOOTSTRAP_SECRET="codex-local-bootstrap-secret-20260501"
|
||||
spacetime --root-dir=server-rs/.spacetimedb/local publish xushi-p4wfr --server http://127.0.0.1:3101 --module-path server-rs/crates/spacetime-module -c=on-conflict --yes
|
||||
```
|
||||
|
||||
再让 Rust API 指向本地库:
|
||||
|
||||
```powershell
|
||||
$env:GENARRATIVE_SPACETIME_MAINCLOUD_SERVER_URL="http://127.0.0.1:3101"
|
||||
$env:GENARRATIVE_SPACETIME_MAINCLOUD_DATABASE="xushi-p4wfr"
|
||||
$env:GENARRATIVE_SPACETIME_MAINCLOUD_TOKEN=""
|
||||
npm run api-server:maincloud
|
||||
```
|
||||
|
||||
最后重启前端:
|
||||
|
||||
```powershell
|
||||
$env:RUST_SERVER_TARGET="http://127.0.0.1:3100"
|
||||
$env:GENARRATIVE_RUNTIME_SERVER_TARGET="http://127.0.0.1:3100"
|
||||
npm run dev:web
|
||||
```
|
||||
|
||||
## 5. 验证结果
|
||||
|
||||
已验证:
|
||||
|
||||
1. `GET http://127.0.0.1:3000/api/auth/login-options` 返回 `["phone","password"]`。
|
||||
2. `GET http://127.0.0.1:3000/api/runtime/match3d/gallery` 返回 `{"items":[]}`,不再返回 SpacetimeDB 503。
|
||||
3. 未登录请求 `POST http://127.0.0.1:3000/api/creation/match3d/sessions` 返回 `401`,说明同源请求已进入 Rust 鉴权层,不再被 Vite `404`。
|
||||
4. 隔离端口指向挂起的 Maincloud 并使用 mock 短信时,手机号验证码登录返回 `200` 和 token;日志只记录“认证快照写入 SpacetimeDB 失败,当前认证流程继续”。
|
||||
|
||||
## 6. 后续
|
||||
|
||||
1. Maincloud `xushi-p4wfr` 仍需恢复数据库挂起状态,否则正式云端玩法 procedure 仍不可用。
|
||||
2. 本地开发如只为体验抓大鹅,可继续使用本地 SpacetimeDB 链路。
|
||||
3. 认证快照同步失败会影响进程重启后的云端恢复完整性,需要在 Maincloud 恢复后重新完成一次成功同步。
|
||||
@@ -460,6 +460,9 @@ interface Match3DItemSnapshot {
|
||||
1. `Flying` 可以作为前端表现态使用,不要求后端逐帧落库。
|
||||
2. 后端主要确认 `InBoard -> InTray -> Cleared` 的权威状态变化。
|
||||
3. `clickable` 是后端计算给前端的可点击快照,前端命中检测必须尊重它。
|
||||
4. `x / y / radius` 统一使用 `0~1` 归一化舞台坐标。圆心为 `(0.5, 0.5)`,圆形可用半径为 `0.5`。
|
||||
5. 后端生成物品时必须保证 `distance((x, y), (0.5, 0.5)) + radius <= 0.5 - safeMargin`。首版 `safeMargin` 用于覆盖圆形边框和阴影,避免物品被边界压住或裁切。
|
||||
6. 前端渲染收到旧快照或异常坐标时,可以只做显示层兜底收束,但不得把兜底后的表现坐标写回为规则真相。
|
||||
|
||||
## 8.3 `Match3DTraySlot`
|
||||
|
||||
@@ -517,11 +520,14 @@ totalItemCount = clearCount * 3
|
||||
|
||||
## 9.3 demo 视觉素材
|
||||
|
||||
首版使用 `10` 种颜色形状组合素材。
|
||||
首版使用内置视觉键和前端内置几何图形资产,不接真实图片生成。
|
||||
|
||||
1. `visualKey` 固定为内置素材 key。
|
||||
2. 题材主题先进入作品配置和 Agent 文案,不强制生成题材素材。
|
||||
3. 后续接入真实题材素材前,必须另补资产生成方案。
|
||||
1. 水果题材必须使用 `watermelon-green / apple-red / banana-yellow / grape-purple / melon-green / berry-blue / peach-pink / plum-indigo / lime-lime / orange-orange` 这组内置水果视觉键;前端首版将其映射为纯色几何体,不渲染水果写实图,也不能显示为带文字或透明气泡的小球。
|
||||
2. 非水果题材暂使用 `red_circle / yellow_triangle / purple_diamond / green_square / blue_star / orange_hexagon / cyan_capsule / pink_heart / lime_leaf / white_moon` 这组兜底颜色形状视觉键。
|
||||
3. `visualKey` 不允许在前端统一兜底为同一个素材;未知 key 至少要有稳定的颜色差异,避免多个不同 `itemTypeId` 被玩家误认为同一种物品。
|
||||
4. 运行态图案必须使用实心、高饱和、无文字的几何 SVG,至少覆盖圆形、三角形、菱形、方形、五角星、六边形、胶囊、心形、梯形、平行四边形等多种轮廓;外层命中按钮不得再显示半透明气泡底。
|
||||
5. 水果题材的相对尺寸由后端权威半径决定,首版要求西瓜明显大于苹果,苹果、橙子、桃子等中型水果大于葡萄、李子、青柠等小型水果;前端不得自行改写规则半径,只负责按快照表现。
|
||||
6. 后续接入真实题材图片素材前,必须另补资产生成方案。
|
||||
|
||||
## 9.4 难度
|
||||
|
||||
@@ -532,6 +538,7 @@ totalItemCount = clearCount * 3
|
||||
1. 难度越高,物品尺寸可整体略小。
|
||||
2. 难度越高,堆叠层级可略深。
|
||||
3. 难度越高,首屏可直接三消的可见组合可略少。
|
||||
4. 同一局内允许有轻微尺寸差异,但每个物品仍必须完整落在圆形空间内。
|
||||
|
||||
具体数值不在 A0 冻死,由 B1 领域 crate 分支给出首版常量并通过测试覆盖。
|
||||
|
||||
|
||||
@@ -1,27 +1,34 @@
|
||||
# 抓大鹅创作入口敬请期待 2026-05-01
|
||||
# 抓大鹅创作入口开放与错误隔离 2026-05-01
|
||||
|
||||
## 1. 背景
|
||||
|
||||
抓大鹅 Match3D 玩法域已存在创作工作区、结果承接和后续后端接入文档,但当前产品节奏需要先收起创作页入口,避免玩家从创作页直接进入未完全开放的抓大鹅创作链路。
|
||||
抓大鹅 Match3D 玩法域已完成当前 demo 主链接入,本轮恢复创作页入口,使玩家可以从创作中心直接进入抓大鹅共创工作台。同时,平台首页会并行读取 RPG、拼图、抓大鹅等公开广场数据,公开广场接口未就绪、空表或临时失败不应污染创作入口错误态,也不应表现成登录异常。
|
||||
|
||||
## 2. 落地边界
|
||||
|
||||
本轮只调整平台创作入口展示与点击防线:
|
||||
本轮只调整平台创作入口展示、点击分流与公开广场错误隔离:
|
||||
|
||||
1. `PLATFORM_CREATION_TYPES` 中 `match3d` 保持展示,标题仍为 `抓大鹅`。
|
||||
2. `match3d` 的副标题与 badge 统一显示 `敬请期待`。
|
||||
3. `match3d.locked` 设为 `true`,创作页首屏卡片和创作类型弹层都会变为不可点击。
|
||||
4. 平台分流回调继续保留 `match3d` 防御返回,避免旧 UI 状态或旧入口绕过锁定态。
|
||||
2. `match3d` 的副标题显示 `经典消除玩法`,badge 显示 `可创建`。
|
||||
3. `match3d.locked` 设为 `false`,创作页首屏卡片和创作类型弹层均可点击。
|
||||
4. 首屏卡片的 `handleCreationHubCreateType('match3d')` 必须走登录保护后调用 `openMatch3DAgentWorkspace()`。
|
||||
5. 创作类型弹层的 `onSelectMatch3D` 必须走同一条登录保护与工作台打开链路。
|
||||
6. 公开抓大鹅广场读取失败只清空抓大鹅公开列表,不写入 `match3dError`,避免把公开数据失败展示为创作工作台错误。
|
||||
7. RPG 公开作品广场读取失败只降级为空列表,不提升为整个平台错误;私有作品库、创作作品列表等受保护请求失败仍保留错误提示。
|
||||
|
||||
## 3. 非目标
|
||||
|
||||
1. 不删除 `src/components/match3d-creation/`、`src/services/match3d-creation/` 或已完成的 Match3D 玩法域代码。
|
||||
2. 不修改 SpacetimeDB 表、procedure、bindings 或 `migration.rs`。
|
||||
3. 不改变已发布抓大鹅作品的详情、运行态和后续恢复入口能力。
|
||||
4. 不在本轮补做公开广场接口的后端业务兜底;前端只对公开读取失败做非阻塞降级。
|
||||
|
||||
## 4. 验收点
|
||||
|
||||
1. 创作页能看到 `抓大鹅` 卡片。
|
||||
2. 该卡片显示 `敬请期待`,且按钮 disabled。
|
||||
3. 创作类型弹层中的 `抓大鹅` 同样显示 `敬请期待`,且不可点击。
|
||||
4. 相关测试、类型检查和编码检查通过。
|
||||
2. 该卡片显示 `经典消除玩法`,且按钮可点击。
|
||||
3. 登录态点击创作页首屏 `抓大鹅` 卡片后进入抓大鹅共创工作区。
|
||||
4. 未登录点击 `抓大鹅` 入口时弹出登录面板,不静默吞掉点击。
|
||||
5. 抓大鹅公开广场读取失败时,创作页不显示 `读取抓大鹅广场失败`,抓大鹅入口仍可进入。
|
||||
6. RPG 公开作品广场读取失败时,首页不显示阻塞性的 `读取作品广场失败`,创作页仍可正常打开。
|
||||
7. 相关测试、类型检查和编码检查通过。
|
||||
|
||||
@@ -98,10 +98,12 @@ server-rs/crates/module-match3d
|
||||
1. `clearCount` 必须是正整数。
|
||||
2. `totalItemCount = clearCount * 3`。
|
||||
3. 难度范围为 `1~10`。
|
||||
4. 首版内置 `10` 种 demo 视觉 key。
|
||||
5. 当 `clearCount > 10` 时,复用视觉 key,并保证每种物品数量仍为 `3` 的倍数。
|
||||
6. 初始布局使用确定性 seed 生成圆形空间内的 2D 坐标。
|
||||
7. 可点击判定只做 2D 近似:若物品被更高层物品完全覆盖,则不可点击;否则可点击。
|
||||
4. 首版内置水果题材视觉 key 和颜色形状兜底视觉 key。
|
||||
5. 当题材包含水果语义时,使用水果视觉 key;其他题材使用颜色形状兜底 key。
|
||||
6. 当 `clearCount > 10` 时,复用视觉 key,并保证每种物品数量仍为 `3` 的倍数。
|
||||
7. 初始布局使用确定性 seed 生成圆形空间内的 2D 坐标。
|
||||
8. 坐标使用 `0~1` 归一化舞台坐标,圆心为 `(0.5, 0.5)`;生成时必须保证 `distance((x, y), (0.5, 0.5)) + radius <= 0.5 - safeMargin`,避免物品被圆形边界压住或裁切。
|
||||
9. 可点击判定只做 2D 近似:若物品被更高层物品完全覆盖,则不可点击;否则可点击。
|
||||
|
||||
## 6. 验收
|
||||
|
||||
|
||||
@@ -80,11 +80,16 @@ POST /api/runtime/match3d/runs/{run_id}/time-up
|
||||
|
||||
## 3. 创作 Agent 当前口径
|
||||
|
||||
B5 首版先采用确定性配置抽取,不在本阶段新增真实 LLM prompt:
|
||||
B5 首版先采用确定性配置抽取,不在本阶段新增真实 LLM prompt。
|
||||
|
||||
1. 创建会话时可从 `themeText / seedText / clearCount / difficulty / referenceImageSrc` 形成配置。
|
||||
2. 发送消息时根据用户文本或 `quickFillRequested` 更新题材、需要消除次数和难度。
|
||||
3. `match3d_compile_draft` 动作调用 SpacetimeDB `compile_match3d_draft`,生成 draft work profile。
|
||||
2026-05-01 起,抓大鹅创作入口必须按三轮 Agent 问答收集配置,不能在用户未回答前用默认值生成“已确认”回复:
|
||||
|
||||
1. `POST /api/creation/match3d/sessions` 创建会话后,首条 assistant 消息固定为“你想创作什么题材”。
|
||||
2. 用户第一轮回复只写入题材,assistant 继续问“需要消除多少次才能通关”。
|
||||
3. 用户第二轮回复只写入需要消除次数,assistant 继续问“如果难度是从1-10,你要创作的关卡是难度几”。
|
||||
4. 用户第三轮回复写入难度后,assistant 才返回“已确认:...”,并把进度推进到 `100`、stage 推进到 `ReadyToCompile`。
|
||||
5. SpacetimeDB 当前配置快照仍要求合法数值,因此 `api-server` facade 可以在 `config_json` 内保留兜底合法值,但回复、进度和是否允许生成结果页必须以三轮问答进度为准。
|
||||
6. `match3d_compile_draft` 动作只能在三项收集完成后调用 SpacetimeDB `compile_match3d_draft`,生成 draft work profile。
|
||||
|
||||
后续若要接真实 LLM turn,应复用现有创作 Agent 公共编排,并保持 submit/finalize 两阶段职责不变。
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
- [SPACETIMEDB_SCHEMA_CHANGE_CONSTRAINTS.md](./SPACETIMEDB_SCHEMA_CHANGE_CONSTRAINTS.md):冻结 SpacetimeDB 表结构变更约束、自动迁移可接受范围、冲突后的系统行为,以及保留旧数据的增量迁移流程;凡涉及 `spacetime publish`、表字段调整或 `migration.rs` 对齐时优先参考。
|
||||
- [SPACETIMEDB_LOCAL_REPLICA_IDENTITY_MISMATCH_FIX_2026-04-30.md](./SPACETIMEDB_LOCAL_REPLICA_IDENTITY_MISMATCH_FIX_2026-04-30.md):记录本地 standalone 启动时报 `mismatched database identity` 的 root-dir/replica 数据残留根因、备份重建步骤和脚本诊断口径。
|
||||
- [AUTH_SNAPSHOT_AND_MATCH3D_LOCAL_DEV_FIX_2026-05-01.md](./AUTH_SNAPSHOT_AND_MATCH3D_LOCAL_DEV_FIX_2026-05-01.md):记录 Maincloud `xushi-p4wfr` 挂起导致认证快照同步和抓大鹅创作失败的根因、认证同步非阻断修复、`/api/creation` Vite 代理补齐和本地 SpacetimeDB 可跑链路。
|
||||
- [LLM_MODEL_ROUTING_RPG_AND_CREATION_2026-04-30.md](./LLM_MODEL_ROUTING_RPG_AND_CREATION_2026-04-30.md):冻结 RPG 运行时剧情推理使用 `doubao-seed-character-251128` 的 `/chat/completions`,以及所有模板创作大模型推理使用 `deepseek-v3-2-251201` 的 `/responses`。
|
||||
- [PROFILE_INVITE_CODE_REGISTRATION_AND_ADMIN_2026-04-30.md](./PROFILE_INVITE_CODE_REGISTRATION_AND_ADMIN_2026-04-30.md):冻结邀请码从“我的 Tab 填写”迁到注册环节的前后端边界、`profile_invite_code.metadata_json` 表结构扩展、管理员邀请码虚拟主体和奖励规则。
|
||||
- [MATCH3D_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-30.md](./MATCH3D_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-30.md):冻结抓大鹅 Match3D 首版 demo 的独立玩法域、表与 procedure、HTTP facade、前端即时反馈/后端权威确认协议,以及可并行开发包。
|
||||
@@ -13,7 +14,7 @@
|
||||
- [MATCH3D_F1_CREATION_ENTRY_AND_AGENT_UI_2026-04-30.md](./MATCH3D_F1_CREATION_ENTRY_AND_AGENT_UI_2026-04-30.md):记录抓大鹅 F1 创作入口、Agent 工作区、参考图入口、本地 mock client 与后续 B5 HTTP facade 替换点。
|
||||
- [MATCH3D_F2_RESULT_AND_PUBLISH_2026-04-30.md](./MATCH3D_F2_RESULT_AND_PUBLISH_2026-04-30.md):冻结抓大鹅 F2 结果页、基础信息编辑、发布前试玩入口、发布门槛、自动保存和已发布作品二次编辑恢复口径。
|
||||
- [MATCH3D_SPACETIME_CLIENT_AND_API_FACADE_2026-04-30.md](./MATCH3D_SPACETIME_CLIENT_AND_API_FACADE_2026-04-30.md):记录抓大鹅 B4+B5 已落地的 SpacetimeDB bindings、`spacetime-client` facade、`api-server` HTTP 路由、shared contract 对齐和验收命令。
|
||||
- [MATCH3D_CREATION_ENTRY_COMING_SOON_2026-05-01.md](./MATCH3D_CREATION_ENTRY_COMING_SOON_2026-05-01.md):记录抓大鹅创作页入口临时改为“敬请期待”、不可点击,以及保留既有 Match3D 能力不删除的边界。
|
||||
- [MATCH3D_CREATION_ENTRY_COMING_SOON_2026-05-01.md](./MATCH3D_CREATION_ENTRY_COMING_SOON_2026-05-01.md):记录抓大鹅创作页入口重新开放、首屏与弹层分流一致,以及公开广场失败不污染创作错误态的边界。
|
||||
- [MATCH3D_Q1_INTEGRATION_ACCEPTANCE_2026-05-01.md](./MATCH3D_Q1_INTEGRATION_ACCEPTANCE_2026-05-01.md):记录抓大鹅 Match3D 第一至第三波完成度复核、Q1 主链集成落点、定向验收命令和遗留风险。
|
||||
- [PLATFORM_MOBILE_BOTTOM_DOCK_VIEWPORT_FIX_2026-04-30.md](./PLATFORM_MOBILE_BOTTOM_DOCK_VIEWPORT_FIX_2026-04-30.md):记录平台首页底部 dock 在手机浏览器地址栏展开时脱离可见区域的根因,以及 `100dvh`、固定底部锚点和安全区占位的修复口径。
|
||||
- [SPACETIMEDB_JSON_STRING_MIGRATION_PROCEDURE_2026-04-27.md](./SPACETIMEDB_JSON_STRING_MIGRATION_PROCEDURE_2026-04-27.md):记录 SpacetimeDB private 表迁移 JSON 导出/导入 procedure、迁移操作员授权、HTTP 413 分片导入、Jenkins 自动迁移回灌和导入脚本参数。
|
||||
|
||||
Reference in New Issue
Block a user