Skip to content

Releases: keneth80/k-chart

KChart v1.24.1 - Numeric LTTB Performance

Choose a tag to compare

@keneth80 keneth80 released this 26 Aug 12:42

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

Choose a tag to compare

@keneth80 keneth80 released this 26 Aug 06:49

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

Choose a tag to compare

@keneth80 keneth80 released this 25 Aug 12:30

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.0

KChart v1.22.0 - Axis Title Layouts and Runtime Stability

Choose a tag to compare

@keneth80 keneth80 released this 20 Aug 14:22

Added

  • Added titleLayout and titleOffset axis 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

Choose a tag to compare

@keneth80 keneth80 released this 17 Jul 12:12

Added

  • Smooth number/time domain interpolation for updateData() with animation.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

Choose a tag to compare

@keneth80 keneth80 released this 14 Jul 01:33

Fixed

  • Fixed tickCount being ignored by point and string axes.
  • 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

  • number and time axes retain their existing D3 tick hint behavior.
  • Omitting tickCount or 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

Choose a tag to compare

@keneth80 keneth80 released this 13 Jul 13:02

Added

  • Added createTreeSeries with 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

Choose a tag to compare

@keneth80 keneth80 released this 11 Jul 06:18

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-basic starter 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

Choose a tag to compare

@keneth80 keneth80 released this 11 Jul 06:17

1.16.0 - 2026-07-10

Added

  • Added controller.whenRenderComplete() and onRenderComplete so 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

Choose a tag to compare

@keneth80 keneth80 released this 11 Jul 06:17

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.