feat(pointview): 新增「场景/点位」页签——正交俯视真实场景底图 + 点位精确叠加

第三个页签(与海选审核/演出配置平级),只读查看每个点位集里各点的真实
位置/朝向,配 move.to/camera.focus 时对照用,不必回 Unity 翻 json。

- pointview.js: 独立白模点位查看器(按 kind 上色/朝向箭头/悬停坐标/侧栏清单);
  有底图则把正交俯视真实场景图当画布底图、点位按 shot.bounds 线性投上去
  (像素级对齐家具),带显隐开关;无底图回退黑底白模。
- app.py: /api/pointsets 给有底图的点位集附 shot{url,bounds};新增
  /sceneshot/{name}.png 路由(防目录穿越)。
- Dockerfile/compose: 加 STORY_SCENESHOTS_DIR(/sceneshots) env + 挂载点与注释。

底图由 SGame 仓新增 Editor 工具「剧情场景俯视抓拍」产出
({name}.png + {name}.shot.json,map-local 覆盖范围)。
This commit is contained in:
2026-06-14 11:13:24 +08:00
parent 030f1ee34d
commit 603f78b77f
9 changed files with 414 additions and 4 deletions

View File

@ -25,6 +25,7 @@
<div class="mode-switch">
<button id="mode-review" class="mode-btn active">海选审核</button>
<button id="mode-perform" class="mode-btn">演出配置</button>
<button id="mode-points" class="mode-btn">场景/点位</button>
</div>
<div class="toolbar" id="review-toolbar">
<button id="btn-save" class="primary" disabled>保存</button>
@ -88,6 +89,18 @@
</main>
</div>
<!-- 场景/点位页(只读:看每个点位集里各点的真实位置/朝向,配 move.to 时对照用)-->
<div id="points-wrap" class="hidden">
<aside id="points-list-pane">
<div class="perform-listhead">场景点位集</div>
<div id="points-set-list"></div>
</aside>
<main id="points-main">
<div id="points-empty" class="empty-center">从左侧选择一个点位集,查看其中各点的位置与朝向</div>
<div id="points-view"></div>
</main>
</div>
<!-- 校验结果遮罩 -->
<div id="validate-modal" class="overlay hidden">
<div class="modal">
@ -136,6 +149,7 @@
<script src="playtest.js"></script>
<script src="timeline.js"></script>
<script src="scene_edit.js"></script>
<script src="pointview.js"></script>
<script src="app.js"></script>
</body>
</html>