Repository navigation
Releases: urffin/algiviz
Release list
v0.8.0
- Add partial custom colors to the Canvas array renderer and its compatible alias,
with exported ArrayPalette, ArrayPaletteOverrides and ArrayRendererOptions types. - Preserve theme defaults and isolate copied overrides per renderer instance.
- Add theme presets, six color controls and palette reset to Sorting lab without
restarting playback or changing the current frame.
v0.7.1
- Update package description and keywords for custom algorithm visualizations.
- Improve the README introduction, demo links and standalone integration guide.
- Add a BFS GIF preview exported with CanvasTake, hosted on GitHub.
- No runtime API or behavior changes.
v0.7.0
Breaking changes
- Remove the deprecated
@grundyjs/algiviz/coreentry point and bundled insertion/bubble algorithms. - Use application-owned algorithms with
/array; array playback adapters now live in/array.
Fixes
- Preserve source step indices in generic timeline frames, matching generator playback.
- Preserve primary playback errors when iterator cleanup also fails; standalone cleanup failures still propagate.
Validation
- 69 tests and the isolated packed-package consumer passed.
- CI passed for 4a8c4b1.
- grundyjs.ru compatibility verified with Next.js 16.3.0: algorithm/video checks, lint, production build, and browser playback checks.
v0.6.0
- Add an application-owned graph BFS example with custom vertices, edges and queue
entries, shortest distances, disconnected components and both playback modes. - Add createStepEmitter to /playback for per-iterator step numbering and frozen
wrappers; snapshot copying and state/event immutability remain author-owned. - Use the helper in graph and merge examples, and document custom graph integration.
v0.5.1
- Update the README around the current public API and examples; remove migration
instructions and detailed legacy API documentation. - Correct demo input limits and clarify playback, snapshot memory and rendering.
- No runtime API or behavior changes.
v0.5.0
-
Cache immutable array and quick-sort scene projections and avoid repeated scale/layout
calculations and hidden text styling on dense charts; add a reproducible CPU/heap benchmark. -
Add application-owned Lomuto and three-way quick-sort demos with shared playback
controls and limits (64 history values or 2,000 generator values). -
Move the tree cursor along edges through shared ancestors in Canvas and SVG.
-
Add a retained SVG tree renderer alongside Canvas, with layer ordering and seek-safe element cleanup.
-
Add createSceneProjector to adapt immutable state frames with a two-endpoint cache; use it in the merge example.
-
Run tests and isolated package-consumer checks on pushes and pull requests,
using Node.js 22/24 on Linux and Windows. -
Share array generation controls and validation across insertion, bubble and merge demos.
-
Support forward-only generator playback in the merge sort example without retaining history.
-
Add an application-owned merge sort example using scene/playback, with a main
array and buffer, stable identity labels, seeking and accessible playback controls.
AlgiViz 0.4.0
-
Verify the packed npm archive in an isolated TypeScript consumer before publishing.
-
Add
/scenewith typed user-defined object data and visualization handlers,
identity matching, enter/update/exit transitions, layers and reference lookup. -
Render array bars through the scene dispatcher and expose
arrayScene. -
Add an external tree traversal demo defining its own nodes, edges and pointer.
-
Add algorithm-free
/arrayand/playbackentry points: user-defined generators,
validated array operations, generic states/events and optional rendering callbacks. -
Add
highlightevents andcreateArrayRenderer; existing rendering names remain available. -
Move demo algorithms into application-owned examples using only the public API.
Old/corealgorithm exports remain deprecated compatibility adapters. -
Preserve all original insertion/bubble traces; premature exhaustion now reports
a missing terminal step rather than a missing done event.
Migration guide: https://github.com/urffin/algiviz/blob/v0.4.0/README.md#migrating-from-03x
AlgiViz 0.3.0
Changes
- Add stable bubble sort with full-history and lazy generator APIs.
- Animate adjacent swaps and highlight the sorted suffix; choose either algorithm in the demo with history or forward-only playback.
- Share validation, immutable snapshots and operation counters between algorithms; document adding algorithms.
Compatibility
SortEvent adds swap and pass events. Consumers with exhaustive event switches must handle them. SortSnapshot adds optional sortedSuffixLength. Existing insertion-sort traces remain unchanged.
Validation
28 tests pass, including exhaustive repeated-value inputs and playback equivalence. All 2,186 traces match the pre-refactor baseline. The release tarball was installed in a separate consumer project and verified for ESM imports, both sorts, playback, renderer exports and TypeScript declarations.
AlgiViz 0.2.0
Changes
- Add lazy insertion sort steps with iterateInsertionSortSteps.
- Add forward-only playback with createSortPlayer and bounded snapshot storage.
- Expand the demo with playback modes, array generation and speed controls.
- Simplify key animation and hide labels on dense charts.
Validation
- 23 tests pass.
- Packed package installed and checked in a separate consumer project, including TypeScript declarations.
The npm package is published automatically by GitHub Actions.