Releases: keneth80/k-chart
Releases · keneth80/k-chart
Release list
KChart v1.24.1 - Numeric LTTB Performance
Changed
- Added an internal numeric-field LTTB fast path that reads xField and yField directly.
- Preserved Date, string, nullish, mixed-value, and custom-accessor behavior without public API changes.
- Reduced the local 5M-point S1 median from roughly 106-109 ms to 33.7 ms in the verified benchmark environment.
Tests
- Added exact selected-point reference equivalence coverage across thresholds, ties, sparse/non-finite data, and custom accessor precedence.
- Added package export coverage to keep the optimized dispatch internal.
- Verified unit tests, adapter builds, demo build, package dry run, and 1M/5M benchmarks.
KChart v1.24.0 - Range Navigator
Added
- Added the rangeNavigator configuration and createRangeNavigatorOption() factory for number/time axes.
- Added a GitHub Contributors-style weekly commit example with a draggable overview brush.
Changed
- Reserved navigator-aware bottom margins and kept selections synchronized across data updates.
Fixed
- Kept grouped endpoint columns within plot bounds.
- Prevented stale duplicate renders after callback-driven updates or destruction.
Tests
- Added range, layout, and grouped-column geometry regression coverage.
KChart v1.23.0 - WebGL Zoom Stability
Highlights
- Coalesces wheel and drag zoom repaint work to the latest state once per animation frame.
- Preserves immediate zoom callbacks, final gesture rendering, and controller lifecycle cancellation.
- Adds the remaining StackBlitz-ready chart starters.
Verification
- Full unit, package export, adapter, worker, demo build, and runtime dependency checks passed.
- The reviewed 300k-point S3 run recorded zero long tasks and a 50 ms worst frame.
Install
npm install @keneth80/k-chart@1.23.0KChart v1.22.0 - Axis Title Layouts and Runtime Stability
Added
- Added
titleLayoutandtitleOffsetaxis options. - Added horizontal Y-axis titles with automatic collision-aware margins.
Changed
- Bounded OffscreenCanvas worker traffic to one active and one latest queued frame.
- Loaded Cesium and its adapter as optional async chunks in the demo.
- Clarified that normal KChart imports do not include Cesium.
Compatibility
- Existing axis titles remain vertical by default.
- No migration is required.
KChart v1.19.0 - Smooth Realtime Timeline Updates
Added
- Smooth number/time domain interpolation for
updateData()withanimation.mode: "update". - A bounded real-time line demo and StackBlitz example for continuous time-series updates.
Changed
- Worker-backed line series keep one render per data update to avoid worker queue backpressure.
- Canvas and OffscreenCanvas backing stores are reused when dimensions are unchanged.
- Superseded render-completion promises now settle correctly when a newer animated frame replaces them.
Usage
animation: {
enabled: true,
duration: 250,
easing: "linear",
mode: "update"
}Published package: @keneth80/k-chart@1.19.0
KChart v1.18.1 - Categorical Axis Tick Density Fix
Fixed
- Fixed
tickCountbeing ignored bypointandstringaxes. - Categorical axes now evenly sample displayed labels through explicit D3
tickValues. - The first and last category labels are preserved while the complete scale domain and every series position remain unchanged.
Compatibility
numberandtimeaxes retain their existing D3 tick hint behavior.- Omitting
tickCountor setting it to at least the category domain length continues to display every label. - No migration is required.
Verification
- Added real D3 point, band, and time scale regression tests, including domain and pixel-position preservation and boundary values.
KChart v1.18.0 - Tree & Treemap Visualizations
Added
- Added
createTreeSerieswith orthogonal and radial layouts, four orientations, hierarchy validation, emphasis, click events, tooltips, and pan/zoom support. - Added Tree Chart demo, StackBlitz project, API documentation, and regression tests.
- Added a Preset-inspired Treemap demo with metric-proportional areas, StackBlitz project, Usage output, and API documentation.
Improved
- Added implementation comments that explain tree hierarchy validation, layout coordinate conversion, cache behavior, and tooltip hit testing.
- Escaped tree tooltip content and documented the treemap binary partition behavior.
Compatibility
- Backward compatible. No migration is required.
KChart v1.16.1
1.16.1 - 2026-07-10
Added
- Added a realtime time-series line demo with a 250ms sliding time window.
- Added a
stackblitz-realtime-line-basicstarter showing fixed-size stream data and interval cleanup.
Changed
- Updated the playground/demo realtime usage snippet to avoid unbounded data growth and duplicate axis/data renders.
Packages
- Published
@keneth80/k-chart@1.16.1.
KChart v1.16.0
1.16.0 - 2026-07-10
Added
- Added
controller.whenRenderComplete()andonRenderCompleteso callers can wait for worker-backed Canvas/WebGL render completion.
Changed
- Optimized numeric/time axis domain resolution with explicit min/max skip paths and allocation-free scans.
- Added a numeric fast path for default LTTB downsample accessors.
Packages
- Published
@keneth80/k-chart@1.16.0.
KChart v1.15.3
1.15.3 - 2026-07-09
Fixed
- Fixed Waterfall bar width fallback so point scales do not render zero-width bars.
Packages
- Published
@keneth80/k-chart@1.15.3.