@lingkkkk/atlas-mindmap 0.1.0 → 0.1.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.
package/README.md CHANGED
@@ -5,6 +5,57 @@ data in a normalized store, geometry in typed arrays, viewport lookup in a spati
5
5
  rendering on one Canvas. The package has zero runtime dependencies and includes ESM, CommonJS,
6
6
  browser-IIFE, type declarations, and CSS builds.
7
7
 
8
+ ## Rendering preview
9
+
10
+ ![Atlas Mind Map rendering 20,001 topics across 201 levels with the live performance HUD](https://cdn.jsdelivr.net/npm/@lingkkkk/atlas-mindmap@0.1.1/assets/render-preview.webp)
11
+
12
+ This production-demo capture renders **20,001 topics across 201 levels** on one Canvas. The fixed
13
+ DOM toolbar and performance HUD remain interactive while topics, connectors, selection, collapse
14
+ controls, and branch colors are drawn by the renderer. The same preview file ships inside this npm
15
+ package at `assets/render-preview.webp`.
16
+
17
+ ## Performance snapshot
18
+
19
+ The following qualification ran the public `dist/index.js` build in headed Chromium 151 on an
20
+ Apple M1 Max, using a 1440 × 900 viewport at DPR 1. Each size used a fresh page, explicit CDP garbage
21
+ collection, 120 sampled frames per view, and seven samples per editing operation.
22
+ Version 0.1.1 is a documentation-and-preview release and does not change the measured runtime
23
+ source from 0.1.0.
24
+
25
+ | Topics | First render | Forced-GC JS heap | Page Elements | Topic Elements |
26
+ | ---: | ---: | ---: | ---: | ---: |
27
+ | 100 | 84.10 ms | 1.49 MB | 110 | 0 |
28
+ | 500 | 66.80 ms | 1.69 MB | 110 | 0 |
29
+ | 1,000 | 65.90 ms | 1.85 MB | 110 | 0 |
30
+ | 2,000 | 75.50 ms | 2.17 MB | 110 | 0 |
31
+ | 5,000 | 104.90 ms | 3.20 MB | 110 | 0 |
32
+ | 10,000 | 153.70 ms | 5.23 MB | 110 | 0 |
33
+ | 20,000 | 242.00 ms | 7.56 MB | 110 | 0 |
34
+ | 50,000 | 565.50 ms | 15.87 MB | 110 | 0 |
35
+ | 100,000 | 971.40 ms | 29.72 MB | 110 | 0 |
36
+
37
+ First render is measured from the page navigation timeline until the Canvas renderer completes its
38
+ first draw. JS heap is V8 heap after forced garbage collection; it is not total browser, GPU, or OS
39
+ memory. Page Elements are counted immediately after first render and before benchmark interaction.
40
+ Topic Elements stay at zero because topics are Canvas-drawn rather than represented by DOM nodes.
41
+
42
+ | Topics | Full-map Fit FPS / frame P95 | Focused FPS / frame P95 | Text edit P95 | Drag reparent |
43
+ | ---: | ---: | ---: | ---: | ---: |
44
+ | 20,000 | 119.9 / 8.70 ms | 114.6 / 12.70 ms | 16.15 ms | 14.61 ms · passed |
45
+ | 50,000 | 90.9 / 16.91 ms | 118.0 / 9.31 ms | 26.80 ms | 32.99 ms · passed |
46
+ | 100,000 | 47.6 / 33.21 ms | 116.7 / 10.51 ms | 46.97 ms | 41.34 ms · passed |
47
+
48
+ The 50,000 and 100,000-topic startup paths cross the report's 250 ms synchronous-blocking
49
+ threshold, even though focused editing remains smooth on this machine. Treat startup capacity and
50
+ post-startup interaction as separate acceptance criteria.
51
+
52
+ The workload is a deterministic **normalized XMind topic model** containing topic kind, markers,
53
+ labels, and task data. It measures layout and rendering after import; it does not include `.xmind`
54
+ ZIP extraction, `content.json` parsing, image decoding, attachment loading, formulas, or
55
+ collaboration traffic.
56
+
57
+ Read the [complete performance and technical-review report](https://cdn.jsdelivr.net/npm/@lingkkkk/atlas-mindmap@0.1.1/PERFORMANCE.md) for all frame, cull, draw, style, editing, pointer-integrity, environment, and limitation data.
58
+
8
59
  ## Install
9
60
 
10
61
  ```bash
@@ -60,9 +111,9 @@ Load `node_modules/@lingkkkk/atlas-mindmap/dist/index.css` with your bundler or
60
111
  ## CDN / browser IIFE
61
112
 
62
113
  ```html
63
- <link rel="stylesheet" href="https://unpkg.com/@lingkkkk/atlas-mindmap@0.1.0/dist/index.css">
114
+ <link rel="stylesheet" href="https://unpkg.com/@lingkkkk/atlas-mindmap@0.1.1/dist/index.css">
64
115
  <div id="mindmap" style="height:720px"></div>
65
- <script src="https://unpkg.com/@lingkkkk/atlas-mindmap@0.1.0/dist/index.global.js"></script>
116
+ <script src="https://unpkg.com/@lingkkkk/atlas-mindmap@0.1.1/dist/index.global.js"></script>
66
117
  <script>
67
118
  const map = new AtlasMindMap.MindMap({
68
119
  container: '#mindmap',
@@ -128,7 +179,7 @@ animation frame; debounce geometry-changing controls until input commit.
128
179
 
129
180
  ## Safe icon and image strategy
130
181
 
131
- Version 0.1.0 stores XMind-compatible `markers` and `image` metadata, but does not claim arbitrary
182
+ Version 0.1.1 stores XMind-compatible `markers` and `image` metadata, but does not claim arbitrary
132
183
  remote-image icon rendering as a completed feature. A high-volume icon plugin should use cached
133
184
  `Path2D` objects or a decoded bitmap atlas, key the cache by icon/size/DPR, cap its pixel budget,
134
185
  hide icons in low-zoom LOD, and never allocate an Image, SVG, or Promise inside the frame loop.
@@ -145,9 +196,10 @@ map.destroy()
145
196
 
146
197
  ## Performance evidence
147
198
 
148
- See [PERFORMANCE.md](./PERFORMANCE.md) for the 100/500/1,000/2,000/5,000/10,000/20,000/50,000/
149
- 100,000-topic headed-Chromium qualification, environment, interaction checks, memory scope, and
150
- limitations. The report distinguishes full-map overview from 100% focused editing.
199
+ See the [complete performance report](https://cdn.jsdelivr.net/npm/@lingkkkk/atlas-mindmap@0.1.1/PERFORMANCE.md)
200
+ for the 100/500/1,000/2,000/5,000/10,000/20,000/50,000/100,000-topic headed-Chromium
201
+ qualification, environment, interaction checks, memory scope, and limitations. The report
202
+ distinguishes full-map overview from 100% focused editing.
151
203
 
152
204
  ## Browser support
153
205
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingkkkk/atlas-mindmap",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Framework-agnostic high-performance Canvas mind map for large JavaScript datasets",
5
5
  "keywords": [
6
6
  "mindmap",
@@ -16,6 +16,7 @@
16
16
  },
17
17
  "files": [
18
18
  "dist",
19
+ "assets",
19
20
  "README.md",
20
21
  "PERFORMANCE.md"
21
22
  ],