solve 是纯函数(attach 靠 ctx.rects 查目标矩形而非反查引擎), fan 的 clamp 间距算法只此一处实现;line 带 items 时自行按累计宽度推进, 不走假设等宽的 distribute。未知 kind/缺参/target 缺失一律抛错,不兜底。 apply 是唯一触碰 SpriteManager 的三行封装。 测试里 attach 外侧右上角一条按 AlignmentUtils.alignCornerTopRight 的真实实现 (角对角重合,非贴外侧)修正了期望值,未在求解器里做偏移补偿迁就猜测值。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>