Skip to content

Releases: urffin/algiviz

v0.8.0

Choose a tag to compare

@urffin urffin released this 19 Oct 17:11
  • 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

Choose a tag to compare

@urffin urffin released this 15 Oct 20:35
  • 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

Choose a tag to compare

@urffin urffin released this 15 Oct 13:04

Breaking changes

  • Remove the deprecated @grundyjs/algiviz/core entry 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

Choose a tag to compare

@urffin urffin released this 14 Oct 15:33
  • 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

Choose a tag to compare

@urffin urffin released this 14 Oct 14:58
  • 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

Choose a tag to compare

@urffin urffin released this 14 Oct 01:09
  • 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

Choose a tag to compare

@urffin urffin released this 09 Oct 09:30
  • Verify the packed npm archive in an isolated TypeScript consumer before publishing.

  • Add /scene with 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 /array and /playback entry points: user-defined generators,
    validated array operations, generic states/events and optional rendering callbacks.

  • Add highlight events and createArrayRenderer; existing rendering names remain available.

  • Move demo algorithms into application-owned examples using only the public API.
    Old /core algorithm 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

Choose a tag to compare

@urffin urffin released this 08 Oct 23:57

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

Choose a tag to compare

@urffin urffin released this 08 Oct 22:52

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.