diff --git a/docs/superpowers/plans/2026-07-28-path-smoothing-comparison.md b/docs/superpowers/plans/2026-07-28-path-smoothing-comparison.md index 485c107..07cb8f5 100644 --- a/docs/superpowers/plans/2026-07-28-path-smoothing-comparison.md +++ b/docs/superpowers/plans/2026-07-28-path-smoothing-comparison.md @@ -496,7 +496,7 @@ SmoothingPoint2D value = t * t * t * p3; ``` -Clamp each evaluated displacement to the interpolated movement radius and retain original samples outside merged windows. +For each evaluated point, compare its displacement from the parameter-matched interpolated original reference with `max(0, reference.BodyClearance - MinimumClearanceReserveMeters)`. If any point exceeds that radius, return a failed candidate with no geometry; do not pointwise clamp or project curve samples. Retain original samples outside merged windows. - [ ] **Step 4: Run Bézier and regression checks** diff --git a/docs/superpowers/specs/2026-07-28-path-smoothing-comparison-design.md b/docs/superpowers/specs/2026-07-28-path-smoothing-comparison-design.md index 53c292d..1fe6c70 100644 --- a/docs/superpowers/specs/2026-07-28-path-smoothing-comparison-design.md +++ b/docs/superpowers/specs/2026-07-28-path-smoothing-comparison-design.md @@ -281,6 +281,8 @@ RetryStrengthScales 预处理器根据原路径的保守车体净空和 `MinimumClearanceReserveMeters` 计算每个样点允许的最大移动范围。该范围只用于减少平滑曲线切弯进入障碍物的概率,不构成安全证明。最终安全性只能由完整车体碰撞和扫掠复核确认。 +算法生成候选时,每个求值输出点还必须相对同一参数处的原始插值参考点复核该范围:`max(0, reference.BodyClearance - MinimumClearanceReserveMeters)`。超限时该算法尝试必须失败并不得发布候选几何;禁止把单个求值点投影或硬裁剪回该范围,因为这会在原折点附近破坏曲线切线连续性。该候选可行性门槛不替代最终的完整车体碰撞和扫掠复核。 + ## 9. 三种平滑方法 ### 9.1 三次 B 样条