@loworbitstudio/visor 0.10.2 → 1.2.0
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 +36 -0
- package/dist/CHANGELOG.json +73 -1
- package/dist/index.js +1128 -24
- package/dist/registry.json +481 -21
- package/dist/visor-manifest.json +998 -16
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -23,6 +23,42 @@ npx visor init
|
|
|
23
23
|
| `visor suggest --for <context>` | Get component suggestions for a use case |
|
|
24
24
|
| `visor migrate token-substitution [path]` | Apply the §3.1 V7-primitive → Visor-semantic substitution table (dry-run by default; use `--apply` to commit) |
|
|
25
25
|
| `visor check design <path>` | Scan frontend code for Borealis design anti-patterns (deterministic, no LLM) |
|
|
26
|
+
| `visor sandbox init <name>` | Scaffold a Next.js sandbox for in-vivo primitive iteration from a design-handoff manifest |
|
|
27
|
+
| `visor sandbox dev --name <name>` | Boot the sandbox dev server on its allocated port (port 3000 reserved) |
|
|
28
|
+
| `visor sandbox approve --name <name>` | Capture Playwright screenshots of every sandbox route as the visual spec (use `--diff` to pixel-diff vs prior approved) |
|
|
29
|
+
|
|
30
|
+
## Sandbox
|
|
31
|
+
|
|
32
|
+
The `sandbox` subcommand scaffolds a Next.js app at `.lo/sandbox/<name>/`
|
|
33
|
+
populated with real Visor primitives (via `visor add`) plus visible gap stubs
|
|
34
|
+
for primitives not yet shipped. Operators iterate visually in a real Next.js
|
|
35
|
+
dev server; on approval, captures become the `visual_spec` attached to the
|
|
36
|
+
gap primitive's VI ticket.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 1. Init from a design-handoff manifest
|
|
40
|
+
npx visor sandbox init org-mgmt \
|
|
41
|
+
--handoff ~/Code/playbook/.lo/pattern-builds/organization-management/design-handoff.md \
|
|
42
|
+
--theme entr
|
|
43
|
+
|
|
44
|
+
# 2. Iterate visually
|
|
45
|
+
npx visor sandbox dev --name org-mgmt
|
|
46
|
+
# → prints per-route URLs on a port >= 4060 (never 3000)
|
|
47
|
+
|
|
48
|
+
# 3. Approve captures
|
|
49
|
+
npx visor sandbox approve --name org-mgmt # writes captures/approved/*.png
|
|
50
|
+
npx visor sandbox approve --name org-mgmt --diff # pixel-diff vs prior approved
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Pass `--theme <slug>` to look up a theme by name in `themes/` or
|
|
54
|
+
`custom-themes/`, or `--theme /path/to/theme.visor.yaml` for an arbitrary
|
|
55
|
+
location. Pass `--overwrite` to replace an existing sandbox; `--skip-install`
|
|
56
|
+
skips `npm install` (useful for test fixtures).
|
|
57
|
+
|
|
58
|
+
Gap primitives appear as visible dashed-border placeholders containing
|
|
59
|
+
`GAP: VI-<NNN>` plus the primitive name. Hand-edit the stub at
|
|
60
|
+
`components/stubs/<primitive>.tsx` to sketch the design in place; the operator
|
|
61
|
+
edits propagate into the captures and become the visual spec downstream.
|
|
26
62
|
|
|
27
63
|
## Target platforms
|
|
28
64
|
|
package/dist/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "0.4.0",
|
|
3
|
-
"generated_at": "2026-05-
|
|
3
|
+
"generated_at": "2026-05-20T04:45:51.978Z",
|
|
4
4
|
"components": {
|
|
5
5
|
"accessibility-specimen": {
|
|
6
6
|
"changeType": "current",
|
|
@@ -50,6 +50,12 @@
|
|
|
50
50
|
"breakingChange": false,
|
|
51
51
|
"migrationNote": null
|
|
52
52
|
},
|
|
53
|
+
"box": {
|
|
54
|
+
"changeType": "current",
|
|
55
|
+
"files": [],
|
|
56
|
+
"breakingChange": false,
|
|
57
|
+
"migrationNote": null
|
|
58
|
+
},
|
|
53
59
|
"breadcrumb": {
|
|
54
60
|
"changeType": "current",
|
|
55
61
|
"files": [],
|
|
@@ -104,6 +110,12 @@
|
|
|
104
110
|
"breakingChange": false,
|
|
105
111
|
"migrationNote": null
|
|
106
112
|
},
|
|
113
|
+
"chrome-button": {
|
|
114
|
+
"changeType": "current",
|
|
115
|
+
"files": [],
|
|
116
|
+
"breakingChange": false,
|
|
117
|
+
"migrationNote": null
|
|
118
|
+
},
|
|
107
119
|
"code-block": {
|
|
108
120
|
"changeType": "current",
|
|
109
121
|
"files": [],
|
|
@@ -122,6 +134,12 @@
|
|
|
122
134
|
"breakingChange": false,
|
|
123
135
|
"migrationNote": null
|
|
124
136
|
},
|
|
137
|
+
"color-picker": {
|
|
138
|
+
"changeType": "current",
|
|
139
|
+
"files": [],
|
|
140
|
+
"breakingChange": false,
|
|
141
|
+
"migrationNote": null
|
|
142
|
+
},
|
|
125
143
|
"color-swatch": {
|
|
126
144
|
"changeType": "current",
|
|
127
145
|
"files": [],
|
|
@@ -146,6 +164,12 @@
|
|
|
146
164
|
"breakingChange": false,
|
|
147
165
|
"migrationNote": null
|
|
148
166
|
},
|
|
167
|
+
"container": {
|
|
168
|
+
"changeType": "current",
|
|
169
|
+
"files": [],
|
|
170
|
+
"breakingChange": false,
|
|
171
|
+
"migrationNote": null
|
|
172
|
+
},
|
|
149
173
|
"context-menu": {
|
|
150
174
|
"changeType": "current",
|
|
151
175
|
"files": [],
|
|
@@ -236,6 +260,12 @@
|
|
|
236
260
|
"breakingChange": false,
|
|
237
261
|
"migrationNote": null
|
|
238
262
|
},
|
|
263
|
+
"grid": {
|
|
264
|
+
"changeType": "current",
|
|
265
|
+
"files": [],
|
|
266
|
+
"breakingChange": false,
|
|
267
|
+
"migrationNote": null
|
|
268
|
+
},
|
|
239
269
|
"heading": {
|
|
240
270
|
"changeType": "current",
|
|
241
271
|
"files": [],
|
|
@@ -260,6 +290,12 @@
|
|
|
260
290
|
"breakingChange": false,
|
|
261
291
|
"migrationNote": null
|
|
262
292
|
},
|
|
293
|
+
"inline": {
|
|
294
|
+
"changeType": "current",
|
|
295
|
+
"files": [],
|
|
296
|
+
"breakingChange": false,
|
|
297
|
+
"migrationNote": null
|
|
298
|
+
},
|
|
263
299
|
"input": {
|
|
264
300
|
"changeType": "current",
|
|
265
301
|
"files": [],
|
|
@@ -368,6 +404,12 @@
|
|
|
368
404
|
"breakingChange": false,
|
|
369
405
|
"migrationNote": null
|
|
370
406
|
},
|
|
407
|
+
"quick-actions": {
|
|
408
|
+
"changeType": "current",
|
|
409
|
+
"files": [],
|
|
410
|
+
"breakingChange": false,
|
|
411
|
+
"migrationNote": null
|
|
412
|
+
},
|
|
371
413
|
"radio-group": {
|
|
372
414
|
"changeType": "current",
|
|
373
415
|
"files": [],
|
|
@@ -380,6 +422,12 @@
|
|
|
380
422
|
"breakingChange": false,
|
|
381
423
|
"migrationNote": null
|
|
382
424
|
},
|
|
425
|
+
"score-indicator": {
|
|
426
|
+
"changeType": "current",
|
|
427
|
+
"files": [],
|
|
428
|
+
"breakingChange": false,
|
|
429
|
+
"migrationNote": null
|
|
430
|
+
},
|
|
383
431
|
"scroll-area": {
|
|
384
432
|
"changeType": "current",
|
|
385
433
|
"files": [],
|
|
@@ -392,6 +440,12 @@
|
|
|
392
440
|
"breakingChange": false,
|
|
393
441
|
"migrationNote": null
|
|
394
442
|
},
|
|
443
|
+
"section-header": {
|
|
444
|
+
"changeType": "current",
|
|
445
|
+
"files": [],
|
|
446
|
+
"breakingChange": false,
|
|
447
|
+
"migrationNote": null
|
|
448
|
+
},
|
|
395
449
|
"select": {
|
|
396
450
|
"changeType": "current",
|
|
397
451
|
"files": [],
|
|
@@ -440,6 +494,18 @@
|
|
|
440
494
|
"breakingChange": false,
|
|
441
495
|
"migrationNote": null
|
|
442
496
|
},
|
|
497
|
+
"sparkline": {
|
|
498
|
+
"changeType": "current",
|
|
499
|
+
"files": [],
|
|
500
|
+
"breakingChange": false,
|
|
501
|
+
"migrationNote": null
|
|
502
|
+
},
|
|
503
|
+
"stack": {
|
|
504
|
+
"changeType": "current",
|
|
505
|
+
"files": [],
|
|
506
|
+
"breakingChange": false,
|
|
507
|
+
"migrationNote": null
|
|
508
|
+
},
|
|
443
509
|
"stat-card": {
|
|
444
510
|
"changeType": "current",
|
|
445
511
|
"files": [],
|
|
@@ -464,6 +530,12 @@
|
|
|
464
530
|
"breakingChange": false,
|
|
465
531
|
"migrationNote": null
|
|
466
532
|
},
|
|
533
|
+
"status-dot": {
|
|
534
|
+
"changeType": "current",
|
|
535
|
+
"files": [],
|
|
536
|
+
"breakingChange": false,
|
|
537
|
+
"migrationNote": null
|
|
538
|
+
},
|
|
467
539
|
"stepper": {
|
|
468
540
|
"changeType": "current",
|
|
469
541
|
"files": [],
|