pbl_scense_ext/README.md

34 lines
2.5 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.

# pbl_scense_ext
PBL 覆盖层前端扩展模块(scense / scense_game 之上的 pbl_scense_ext 覆盖层与页面注册,M9)。
## 生成产物与入库边界
- `wwwroot/pbl_overlay/*.ui`(12 个覆盖层页面壳)是**构建产物,不入库**:仓库根
`.gitignore` 以条目 `wwwroot/pbl_overlay/` 排除该目录
(module-development-spec「CRUD-Generated wwwroot Directories Must Not Be Git-Tracked」)。
- **生成时机(如实声明,不声称不存在的步骤)**:截至本提交,`apps/pbls/build.sh`
**没有**调用 `scripts/gen_overlay_pages.py` 的步骤——实测
`grep -n 'gen_overlay_pages' apps/pbls/build.sh` 零命中(该脚本第 9 步是 py_compile
全量语法验证)。因此**新克隆 / 新部署环境必须显式执行**
`python3 scripts/gen_overlay_pages.py`,否则 `wwwroot/pbl_overlay/` 为空目录、
`/pbl_overlay/<key>.ui` 导航全量 404。把生成步骤接入应用构建脚本(模块安装之后、
wwwroot 软链之前)不在本模块职权内(`build.sh` 归应用侧所有),已由本任务交付说明
冒泡请 PM 派单跟踪;在其落地前,本模块文档不得声称存在一个不存在的构建步骤。
- 入库的交付物是**生成器与事实源**:`scripts/gen_overlay_pages.py`(生成器)、
`wwwroot/i18n/{zh,en}/msg.txt`(界面文案事实源)、`wwwroot/overlay/*.js|*.css`
(覆盖层实现)、`scripts/load_path.py`(RBAC 路径登记)。
- 一致性自检(三条都必须成立,前两条验「入库边界」,第三条验「生成步骤接入前提」):
```bash
git check-ignore -v wwwroot/pbl_overlay/home.ui # 命中 .gitignore 的 wwwroot/pbl_overlay/
git ls-files wwwroot/pbl_overlay # 空输出(无任何跟踪文件)
# 前提检查:生成步骤是否已接入应用构建脚本;WARN = 尚未接入,新环境须手动生成
grep -q gen_overlay_pages ../../apps/pbls/build.sh \
|| echo 'WARN: 生成步骤未接入 apps/pbls/build.sh,新克隆环境需手动执行 scripts/gen_overlay_pages.py'
```
第三条也可由生成器自检代跑:`python3 scripts/gen_overlay_pages.py --check` 会实测
`apps/pbls/build.sh` 并打印 `OK:` 或 `WARN:`(不改变返回码)。
- 新增/删除页面壳:改 `gen_overlay_pages.py` 的 `PAGES` 注册表 + `wwwroot/overlay/pbl_overlay_core.js`
的 `PAGES` + `scripts/load_path.py` 的 `OVERLAY_PAGES` 三处同源,再跑
`python3 scripts/gen_overlay_pages.py --check`(rc=0 才算通过)。