wplong11 opened a new pull request, #21628: URL: https://github.com/apache/echarts/pull/21628
## Summary - Apply `group.setClipPath()` in candlestick normal rendering mode when `clip: true`, consistent with how `LineView` handles clipping. - Previously, `CandlestickView.render()` unconditionally removed the clip path and relied solely on a per-item `isNormalBoxClipped()` visibility check, which allowed partially-visible candlestick wicks to render outside the grid boundary. - The per-item `isNormalBoxClipped` check is kept as an optimization to skip items entirely outside the clip area. Fixes #21627 ## Changes **`src/chart/candlestick/CandlestickView.ts`** 1. **Removed** the unconditional `group.removeClipPath()` call from `render()` (previously line 52) — clip path lifecycle is now managed by `_renderNormal` and `_renderLarge` individually. 2. **Added** canvas-level clip path in `_renderNormal()`: when `clip: true`, applies `group.setClipPath(createClipPath(coord, false, seriesModel))`; otherwise calls `group.removeClipPath()`. ## Before / After | Before (v5.5.0) | After (this PR) | |---|---| | Candlestick wicks bleed into adjacent grid | Wicks clipped at grid boundary | Live reproducer: https://wplong11.github.io/echarts-candlestick-clip-bug/ ## Test plan - [ ] Open the [reproducer](https://wplong11.github.io/echarts-candlestick-clip-bug/) with patched build — wicks should be clipped at Grid 1 boundary - [ ] Toggle filterMode between `'none'` and `'empty'` — both should show no bleed - [ ] Toggle y-axis zoom off — full range should render normally - [ ] Verify candlestick rendering in single-grid layout is unaffected - [ ] Verify large mode rendering is unaffected (large mode already applies `setClipPath`) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
