@grundyjs/algiviz 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +49 -12
  3. package/package.json +8 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.1 — 2026-10-15
4
+
5
+ - Update package description and keywords for custom algorithm visualizations.
6
+ - Improve the README introduction, demo links and standalone integration guide.
7
+ - Add a BFS GIF preview exported with CanvasTake, hosted on GitHub.
8
+ - No runtime API or behavior changes.
9
+
3
10
  ## 0.7.0 — 2026-10-15
4
11
 
5
12
  - Breaking: remove the deprecated /core entry point and bundled insertion/bubble
package/README.md CHANGED
@@ -1,19 +1,56 @@
1
1
  # AlgiViz
2
2
 
3
- A TypeScript toolkit for user-defined algorithm visualizations. You write the
4
- algorithm and define your objects; AlgiViz provides array operations, playback,
5
- typed scene dispatch and a ready-made Canvas array renderer. No runtime dependencies.
6
- Playback works without DOM, React or Next.js. ESM only, with TypeScript declarations.
3
+ **Your algorithms and objects. Step-by-step playback and custom rendering.**
7
4
 
8
- This README describes version 0.7.0.
5
+ ![BFS from A: custom graph vertices, edges and queue animated with AlgiViz](https://raw.githubusercontent.com/urffin/algiviz/master/docs/assets/bfs.gif)
9
6
 
10
- ## Minimal custom object
7
+ *An application-owned BFS algorithm with custom objects. Exported with
8
+ [CanvasTake](https://github.com/urffin/canvas-take) —
9
+ [try an interactive sorting demo](https://grundyjs.ru/algorithms/insertion-sort/)
10
+ or explore the [BFS source](https://github.com/urffin/algiviz/blob/master/examples/graph-demo.mjs).*
11
11
 
12
- Start with [the standalone example](examples/minimal.html) and its
13
- [complete module](examples/minimal.mjs). It defines a custom token, emits immutable
14
- steps and draws interpolated positions using only public package imports.
15
- No shared demo controller is needed. See [the walkthrough](docs/minimal-example.md)
16
- for running it in your own application.
12
+ A TypeScript toolkit for building interactive algorithm explanations. Write your
13
+ algorithm as a generator, emit immutable states and choose how your objects look.
14
+ AlgiViz handles playback and scene matching; optional array operations and a Canvas
15
+ renderer help you get started.
16
+
17
+ [Live sorting demo](https://grundyjs.ru/algorithms/insertion-sort/) ·
18
+ [Library overview](https://grundyjs.ru/algiviz/) ·
19
+ [npm package](https://www.npmjs.com/package/@grundyjs/algiviz) ·
20
+ [Minimal example source](https://github.com/urffin/algiviz/blob/master/examples/minimal.mjs)
21
+
22
+ - **Your algorithm:** control the loops, conditions and order of operations.
23
+ - **Your objects:** define custom types and handlers for Canvas, SVG or another target.
24
+ - **Two playback modes:** retain history for seeking, or consume a generator with
25
+ only adjacent snapshots retained by the player.
26
+ - **No runtime dependencies:** ESM and TypeScript declarations; playback works
27
+ without DOM, React or Next.js.
28
+
29
+ Use it for educational demos, interactive articles and algorithm walkthroughs.
30
+ Algorithms and layouts belong to your application; AlgiViz provides the playback
31
+ and rendering API. This README describes version 0.7.1.
32
+
33
+ ## Start with one custom object
34
+
35
+ The [standalone page](https://github.com/urffin/algiviz/blob/master/examples/minimal.html)
36
+ moves one token with a generator and a custom Canvas handler. It uses only public
37
+ package imports, without the shared demo controller. Copy its
38
+ [complete module](https://github.com/urffin/algiviz/blob/master/examples/minimal.mjs)
39
+ into your application and connect a canvas:
40
+
41
+ ```js
42
+ import { createTokenPlayer } from './minimal.mjs';
43
+
44
+ const canvas = document.querySelector('canvas');
45
+ const player = createTokenPlayer(canvas.getContext('2d'));
46
+ player.advance(100); // Advance playback by 100 ms.
47
+ // Call advance(deltaMs) from your controls or animation loop.
48
+ // Call player.dispose() when removing the visualization.
49
+ ```
50
+
51
+ [Follow the walkthrough](https://github.com/urffin/algiviz/blob/master/docs/minimal-example.md)
52
+ for local setup, snapshot ownership and lifecycle. For a larger custom-object
53
+ example, see the [graph BFS walkthrough](https://github.com/urffin/algiviz/blob/master/docs/custom-graph-example.md).
17
54
 
18
55
  ## Install
19
56
 
@@ -462,7 +499,7 @@ candidate commit.
462
499
 
463
500
  The [publish workflow](.github/workflows/npm-publish.yml) runs when a stable GitHub
464
501
  Release is published. Drafts, prereleases and tag pushes alone do not publish.
465
- Use `v` followed by the exact package version, such as `v0.7.0`, at the tested commit.
502
+ Use `v` followed by the exact package version, such as `v0.7.1`, at the tested commit.
466
503
 
467
504
  The workflow uses Node.js 24 and npm 11, checks the version and packed consumer,
468
505
  then publishes with provenance through npm trusted publishing (OIDC).
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grundyjs/algiviz",
3
- "version": "0.7.0",
4
- "description": "Deterministic algorithm steps for educational visualizations",
3
+ "version": "0.7.1",
4
+ "description": "TypeScript toolkit for custom algorithm visualizations with step-by-step playback and extensible rendering",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist/array",
@@ -52,10 +52,14 @@
52
52
  },
53
53
  "homepage": "https://grundyjs.ru/algiviz/",
54
54
  "keywords": [
55
+ "algorithm-visualization",
55
56
  "algorithms",
56
57
  "visualization",
57
- "insertion-sort",
58
- "bubble-sort",
58
+ "animation",
59
+ "step-by-step",
60
+ "playback",
61
+ "data-structures",
62
+ "educational",
59
63
  "canvas",
60
64
  "typescript"
61
65
  ],