Files
SpineWallpaper/.scratch/wallpaper-optimization/issues/04-aspect-adaptation.md
T
Shuery 8ad177c822 docs: 优化工作台的 spec 与 6 个实施 issue(.scratch/wallpaper-optimization/)
按本仓 issue-tracker 约定落盘:spec.md 记决策与验收,issues/NN-*.md 一步一票。
01 已完成,02-06 待做。
2026-09-19 19:27:47 +08:00

21 lines
917 B
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.
# 04 比例适配:按容器比例重算视口
Status: ready-for-agent
## 问题
viewport 以等比 "contain" 映射到画布:单轴贴边、另一轴多露出世界,因此现在的负 padding 只在目标比例下成立;
在超宽屏(3440×1440)或竖屏(1080×1920)下会露出多余的世界或裁掉主体。
## 步骤
1. 测出每档壁纸在 21:9 / 16:9 / 9:16 下的构图偏差(已有对拍矩阵)。
2. 按容器宽高比在运行时重算 pad(视口是活对象:原地改 pad 后调用 `player.setViewport(当前动画名)` 即生效,
整体替换 viewport 会丢 `viewport.animations` 并在 spine-player 第 14973 行崩溃)。
3. 目标:主体完整、底部对齐、无空边。
## 验收
- 三种比例下都对拍留档,主体不被裁切、底部不悬空。
- 切换窗口大小时不重建播放器(用 `setViewport`),连续 resize 无内存增长。