Files
gplan-2/design/gdd/ux/camp.md
T
DKChan 7ed648da54
ci / gates (push) Failing after 7m5s
合并(营地交互修复批·登记+文档定稿+写卡四轮复核): 分支 camp-interact-20261105 四提交合入——cc2be27b 登记一条待办(三件同批)/00d7bbfb 文档定稿四处(camp.md v2.8 §顶栏栏体定值〔#6E4526×α0.80、48px 全宽浮层、栏内只钥石徽章一件右位顶格〕+art-bible v3.43 §6.2 同步指回+HUD框架 §提示与弹层三条纪律·其三确认弹窗按钮位次定值+待办状态推进)/4a650d0e 写卡一张三需求点+两行能力清单/0977a548 件3 设计终裁改判(撤「通用铺面出口+收编三处同形旧实现」, 落 UiKit.camp_hud_band_surface(host) 单参具名出口、色值 CAMP_HUD_BAND=Color(CAMP_HEADER_BAND,0.80)、ui_assembler.gd:224-230 与 ui_kit.gd:486-491/:537 一律不动; R9 删、验收回 R1–R8、估时 2.0 工作日)+轮次4 独立复核(17 条: 硬伤 2=R4 坐标口径按行矩形左位必打空[行 ALIGNMENT_CENTER, 双钮 444<壳宽 460]改取 child(0) 全局矩形中心、_smoke_camp_hud_band 接 _initialize 不成立[只调 _split_tail 且尾段 quit, 不被 await=假绿]改接尾段 await 链; 事实错 4=四消费方行号 72/76-78/82→73/79-80/83、场景根代码 new 位置 camp_scene_view:13-14→scenes/camp_screen.gd:13-14 并据此推翻轮次3 沿用值、modal_shell 不产 HSeparator、confirm_dialog:27-29 是同机制先例非右对齐先例; 一致性 4/补写 3/确认 5; 不采信 1=复核者把 presentation_encapsulation_sweep_test.gd 路径误记 unit/contracts/ 实在 unit/presentation/); 零待裁点, 本卡不编迭代(用户口径: 写完卡即收口); 撞车处置=待办清单两处 README 能力表一处冲突按「master 侧现行文+分支侧新增在其上重放」解: 篝火/营地图鉴两行取 master 真输入化现行版, 分支侧旧措辞撤, 新增两行(确认弹窗按钮位次与语义同钉/营地顶栏栏体定值与落座)插回原相邻位并同步 R4 新口径; 待办清单侧 master 已退役的「三关色相×五组微光互辨抽测」条不复活(合并后条目数 28→31=本批净加三条), 营地条状态 文档设计已闭合+已写卡; 本步凭据: 合并后主区 pipeline_gate 直跑 PASS(待办条目 31/roadmap 至迭代 53/超长 0/卡片口径 2 张全过)+pre-merge-commit 前置检查绿(读数见本合并输出)
2026-11-06 19:19:18 +08:00

52 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 营地场景 UX spec(camp)
> 状态:v2.8(现行)
> 事实源:本 spec(呈现)+ [元进度](../systems/跨局循环/元进度.md)(机制)
> 美术画法:[art-bible](../../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../../art/asset-path-map.md)
> 相邻:[level-map.md](level-map.md)(主菜单语境)
## 定位
营地=存档内的局外枢纽(存档语境可达,冒险进行中不可达)。形态=**一张可点击的营地场景图**:画面里有篝火、锻炉、帐篷等物件,点物件进对应界面。**不是按钮列表式 UI。**
## 场景构成与七物件绑定
| 物件 | 进入 | 备注 |
|---|---|---|
| 大门(半开的门扇,门洞内一条通向远处的小路) | 冒险 | 点大门永远先出确认:有未完冒险=三出口(继续上一段/开始新冒险/取消);无=是否开始新冒险 |
| 锻炉·铁砧 | 锻造工坊 | **未解锁=禁用态**(降明度+去饱和) |
| 宝箱 | 秘宝匣 | **未解锁=禁用态**(同上) |
| 帐篷旁笔记本 | 生涯记录 | 生涯页返回钮文案**禁含「营地」字样**(由呈现层结构校验兜底,口径见测试规约) |
| 木桩 | 天赋树 | |
| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** |
| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 |
| 帐篷 | — | 承载件,**不可点**;251×170 落位 (982, 335),上端遮住围墙下部;笔记本在其左下方外侧、两者不重叠 |
纵深=远景天空与远山/中景木围墙与营地大门/近景篝火与左右物件(作者纵深稿)。中景围墙是横贯全宽的密排竖木桩墙——木桩一根挨一根无缝、桩顶削尖、无横木,只在中段留缺口给大门。
**场景按要素分层(10 张)**:远景天空/远山/整片地面/门洞内的小路合成 `scene_camp_bg` 背景层(z0,不透明全幅);中景木围墙独立成 `scene_camp_wall` 围墙层(z1,透明底,门洞处留透明缺口);其余八个物件层各一张、由上往下叠。门洞是围墙层的透明缺口,透出背景层画的**一条通向远处的小路**,不可填死。
**地平线在终稿 y367**(自画面底部往上约 46%),其上是天空与远山、其下整片地面;**中景围墙带 y203–367**,桩身 150、门柱 164;近景物件允许压住围墙(围墙不可点,z 序在近景物件之下),**唯一例外=中间门洞必须留空、不被任何物件遮挡**。围墙形态、门扇比例与帐篷尺寸的现行口径归 [art-bible](../../art/art-bible.md) §6.2,本 spec 不再复述。
坐标草案与分层验收判据见 [camp-scene-prompts](../../art/camp-scene-prompts.md) §2.3/§4(10 张口径现行事实源);2026-10-22 美术方案讨论沿革查 git 提交史。
## 点选反馈(根态)
悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附)+物件**名牌**(物件下方 8px 居中,提示字号 14,对比 ≥4.5:1);按下=位移 1px;禁用=降明度+去饱和;已解锁=常态。**四态零新素材**(全部程序化)。
命中区:七件两两不相交、不越出画面、**不侵入顶栏禁区(y ≤ 48)**。
## 顶栏
钥石余额常驻画面顶部一行小 HUD 栏:高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**。栏体底=营地头带深棕 `#6E4526`(token `CAMP_HEADER_BAND`,色值出处 [art-bible](../../art/art-bible.md) §7.2 五 token 对齐表)× **不透明度 0.80**——半透明系定值,底下画面透出 20%。栏内**只放钥石徽章一件**,右位、顶格落座(徽章自高 48px=栏高,无顶距可言),左位不放件。验收:目检〈顶栏成一条可辨窄带、徽章落在带内〉+机检〈栏体呈色对其下方落位带底色对比 ≥3:1〉。刷新入口已实装=营地刷新单口(进档与营地内写口尾触发,现开界面与顶栏余额同步取现值)。
## 叠层与开合
各界面开合走模态栈单口,层序按模态栈契约登记。**承载形态已定稿**:五个功能界面(锻造工坊/秘宝匣/天赋树/奖励格图鉴/生涯记录)各以**功能窗口**打开——窗口为统一居中定尺寸窗壳(起点 720×640,窗明显小于屏、营地场景大面积可见;终值随样张目检校准,属普通设计决策)——**该窗壳形态已实装**(窗壳几何单点定值、五窗共用同一石板皮窗板;起点值 720×640 为实装现值,样张目检校准意见回填终值〔登记体验验证清单 ㊽〕),窗之下垫半透明压暗遮罩(交互聚焦用,复用既有模态遮罩件,现值锚黑色 0.6;观感随样张目检校准,属普通设计决策),内容超高时窗内滚动;生涯页与四子界面同壳同形态。**五窗互斥单开**(模态栈深恒 1,不开窗叠窗);各窗自带关闭钮。ESC 优先序:有功能窗口开着 → 先关最上层窗;无窗 → 才进 ESC 浮窗(返回主菜单/设置/退出游戏)。
## 口径
- 呈现数据源=元进度系统只读投影经组合根喂入;本层不持有系统资源、不算价。
- 「最近冒险」条带已撤下,逐局历史回看归生涯。
- 秘宝匣界面内部呈现(解锁面+同调装配段)保留为附录,待该界面立独立 spec 后迁出。