@loworbitstudio/visor 1.0.0 → 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 +43 -1
- package/dist/index.js +1128 -24
- package/dist/registry.json +289 -3
- package/dist/visor-manifest.json +612 -7
- 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": [],
|
|
@@ -128,6 +134,12 @@
|
|
|
128
134
|
"breakingChange": false,
|
|
129
135
|
"migrationNote": null
|
|
130
136
|
},
|
|
137
|
+
"color-picker": {
|
|
138
|
+
"changeType": "current",
|
|
139
|
+
"files": [],
|
|
140
|
+
"breakingChange": false,
|
|
141
|
+
"migrationNote": null
|
|
142
|
+
},
|
|
131
143
|
"color-swatch": {
|
|
132
144
|
"changeType": "current",
|
|
133
145
|
"files": [],
|
|
@@ -152,6 +164,12 @@
|
|
|
152
164
|
"breakingChange": false,
|
|
153
165
|
"migrationNote": null
|
|
154
166
|
},
|
|
167
|
+
"container": {
|
|
168
|
+
"changeType": "current",
|
|
169
|
+
"files": [],
|
|
170
|
+
"breakingChange": false,
|
|
171
|
+
"migrationNote": null
|
|
172
|
+
},
|
|
155
173
|
"context-menu": {
|
|
156
174
|
"changeType": "current",
|
|
157
175
|
"files": [],
|
|
@@ -242,6 +260,12 @@
|
|
|
242
260
|
"breakingChange": false,
|
|
243
261
|
"migrationNote": null
|
|
244
262
|
},
|
|
263
|
+
"grid": {
|
|
264
|
+
"changeType": "current",
|
|
265
|
+
"files": [],
|
|
266
|
+
"breakingChange": false,
|
|
267
|
+
"migrationNote": null
|
|
268
|
+
},
|
|
245
269
|
"heading": {
|
|
246
270
|
"changeType": "current",
|
|
247
271
|
"files": [],
|
|
@@ -266,6 +290,12 @@
|
|
|
266
290
|
"breakingChange": false,
|
|
267
291
|
"migrationNote": null
|
|
268
292
|
},
|
|
293
|
+
"inline": {
|
|
294
|
+
"changeType": "current",
|
|
295
|
+
"files": [],
|
|
296
|
+
"breakingChange": false,
|
|
297
|
+
"migrationNote": null
|
|
298
|
+
},
|
|
269
299
|
"input": {
|
|
270
300
|
"changeType": "current",
|
|
271
301
|
"files": [],
|
|
@@ -392,6 +422,12 @@
|
|
|
392
422
|
"breakingChange": false,
|
|
393
423
|
"migrationNote": null
|
|
394
424
|
},
|
|
425
|
+
"score-indicator": {
|
|
426
|
+
"changeType": "current",
|
|
427
|
+
"files": [],
|
|
428
|
+
"breakingChange": false,
|
|
429
|
+
"migrationNote": null
|
|
430
|
+
},
|
|
395
431
|
"scroll-area": {
|
|
396
432
|
"changeType": "current",
|
|
397
433
|
"files": [],
|
|
@@ -464,6 +500,12 @@
|
|
|
464
500
|
"breakingChange": false,
|
|
465
501
|
"migrationNote": null
|
|
466
502
|
},
|
|
503
|
+
"stack": {
|
|
504
|
+
"changeType": "current",
|
|
505
|
+
"files": [],
|
|
506
|
+
"breakingChange": false,
|
|
507
|
+
"migrationNote": null
|
|
508
|
+
},
|
|
467
509
|
"stat-card": {
|
|
468
510
|
"changeType": "current",
|
|
469
511
|
"files": [],
|