@taylorwong/ichartjs 2.0.2 → 2.0.4
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/CHANGELOG.md +19 -0
- package/README.md +23 -5
- package/docs/agent/README.md +1 -1
- package/docs/agent/coding-agent-integration.md +4 -4
- package/docs/agent/development/2.0-release-readiness.md +2 -0
- package/docs/agent/development/iteration-8.md +55 -1
- package/docs/agent/development/release-sop.md +73 -0
- package/docs/agent/development/roadmap.md +3 -3
- package/docs/agent/frontend-integration.md +1 -1
- package/docs/agent/quickstart.md +5 -5
- package/docs/agent/zh-CN/coding-agent-integration.md +1 -1
- package/docs/agent/zh-CN/diagram-scenario.md +3 -3
- package/docs/agent/zh-CN/frontend-integration.md +1 -1
- package/docs/agent/zh-CN/quickstart.md +3 -3
- package/package.json +1 -1
- package/skills/ichartjs/SKILL.md +2 -1
- package/src/index.mjs +1 -1
- package/docs/agent/development/iteration-8-acceptance.md +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.4 - 2026-09-18
|
|
4
|
+
|
|
5
|
+
- Synchronized current Agent documentation, scoped package paths, GitHub fallback instructions, Skill links, Playground links, and release status.
|
|
6
|
+
- Corrected Runtime and Playground version displays to `2.0.4`.
|
|
7
|
+
- Marked the original `2.0.0` release-readiness document as historical and added stronger documentation consistency checks.
|
|
8
|
+
|
|
9
|
+
## 2.0.3 - 2026-09-17
|
|
10
|
+
|
|
11
|
+
- Completed Iteration 8 acceptance documentation and added the author-only release SOP.
|
|
12
|
+
- Added README and official Skill release guardrails for the scoped npm package and controlled publishing workflow.
|
|
13
|
+
|
|
14
|
+
## 2.0.2 - 2026-09-17
|
|
15
|
+
|
|
16
|
+
- Fixed Line and Area rendering so `fill: 'none'` does not create an unintended filled area.
|
|
17
|
+
|
|
18
|
+
## 2.0.1 - 2026-09-17
|
|
19
|
+
|
|
20
|
+
- Added dual-engine raster export, branding signature support, and synchronized documentation and TypeScript declarations.
|
|
21
|
+
|
|
3
22
|
## 2.0.0 - 2026-09-16
|
|
4
23
|
|
|
5
24
|
- Added Iteration 9's lightweight visual style system with adaptive modes, semantic presets and palettes, live switching, contrast diagnostics, Agent recommendations, bilingual guidance, and Theme Gallery while retaining version `2.0.0`.
|
package/README.md
CHANGED
|
@@ -20,9 +20,9 @@ getCapabilities
|
|
|
20
20
|
|
|
21
21
|
| Need | Entry point |
|
|
22
22
|
| --- | --- |
|
|
23
|
-
| Runtime and Agent planning APIs |
|
|
24
|
-
| Machine-readable capability manifest |
|
|
25
|
-
| Intent and chart recipes |
|
|
23
|
+
| Runtime and Agent planning APIs | `@taylorwong/ichartjs` |
|
|
24
|
+
| Machine-readable capability manifest | `@taylorwong/ichartjs/capabilities.json` |
|
|
25
|
+
| Intent and chart recipes | `@taylorwong/ichartjs/recipes/*` |
|
|
26
26
|
| Agent quickstart | [`docs/agent/quickstart.md`](docs/agent/quickstart.md) |
|
|
27
27
|
| Chinese quickstart | [`docs/agent/zh-CN/quickstart.md`](docs/agent/zh-CN/quickstart.md) |
|
|
28
28
|
| Coding Agent integration | [`docs/agent/coding-agent-integration.md`](docs/agent/coding-agent-integration.md) |
|
|
@@ -36,7 +36,7 @@ getCapabilities
|
|
|
36
36
|
npm install @taylorwong/ichartjs@^2
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
As a fallback for environments without npm access, install directly from GitHub: `npm install github:wanghetommy/ichartjs#v2.0.
|
|
39
|
+
As a fallback for environments without npm access, install directly from GitHub: `npm install github:wanghetommy/ichartjs#v2.0.4`.
|
|
40
40
|
|
|
41
41
|
### Optional Agent Skill
|
|
42
42
|
|
|
@@ -52,7 +52,7 @@ From a repository checkout, install it into Codex with:
|
|
|
52
52
|
cp -R skills/ichartjs "${CODEX_HOME:-$HOME/.codex}/skills/"
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
WorkBuddy users can import or register the same `skills/ichartjs` folder through the host's Skill interface. Package consumers can copy it from `node_modules/ichartjs/skills/ichartjs` into their Agent host's Skill directory. After installation, invoke it as `$ichartjs` when the host supports named Skill invocation, or select the `ichartjs` Skill in the host UI.
|
|
55
|
+
WorkBuddy users can import or register the same `skills/ichartjs` folder through the host's Skill interface. Package consumers can copy it from `node_modules/@taylorwong/ichartjs/skills/ichartjs` into their Agent host's Skill directory. After installation, invoke it as `$ichartjs` when the host supports named Skill invocation, or select the `ichartjs` Skill in the host UI.
|
|
56
56
|
|
|
57
57
|
### Agent workflow
|
|
58
58
|
|
|
@@ -140,9 +140,14 @@ npm run playground
|
|
|
140
140
|
- Playground Home: `http://localhost:3000/playground/index.html`
|
|
141
141
|
- Agent Workbench: `http://localhost:3000/playground/agent-workbench.html`
|
|
142
142
|
- Complete Gallery: `http://localhost:3000/playground/project-gallery.html`
|
|
143
|
+
- Foundational Gallery: `http://localhost:3000/playground/foundational-gallery.html`
|
|
143
144
|
- Theme Gallery: `http://localhost:3000/playground/theme-gallery.html`
|
|
145
|
+
- Business Editing: `http://localhost:3000/playground/editing.html`
|
|
144
146
|
- Project Intelligence: `http://localhost:3000/playground/project-intelligence.html`
|
|
145
147
|
- Diagram Editor: `http://localhost:3000/playground/diagram-editor.html`
|
|
148
|
+
- Interaction Lab: `http://localhost:3000/playground/interaction-lab.html`
|
|
149
|
+
- Accessibility Lab: `http://localhost:3000/playground/accessibility-lab.html`
|
|
150
|
+
- Performance Lab: `http://localhost:3000/playground/performance-lab.html`
|
|
146
151
|
|
|
147
152
|
## For Developers
|
|
148
153
|
|
|
@@ -184,11 +189,24 @@ The public package includes ESM exports, TypeScript declarations, Agent document
|
|
|
184
189
|
|
|
185
190
|
## Development
|
|
186
191
|
|
|
192
|
+
Checks + playground (for all contributors):
|
|
193
|
+
|
|
187
194
|
```bash
|
|
188
195
|
npm run agent:check
|
|
189
196
|
npm run playground
|
|
190
197
|
```
|
|
191
198
|
|
|
199
|
+
### Release (AUTHOR ONLY)
|
|
200
|
+
|
|
201
|
+
Publishing to npm (`@taylorwong/ichartjs`) and merging `develop → master` are restricted to the package author (GitHub + npm account `taylorwong`) due to 2FA and access control.
|
|
202
|
+
|
|
203
|
+
Contributors should:
|
|
204
|
+
1. Open PRs / commit only to `develop`
|
|
205
|
+
2. Ensure `npm run agent:check` and `npm test` are green
|
|
206
|
+
|
|
207
|
+
Full author-only release SOP (preconditions, release sequence, must-not rules, and rollback procedure):
|
|
208
|
+
👉 [`docs/agent/development/release-sop.md`](docs/agent/development/release-sop.md)
|
|
209
|
+
|
|
192
210
|
Start with [`docs/agent/quickstart.md`](docs/agent/quickstart.md). Detailed runtime, charting, project, diagram, and editing contracts live in [`docs/agent/`](docs/agent/).
|
|
193
211
|
|
|
194
212
|
Contribution requirements are in [`CONTRIBUTING.md`](CONTRIBUTING.md). Report vulnerabilities privately according to [`SECURITY.md`](SECURITY.md).
|
package/docs/agent/README.md
CHANGED
|
@@ -21,7 +21,7 @@ This is the user-facing Agent entry point for iChart.js 2.0. Read this file firs
|
|
|
21
21
|
- [Editing Contract](editing-contract.md): schemas, commands, preview, commit, and undo/redo.
|
|
22
22
|
- Machine-readable capability manifests are in `docs/manifests/` and should be loaded on demand.
|
|
23
23
|
|
|
24
|
-
The 2.0 API is Spec-first. Import from
|
|
24
|
+
The 2.0 API is Spec-first. Import from `@taylorwong/ichartjs`, inspect data, plan a chart, create a JSON-friendly Spec, validate it, render it, and self-check the explanation and runtime state.
|
|
25
25
|
|
|
26
26
|
## Recommended flow
|
|
27
27
|
|
|
@@ -4,7 +4,7 @@ Use this guide with Codex, WorkBuddy, and similar Agents that can read a reposit
|
|
|
4
4
|
|
|
5
5
|
## Responsibility Boundary
|
|
6
6
|
|
|
7
|
-
iChart.js is a JavaScript UI component library. The coding Agent writes or updates the host application and calls the public
|
|
7
|
+
iChart.js is a JavaScript UI component library. The coding Agent writes or updates the host application and calls the public `@taylorwong/ichartjs` ESM API. The optional Skill provides workflow guidance only; it does not introduce a second runtime or service.
|
|
8
8
|
|
|
9
9
|
Do not add a CLI, MCP server, HTTP API, or Python adapter to complete an ordinary charting task.
|
|
10
10
|
|
|
@@ -16,7 +16,7 @@ Inside a consumer project:
|
|
|
16
16
|
npm install @taylorwong/ichartjs@^2
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Do not install the unscoped npm registry package named `ichartjs`; it is
|
|
19
|
+
Do not install the unscoped npm registry package named `ichartjs`; it is an npm security holding package and is not this project. The published package is `@taylorwong/ichartjs`.
|
|
20
20
|
|
|
21
21
|
Inside this repository:
|
|
22
22
|
|
|
@@ -46,7 +46,7 @@ If the host supports named Skill invocation, the request may start with `Use $ic
|
|
|
46
46
|
## Required Workflow
|
|
47
47
|
|
|
48
48
|
1. Inspect existing application structure and local instructions.
|
|
49
|
-
2. Import public APIs from
|
|
49
|
+
2. Import public APIs from `@taylorwong/ichartjs`.
|
|
50
50
|
3. Call `getCapabilities()`, `inspectData()`, and `planChart()`.
|
|
51
51
|
4. Stop or ask for input when required fields are missing.
|
|
52
52
|
5. Build a JSON-friendly Spec and call `validateSpec()`.
|
|
@@ -80,7 +80,7 @@ Use `examples/agent-workflow.mjs` for the full executable lifecycle.
|
|
|
80
80
|
|
|
81
81
|
## Acceptance
|
|
82
82
|
|
|
83
|
-
- The application imports only
|
|
83
|
+
- The application imports only `@taylorwong/ichartjs`, not source internals.
|
|
84
84
|
- The chosen chart exists in capabilities.
|
|
85
85
|
- Validation passes before rendering.
|
|
86
86
|
- Warnings and assumptions remain visible.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# iChart.js 2.0 Final Release Readiness
|
|
2
2
|
|
|
3
|
+
> Historical record. This document describes the original `2.0.0` source-release decision and is superseded by the published `2.0.x` release line. Use `release-sop.md` for current releases.
|
|
4
|
+
|
|
3
5
|
Date: 2026-09-16
|
|
4
6
|
|
|
5
7
|
## Decision
|
|
@@ -6,7 +6,7 @@ Turn the existing chart catalog into a dependable, commonly complete, and Agent-
|
|
|
6
6
|
|
|
7
7
|
## Current Delivery
|
|
8
8
|
|
|
9
|
-
Iteration 8A–8D is complete. The runtime exposes per-chart capability profiles, deterministic Agent planning and explanation, richer data inspection and diagnostics, common chart presentation behavior, corrected chart geometry, dedicated interaction/accessibility/performance labs, and a maintained full Gallery. Automated, Chromium, Firefox, WebKit, native Safari, 390 px responsive, lifecycle, and local performance acceptance passed. Physical iOS/Android checks remain a recorded host/device follow-up.
|
|
9
|
+
Iteration 8A–8D is complete. The runtime exposes per-chart capability profiles, deterministic Agent planning and explanation, richer data inspection and diagnostics, common chart presentation behavior, corrected chart geometry, dedicated interaction/accessibility/performance labs, and a maintained full Gallery. Automated, Chromium, Firefox, WebKit, native Safari, 390 px responsive, lifecycle, and local performance acceptance passed. Physical iOS/Android checks remain a recorded host/device follow-up. Acceptance record is captured below in **§ Acceptance Record**.
|
|
10
10
|
|
|
11
11
|
## Scope Policy
|
|
12
12
|
|
|
@@ -114,3 +114,57 @@ Iteration 8A–8D is complete. The runtime exposes per-chart capability profiles
|
|
|
114
114
|
## Completion Definition
|
|
115
115
|
|
|
116
116
|
Iteration 8 is complete when all existing chart types provide their applicable common features reliably; unsupported behavior is explicitly discoverable; an Agent can select, configure, validate, render, explain, and verify charts without reading source code; SVG and Canvas semantics are consistent; browser, mobile, accessibility, performance, lifecycle, packaging, and preview gates are recorded; and the repository is ready for a final iChart.js 2.0 release decision without adding new chart types.
|
|
117
|
+
|
|
118
|
+
## Acceptance Record
|
|
119
|
+
|
|
120
|
+
Date: 2026-09-16
|
|
121
|
+
|
|
122
|
+
### Result
|
|
123
|
+
|
|
124
|
+
Iteration 8A–8D is implemented and accepted for the repository runtime, public Agent contracts, maintained Playground pages, responsive browser viewport, lifecycle checks, and repeatable performance fixtures. Chromium, Firefox 144, WebKit 26, and native Safari 26.6.2 checks pass. Physical iOS/Android checks remain a separately recorded host/device follow-up.
|
|
125
|
+
|
|
126
|
+
### Automated Evidence
|
|
127
|
+
|
|
128
|
+
- `npm run agent:check`: passed.
|
|
129
|
+
- `git diff --check`: passed.
|
|
130
|
+
- Core tests: 51 passed, 0 failed.
|
|
131
|
+
- Agent documentation check: 16 charts, 24 commands, and 7 schemas.
|
|
132
|
+
- Syntax check: every `src/*.mjs` file passed `node --check`.
|
|
133
|
+
- Node.js 18.20.8, 20.20.2, and 22.22.2: Agent checks and the executable Agent workflow passed.
|
|
134
|
+
- Package-consumer coverage: public ESM imports, capability discovery, planning, validation, explanation, chart creation, lifecycle, and active Playground entry files are covered by the core suite.
|
|
135
|
+
|
|
136
|
+
### Browser Evidence
|
|
137
|
+
|
|
138
|
+
- Environments: Codex in-app Chromium, Playwright Firefox 144, and Playwright WebKit 26 against `npm run playground` on `127.0.0.1:3000`.
|
|
139
|
+
- Full Gallery: all 16 public chart types rendered; 0 error cards and no uncaught page errors.
|
|
140
|
+
- Renderer switch: all Gallery cases rendered with SVG when forced; default mixed SVG/Canvas cases also passed.
|
|
141
|
+
- Responsive checks: desktop and a true 390 x 844 viewport completed without body overflow.
|
|
142
|
+
- Agent Workbench: `id` remained a stable identifier, `month` was selected as the dimension, validation passed, record IDs were preserved, and the expected missing-value warning remained visible.
|
|
143
|
+
- Interaction Lab: zoom in, zoom out to the full window, pan, reset, selection clearing, keyboard behavior, and Canvas switching passed.
|
|
144
|
+
- Accessibility Lab: Line, Pie, Heatmap, Radar, Gantt, and Flow exposed role, accessible label, focusability, and family-specific semantic output.
|
|
145
|
+
- Regression pages: Foundational Gallery, Project Intelligence, Business Editing, and Diagram Editor loaded with ready states and no uncaught page errors.
|
|
146
|
+
- Lifecycle fixture: 25 create/destroy cycles left 0 chart children and 0 tooltips.
|
|
147
|
+
- Firefox/WebKit matrix: 22/22 desktop and 390 x 844 touch-viewport page scenarios passed after fixing Project Intelligence grid shrink behavior and redundant ResizeObserver rendering.
|
|
148
|
+
- Native Safari 26.6.2: 11/11 desktop and 390 x 844 page scenarios passed without horizontal overflow.
|
|
149
|
+
|
|
150
|
+
### Performance Sample
|
|
151
|
+
|
|
152
|
+
These are local acceptance samples, not universal device budgets.
|
|
153
|
+
|
|
154
|
+
| Scenario | Renderer | Create | Resize | JSON export |
|
|
155
|
+
| --- | --- | ---: | ---: | ---: |
|
|
156
|
+
| Line, 100 rows | Canvas | 1.7 ms | 0.6 ms | 0.1 ms |
|
|
157
|
+
| Line, 1,000 rows | Canvas | 6.3 ms | 4.9 ms | 0.3 ms |
|
|
158
|
+
| Line, 5,000 rows, Firefox | Canvas | 110 ms | 96 ms | 3 ms |
|
|
159
|
+
| Line, 5,000 rows, WebKit | Canvas | 81 ms | 75 ms | 2 ms |
|
|
160
|
+
| Heatmap, 5,000 rows, Firefox | Canvas | 19 ms | 15 ms | 2 ms |
|
|
161
|
+
| Heatmap, 5,000 rows, WebKit | Canvas | 15 ms | 10 ms | 2 ms |
|
|
162
|
+
|
|
163
|
+
The Performance Lab also includes repeatable 5,000-row Line, Heatmap, Gantt, and Diagram scenarios for release-host measurements.
|
|
164
|
+
|
|
165
|
+
### Post-release Host/Device Follow-up
|
|
166
|
+
|
|
167
|
+
- Physical-device touch acceptance on iOS and Android.
|
|
168
|
+
- Release-host performance budgets across representative low-end and high-end devices.
|
|
169
|
+
|
|
170
|
+
These checks remain important integration evidence, but the three-engine browser matrix, native Safari run, responsive touch viewport, and deterministic local performance fixtures are sufficient for the 2.0 source release.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Release SOP — @taylorwong/ichartjs (AUTHOR ONLY)
|
|
2
|
+
|
|
3
|
+
> **Scope / Permissions:** Release actions (npm publish + develop→master merge + git tag push)
|
|
4
|
+
> are **exclusively for the package author**. Requires:
|
|
5
|
+
> - GitHub write access to `wanghetommy/ichartjs` (master + develop + tags)
|
|
6
|
+
> - npm login session as `taylorwong` (2FA or PAT with bypass-2fa enabled)
|
|
7
|
+
> - No contributor / secondary account should run these steps.
|
|
8
|
+
>
|
|
9
|
+
> **Agent Policy:** An Agent MUST NOT initiate any step in this SOP on its own.
|
|
10
|
+
> It MAY execute the sequence **only when explicitly instructed** by the author
|
|
11
|
+
> (e.g. "publish v2.0.4", "commit and release patch", or equivalent intent).
|
|
12
|
+
|
|
13
|
+
## 0. Preconditions (MUST ALL be green)
|
|
14
|
+
|
|
15
|
+
0. `git status -sb` → on `develop`, working tree clean
|
|
16
|
+
1. `npm run check` → exit 0
|
|
17
|
+
2. `npm test` → exit 0 (60/60)
|
|
18
|
+
3. `npm run docs:check` → exit 0
|
|
19
|
+
4. `npm run agent:check` → exit 0
|
|
20
|
+
5. `npm whoami` → output = `taylorwong`
|
|
21
|
+
6. `npm config get registry` → output = `https://registry.npmjs.org/`
|
|
22
|
+
|
|
23
|
+
## 1. Develop bump & commit
|
|
24
|
+
|
|
25
|
+
7. Edit `package.json` version → semver:
|
|
26
|
+
- **patch** (x.y.Z): pure bug fix w/o API change
|
|
27
|
+
- **minor** (x.Y.0): backward-compatible new feature(s)
|
|
28
|
+
- **major** (X.0.0): breaking API change
|
|
29
|
+
8. `git add -A`
|
|
30
|
+
9. `git commit -m "<prefix>: <one short English sentence>"`
|
|
31
|
+
- allowed `<prefix>`: `fix | feat | chore | docs | refactor | perf | test`
|
|
32
|
+
- ❌ no Chinese, ❌ no multi-line body, ❌ no long run-on sentences
|
|
33
|
+
|
|
34
|
+
## 2. Tag + push develop
|
|
35
|
+
|
|
36
|
+
10. `git tag vX.Y.Z` matching `package.json#version` exactly
|
|
37
|
+
11. `git push origin develop --tags`
|
|
38
|
+
|
|
39
|
+
## 3. NPM publish
|
|
40
|
+
|
|
41
|
+
12. `npm publish` (package.json already declares `publishConfig.access=public` + npmjs registry)
|
|
42
|
+
- If 2FA challenged: `npm publish --otp=<6-digit OTP or PAT>`
|
|
43
|
+
- Successful stdout MUST include: `+ @taylorwong/ichartjs@X.Y.Z`
|
|
44
|
+
13. Verify availability (CDN may take 1–2 min; failure to query immediately is OK as long as publish exited 0):
|
|
45
|
+
```bash
|
|
46
|
+
npm view @taylorwong/ichartjs versions --json # should include X.Y.Z within ~2 min
|
|
47
|
+
curl -sfI https://unpkg.com/@taylorwong/ichartjs@X.Y.Z/src/index.mjs # HTTP 200
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 4. Merge develop → master
|
|
51
|
+
|
|
52
|
+
14. `git checkout master && git pull --rebase origin master`
|
|
53
|
+
15. `git merge --no-ff develop -m "Merge develop into master (vX.Y.Z: <one short English summary>)"`
|
|
54
|
+
- MUST use `--no-ff` so release rollback can target a single merge commit
|
|
55
|
+
16. `git push origin master`
|
|
56
|
+
|
|
57
|
+
## 5. Final state
|
|
58
|
+
|
|
59
|
+
17. `git status -sb` → `## master...origin/master` clean, no ahead/behind
|
|
60
|
+
18. `git branch -a` → `master` and `develop` both present; if desired, `git checkout develop` to resume default branch
|
|
61
|
+
|
|
62
|
+
## MUST NOT
|
|
63
|
+
|
|
64
|
+
- ❌ Never publish **before** pushing tag / develop commit (npm version is immutable)
|
|
65
|
+
- ❌ Never use `git merge --ff-only develop` into `master` (lose merge commit)
|
|
66
|
+
- ❌ Never commit release with Chinese text, emoji, or commit message body > 1 line
|
|
67
|
+
- ❌ Never initiate publishing without the author's explicit instruction (Agent rule)
|
|
68
|
+
|
|
69
|
+
## Rollback (if required)
|
|
70
|
+
|
|
71
|
+
- Within 72h of publish: `npm unpublish @taylorwong/ichartjs@X.Y.Z` (follow npm ToS)
|
|
72
|
+
- After 72h: `npm deprecate @taylorwong/ichartjs@X.Y.Z "message"` and release next patch
|
|
73
|
+
- Git: `git revert <merge-commit-hash>` on master, then push; **do not force-push master**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# iChart.js 2.0 Roadmap
|
|
2
2
|
|
|
3
|
-
> Roadmap baseline: 2026-09-14. Geographic charts and 3D rendering remain out of scope until explicitly reintroduced.
|
|
3
|
+
> Roadmap baseline: 2026-09-14. Current release status: `v2.0.3` is published and `v2.0.4` is the documentation/version-consistency patch release. Geographic charts and 3D rendering remain out of scope until explicitly reintroduced.
|
|
4
4
|
|
|
5
5
|
## Current Status
|
|
6
6
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
- Iteration 6 project intelligence local runtime and browser acceptance are complete.
|
|
12
12
|
- Iteration 7 local runtime and browser acceptance are complete for foundational composition, Heatmap, and Radar; physical-device checks remain host integration evidence.
|
|
13
13
|
- Iteration 8A–8D is complete and accepted in automated tests, Chromium, Firefox 144, WebKit 26, native Safari 26.6.2, and a 390 px touch viewport. Physical iOS/Android and representative release-host measurements remain post-release host/device follow-up. No new public chart type was introduced.
|
|
14
|
-
- Iteration 9A–9D
|
|
15
|
-
-
|
|
14
|
+
- Iteration 9A–9D implemented the lightweight visual style system, adaptive theme planning, runtime switching, renderer integration, and bilingual Agent guidance without adding a chart type; these capabilities remain in the `2.0.x` line.
|
|
15
|
+
- The original `2.0.0` readiness record is historical and superseded by the published `2.0.x` releases. Current release checks are defined by `docs/agent/development/release-sop.md`.
|
|
16
16
|
|
|
17
17
|
## Iteration 4 — Agent Data Contract and Business Editing
|
|
18
18
|
|
|
@@ -8,7 +8,7 @@ Use iChart.js as an ordinary JavaScript UI component inside a browser applicatio
|
|
|
8
8
|
npm install @taylorwong/ichartjs@^2
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
For environments without npm registry access, install from GitHub as a fallback: `npm install github:wanghetommy/ichartjs#v2.0.
|
|
11
|
+
For environments without npm registry access, install from GitHub as a fallback: `npm install github:wanghetommy/ichartjs#v2.0.4`.
|
|
12
12
|
|
|
13
13
|
Use the package through a bundler or another environment that resolves npm ESM imports:
|
|
14
14
|
|
package/docs/agent/quickstart.md
CHANGED
|
@@ -15,14 +15,14 @@ import {
|
|
|
15
15
|
} from '@taylorwong/ichartjs';
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Agents and developers use the same
|
|
18
|
+
Agents and developers use the same `@taylorwong/ichartjs` ESM entry. Agent behavior comes from the public planning APIs and optional Skill, not from a second runtime.
|
|
19
19
|
|
|
20
20
|
Additional package resources:
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
22
|
+
- `@taylorwong/ichartjs/capabilities.json`: machine-readable catalog, including per-chart exports, branding, and interaction declarations.
|
|
23
|
+
- `@taylorwong/ichartjs/recipes/foundational-analysis`: foundational chart recipes.
|
|
24
|
+
- `@taylorwong/ichartjs/recipes/project-management`: project intelligence recipes.
|
|
25
|
+
- `@taylorwong/ichartjs/recipes/diagrams/workflow`: diagram editing recipe.
|
|
26
26
|
- `skills/ichartjs/SKILL.md`: optional workflow adapter for Codex, WorkBuddy, and other Agent Skills-compatible hosts.
|
|
27
27
|
|
|
28
28
|
The Skill is not the runtime. Install or register it only when the Agent host supports Skills; it must still call the package's public APIs and capability contract.
|
|
@@ -14,7 +14,7 @@ iChart.js 是 JavaScript UI 图表组件库。编码 Agent 负责修改宿主前
|
|
|
14
14
|
npm install @taylorwong/ichartjs@^2
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
npm Registry 中无作用域的 `ichartjs`
|
|
17
|
+
npm Registry 中无作用域的 `ichartjs` 是安全占位包,并非本项目。正式包名是 `@taylorwong/ichartjs`,优先从 npm 安装。
|
|
18
18
|
|
|
19
19
|
Codex、WorkBuddy 和其他兼容 Agent Skills 的宿主可共同使用 `skills/ichartjs`。从仓库检出目录安装到 Codex:
|
|
20
20
|
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
|
|
10
10
|
## 当前能力
|
|
11
11
|
|
|
12
|
-
已支持节点、边、泳道、Group、Port
|
|
12
|
+
已支持节点、边、泳道、Group、Port、四种布局、三种路由、节点拖动、多选、对齐、网格吸附、键盘移动、Copy/Paste、Group 折叠展开、Port 键盘连线和 Undo/Redo。
|
|
13
13
|
|
|
14
14
|
当前限制:
|
|
15
15
|
|
|
16
16
|
- Group 只支持平级 Group,不支持嵌套。
|
|
17
|
-
-
|
|
18
|
-
-
|
|
17
|
+
- Group bounds 由成员几何和 `group.padding` 推导;`resizeGroup` 会缩放成员位置和尺寸,不持久化第二个 Group 矩形。
|
|
18
|
+
- Canvas 提供基础无障碍文本,SVG 提供更丰富的 Diagram 语义。
|
|
19
19
|
|
|
20
20
|
## Agent 流程
|
|
21
21
|
|
|
@@ -6,7 +6,7 @@ iChart.js 应作为普通 JavaScript UI 组件运行在浏览器应用中。数
|
|
|
6
6
|
npm install @taylorwong/ichartjs@^2
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
无法访问 npm Registry 的环境请用 GitHub 源作为后备:`npm install github:wanghetommy/ichartjs#v2.0.
|
|
9
|
+
无法访问 npm Registry 的环境请用 GitHub 源作为后备:`npm install github:wanghetommy/ichartjs#v2.0.4`。
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import { createChart } from '@taylorwong/ichartjs';
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
} from '@taylorwong/ichartjs';
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
18
|
+
- `@taylorwong/ichartjs`:统一的 Agent 规划与 Runtime API。
|
|
19
|
+
- `@taylorwong/ichartjs/capabilities.json`:机器可读能力清单,包含逐图表导出、署名和交互声明。
|
|
20
|
+
- `@taylorwong/ichartjs/recipes/*`:基础分析、项目管理和 Diagram Recipes。
|
|
21
21
|
- `skills/ichartjs/SKILL.md`:适用于 Codex、WorkBuddy 等 Agent Skills 兼容宿主的可选编排层。
|
|
22
22
|
|
|
23
23
|
Agent 与开发者使用同一个 ESM 入口。编码 Agent 的完整方式见 [编码 Agent 集成](coding-agent-integration.md),普通应用集成见 [前端项目集成](frontend-integration.md)。
|
package/package.json
CHANGED
package/skills/ichartjs/SKILL.md
CHANGED
|
@@ -35,7 +35,7 @@ Do not install the unscoped npm registry package named `ichartjs`; it is current
|
|
|
35
35
|
10. Provide an exact preview URL or artifact path and report assumptions, warnings, and deferred checks.
|
|
36
36
|
11. Prefer `theme: { mode: 'auto', preset, palette }`; preserve explicit user style choices and use `chart.setTheme()` for live switching.
|
|
37
37
|
|
|
38
|
-
Use
|
|
38
|
+
Use `@taylorwong/ichartjs` for package imports. Use `examples/agent-workflow.mjs` as the executable baseline when working in the repository.
|
|
39
39
|
|
|
40
40
|
## Task Routing
|
|
41
41
|
|
|
@@ -44,6 +44,7 @@ Use `ichartjs` for package imports. Use `examples/agent-workflow.mjs` as the exe
|
|
|
44
44
|
- For Flow or Swimlane, preserve node, edge, lane, group, and port IDs; use diagram recipes and validated edit commands.
|
|
45
45
|
- For business edits, preview first, preserve the preview ID and revision, require confirmation when declared, then commit or reject atomically.
|
|
46
46
|
- For browser deliverables, start `npm run playground` and return the exact maintained Playground URL.
|
|
47
|
+
- Release workflow (npm publish + develop→master merge) is **AUTHOR ONLY**. Read the release SOP in [`docs/agent/development/release-sop.md`](../../docs/agent/development/release-sop.md). Never initiate any release step unless the author explicitly instructs.
|
|
47
48
|
|
|
48
49
|
## Guardrails
|
|
49
50
|
|
package/src/index.mjs
CHANGED
|
@@ -559,4 +559,4 @@ export { normalizeProjectCalendar, applyWorkingCalendar, normalizeDependencies,
|
|
|
559
559
|
export { normalizeLinkedFilters, normalizeLinkedSelection, filterProjectRows, createLinkedProjectState, linkedRecordId };
|
|
560
560
|
|
|
561
561
|
export { contrastRatio, planStyle, resolveTheme, styleCapabilities, themeModes, themePalettes, themePresets, validateThemeContrast, annotationPlugin, dataZoomPlugin, dataLabelsPlugin, accessibilityPlugin };
|
|
562
|
-
export const iChart = { version: '2.0.
|
|
562
|
+
export const iChart = { version: '2.0.4', createChart, inspectData, normalizeData, binData, applyTransforms, normalizeSpec, validateSpec, data, getCapabilities, getChartCapability, planChart, recommend, explainChart, contrastRatio, planStyle, resolveTheme, styleCapabilities, themeModes, themePalettes, themePresets, validateThemeContrast, annotationPlugin, dataZoomPlugin, dataLabelsPlugin, accessibilityPlugin, getBusinessSchema, inspectDataSchema, validateData, getEditCapabilities, validateEdit, previewEdit, commitPreview, validateRecipe, normalizeProjectCalendar, applyWorkingCalendar, normalizeDependencies, analyzeSchedule, analyzeBurndownSeries, analyzeCapacity, buildCapacityView, buildCumulativeFlowSeries, buildVelocitySeries, buildReleaseForecast, buildRiskMatrixSeries, buildIssueAgingSeries, normalizeLinkedFilters, normalizeLinkedSelection, filterProjectRows, createLinkedProjectState, linkedRecordId };
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Iteration 8 Acceptance Record
|
|
2
|
-
|
|
3
|
-
Date: 2026-09-16
|
|
4
|
-
|
|
5
|
-
## Result
|
|
6
|
-
|
|
7
|
-
Iteration 8A–8D is implemented and accepted for the repository runtime, public Agent contracts, maintained Playground pages, responsive browser viewport, lifecycle checks, and repeatable performance fixtures. Chromium, Firefox 144, WebKit 26, and native Safari 26.6.2 checks pass. Physical iOS/Android checks remain a separately recorded host/device follow-up.
|
|
8
|
-
|
|
9
|
-
## Automated Evidence
|
|
10
|
-
|
|
11
|
-
- `npm run agent:check`: passed.
|
|
12
|
-
- `git diff --check`: passed.
|
|
13
|
-
- Core tests: 51 passed, 0 failed.
|
|
14
|
-
- Agent documentation check: 16 charts, 24 commands, and 7 schemas.
|
|
15
|
-
- Syntax check: every `src/*.mjs` file passed `node --check`.
|
|
16
|
-
- Node.js 18.20.8, 20.20.2, and 22.22.2: Agent checks and the executable Agent workflow passed.
|
|
17
|
-
- Package-consumer coverage: public ESM imports, capability discovery, planning, validation, explanation, chart creation, lifecycle, and active Playground entry files are covered by the core suite.
|
|
18
|
-
|
|
19
|
-
## Browser Evidence
|
|
20
|
-
|
|
21
|
-
- Environments: Codex in-app Chromium, Playwright Firefox 144, and Playwright WebKit 26 against `npm run playground` on `127.0.0.1:3000`.
|
|
22
|
-
- Full Gallery: all 16 public chart types rendered; 0 error cards and no uncaught page errors.
|
|
23
|
-
- Renderer switch: all Gallery cases rendered with SVG when forced; default mixed SVG/Canvas cases also passed.
|
|
24
|
-
- Responsive checks: desktop and a true 390 x 844 viewport completed without body overflow.
|
|
25
|
-
- Agent Workbench: `id` remained a stable identifier, `month` was selected as the dimension, validation passed, record IDs were preserved, and the expected missing-value warning remained visible.
|
|
26
|
-
- Interaction Lab: zoom in, zoom out to the full window, pan, reset, selection clearing, keyboard behavior, and Canvas switching passed.
|
|
27
|
-
- Accessibility Lab: Line, Pie, Heatmap, Radar, Gantt, and Flow exposed role, accessible label, focusability, and family-specific semantic output.
|
|
28
|
-
- Regression pages: Foundational Gallery, Project Intelligence, Business Editing, and Diagram Editor loaded with ready states and no uncaught page errors.
|
|
29
|
-
- Lifecycle fixture: 25 create/destroy cycles left 0 chart children and 0 tooltips.
|
|
30
|
-
- Firefox/WebKit matrix: 22/22 desktop and 390 x 844 touch-viewport page scenarios passed after fixing Project Intelligence grid shrink behavior and redundant ResizeObserver rendering.
|
|
31
|
-
- Native Safari 26.6.2: 11/11 desktop and 390 x 844 page scenarios passed without horizontal overflow.
|
|
32
|
-
|
|
33
|
-
## Performance Sample
|
|
34
|
-
|
|
35
|
-
These are local acceptance samples, not universal device budgets.
|
|
36
|
-
|
|
37
|
-
| Scenario | Renderer | Create | Resize | JSON export |
|
|
38
|
-
| --- | --- | ---: | ---: | ---: |
|
|
39
|
-
| Line, 100 rows | Canvas | 1.7 ms | 0.6 ms | 0.1 ms |
|
|
40
|
-
| Line, 1,000 rows | Canvas | 6.3 ms | 4.9 ms | 0.3 ms |
|
|
41
|
-
| Line, 5,000 rows, Firefox | Canvas | 110 ms | 96 ms | 3 ms |
|
|
42
|
-
| Line, 5,000 rows, WebKit | Canvas | 81 ms | 75 ms | 2 ms |
|
|
43
|
-
| Heatmap, 5,000 rows, Firefox | Canvas | 19 ms | 15 ms | 2 ms |
|
|
44
|
-
| Heatmap, 5,000 rows, WebKit | Canvas | 15 ms | 10 ms | 2 ms |
|
|
45
|
-
|
|
46
|
-
The Performance Lab also includes repeatable 5,000-row Line, Heatmap, Gantt, and Diagram scenarios for release-host measurements.
|
|
47
|
-
|
|
48
|
-
## Preview
|
|
49
|
-
|
|
50
|
-
Start the no-cache static server from the repository root:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npm run playground
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
- Home: `http://localhost:3000/playground/index.html`
|
|
57
|
-
- Full Gallery: `http://localhost:3000/playground/project-gallery.html`
|
|
58
|
-
- Agent Workbench: `http://localhost:3000/playground/agent-workbench.html`
|
|
59
|
-
- Interaction Lab: `http://localhost:3000/playground/interaction-lab.html`
|
|
60
|
-
- Accessibility Lab: `http://localhost:3000/playground/accessibility-lab.html`
|
|
61
|
-
- Performance Lab: `http://localhost:3000/playground/performance-lab.html`
|
|
62
|
-
|
|
63
|
-
## Post-release Host/Device Follow-up
|
|
64
|
-
|
|
65
|
-
- Physical-device touch acceptance on iOS and Android.
|
|
66
|
-
- Release-host performance budgets across representative low-end and high-end devices.
|
|
67
|
-
|
|
68
|
-
These checks remain important integration evidence, but the three-engine browser matrix, native Safari run, responsive touch viewport, and deterministic local performance fixtures are sufficient for the 2.0 source release.
|