@zenuml/core 3.47.2 → 3.47.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/.claude/skills/zenuml-ux-research/SKILL.md +183 -0
- package/.claude/skills/zenuml-ux-research/references/assertion-catalog.md +261 -0
- package/.claude/skills/zenuml-ux-research/references/best-practices-overview.md +56 -0
- package/.claude/skills/zenuml-ux-research/references/report-template.md +89 -0
- package/.claude/skills/zenuml-ux-research/references/scenarios/edit-message-label.md +37 -0
- package/.claude/skills/zenuml-ux-research/references/scenarios/insert-message.md +36 -0
- package/.claude/skills/zenuml-ux-research/references/scenarios/insert-participant.md +31 -0
- package/.claude/skills/zenuml-ux-research/references/scenarios/rename-participant.md +33 -0
- package/.claude/skills/zenuml-ux-research/references/scenarios/undo-insert.md +35 -0
- package/dist/stats.html +1 -1
- package/dist/zenuml.esm.mjs +16234 -14426
- package/dist/zenuml.js +578 -536
- package/docs/superpowers/plans/2026-04-15-keyboard-editing-on-diagram.md +1992 -0
- package/docs/superpowers/plans/2026-04-15-zenuml-ux-research-skill.md +1452 -0
- package/docs/ux-research/.gitkeep +0 -0
- package/docs/ux-research/2026-04-15-rename-participant.md +156 -0
- package/docs/ux-research/2026-04-18-insert-participant.md +151 -0
- package/e2e/fixtures/create-message.html +26 -0
- package/e2e/fixtures/editable-label.html +1 -0
- package/e2e/fixtures/empty-diagram.html +23 -0
- package/e2e/fixtures/insert-participant.html +23 -0
- package/e2e/fixtures/reorder-cross-fragment.html +31 -0
- package/e2e/fixtures/reorder-fragment.html +29 -0
- package/e2e/fixtures/reorder-message.html +27 -0
- package/e2e/fixtures/type-switch.html +29 -0
- package/index.html +44 -0
- package/package.json +2 -2
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: insert-participant
|
|
3
|
+
title: Insert a participant on a blank diagram
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## User intent
|
|
7
|
+
The user opens ZenUML to a blank diagram and wants to add one participant named `Alice` so they can start modelling.
|
|
8
|
+
|
|
9
|
+
## Starting DSL
|
|
10
|
+
```
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Target DSL
|
|
14
|
+
```
|
|
15
|
+
Alice
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Relevant assertion categories
|
|
19
|
+
INS, FOC, EDT, KBD
|
|
20
|
+
|
|
21
|
+
## Walkthrough hints (not prescriptive)
|
|
22
|
+
- Blank canvas is the highest-stakes discoverability test — the skill should record how long it takes to find the insertion affordance.
|
|
23
|
+
- Candidate insertion paths to try in order:
|
|
24
|
+
1. Click on the canvas background.
|
|
25
|
+
2. Look for a visible "+" or "Add participant" affordance.
|
|
26
|
+
3. Keyboard: try pressing Enter or `p` on an empty canvas.
|
|
27
|
+
4. Fall back to typing directly into the DSL editor pane.
|
|
28
|
+
- The moment the user successfully names the new participant `Alice` is the scenario's end state.
|
|
29
|
+
|
|
30
|
+
## Known issues to watch for (optional)
|
|
31
|
+
- If the only path is direct DSL editing, that itself is a finding (violates INS-01).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: rename-participant
|
|
3
|
+
title: Rename a participant via keyboard
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## User intent
|
|
7
|
+
The user has a participant `A` on the canvas and wants to rename it to `Alice` without leaving the keyboard.
|
|
8
|
+
|
|
9
|
+
## Starting DSL
|
|
10
|
+
```
|
|
11
|
+
A
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Target DSL
|
|
15
|
+
```
|
|
16
|
+
Alice
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Relevant assertion categories
|
|
20
|
+
KBD, EDT, SEL, FOC
|
|
21
|
+
|
|
22
|
+
## Walkthrough hints (not prescriptive)
|
|
23
|
+
- This scenario is the canonical test of KBD-03 (Enter enters edit mode) and EDT-02 (caret at end of text).
|
|
24
|
+
- Candidate paths to try in order:
|
|
25
|
+
1. Tab into the diagram widget, arrow-key to select `A`, press Enter, type `lice`, press Enter.
|
|
26
|
+
2. Click `A` to select, press Enter, retype.
|
|
27
|
+
3. Double-click `A` to enter edit mode.
|
|
28
|
+
4. Fall back to editing the DSL editor directly.
|
|
29
|
+
- Watch specifically for: whether Enter does anything on the selected participant; whether the caret is placed at the end or the whole label is pre-selected; whether Escape cancels cleanly.
|
|
30
|
+
|
|
31
|
+
## Known issues to watch for (optional)
|
|
32
|
+
- If Enter does nothing on a selected participant, that is a KBD-03 violation at high severity.
|
|
33
|
+
- If only mouse double-click works, that is a KBD-only violation (no mouse-free path).
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: undo-insert
|
|
3
|
+
title: Undo a just-inserted message
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## User intent
|
|
7
|
+
The user has two participants `A` and `B`, inserts a message `A->B: hello`, then immediately presses Ctrl/Cmd+Z to undo. The expected result is that the message is removed and the state is back to just the two participants.
|
|
8
|
+
|
|
9
|
+
## Starting DSL
|
|
10
|
+
```
|
|
11
|
+
A
|
|
12
|
+
B
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Target DSL
|
|
16
|
+
```
|
|
17
|
+
A
|
|
18
|
+
B
|
|
19
|
+
```
|
|
20
|
+
(after: insert `A->B: hello`, then undo)
|
|
21
|
+
|
|
22
|
+
## Relevant assertion categories
|
|
23
|
+
UND, FOC, SEL, KBD
|
|
24
|
+
|
|
25
|
+
## Walkthrough hints (not prescriptive)
|
|
26
|
+
- This scenario exercises the full insertion-then-undo round trip.
|
|
27
|
+
- Steps:
|
|
28
|
+
1. Follow the `insert-message` scenario's walkthrough to get to the post-insert state.
|
|
29
|
+
2. Press Ctrl+Z (or Cmd+Z on macOS).
|
|
30
|
+
3. Observe: is the message removed? Is the DSL editor reverted? Is selection/focus restored to whatever it was before the insert?
|
|
31
|
+
- Watch specifically for: undo granularity (one Ctrl+Z should undo the whole insert, not the individual keystrokes of the label edit) and focus restoration (FOC-03).
|
|
32
|
+
|
|
33
|
+
## Known issues to watch for (optional)
|
|
34
|
+
- If the undo leaves the label partially typed, UND-02 is violated.
|
|
35
|
+
- If focus ends up on the document body after undo, FOC-03 is violated.
|