Files
alchain 6a721fa040 fix #36: 两个 narration demo 在窄屏下裁切——补 viewport meta + 1920 舞台自适应缩放
demos/md-html-narration/md-html-demo.html 和 demos/voiceover-demo/什么是token.html
是固定 1920×1080 的 NarrationStage 舞台,既没有 viewport meta,也没有
c1/hero-animation 那套 rescale(),窗口窄于 1920 时画面被裁掉大半——375 宽下
几乎全是背景色,正是 issue 里说的「需要调整缩放才能正确展示」。

改动只加不减,共 30 行:
- 补 <meta name="viewport" content="width=device-width, initial-scale=1">
  (缺它时移动版 Chrome 按 980px 虚拟视口渲染再整体缩放,是「要手动调缩放」的直接来源)
- 沿用仓库已有的 rescale() 写法,按视口宽度给 #root 设 zoom,上限为 1

上限 1 是关键:≥1920 一律不缩放,所以 scripts/render-video-seek.js 走的
1920×1080 录制路径完全不受影响(实测 zoom=1、stageRect 与修改前逐字节一致)。
md-html-demo 因 body 有 20px padding,窄屏时额外减 40,并显式在 ≥1920 处
返回 1,避免桌面版被缩掉 2%。

验证:21 个 demo × 375/768/1280/1920 共 84 次检查,横向溢出从 6 处降为 0;
两个页面 1920 截图与修改前逐像素一致(diff 0.000%),其余 demo 未受影响。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 13:45:06 -04:00
..