viteboard 0.1.1 → 0.1.3
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/bin/content-api-plugin.mjs +722 -0
- package/bin/viteboard.mjs +3 -7
- package/content/docs/index.md +1 -1
- package/content/docs/product-roadmap.board.json +4 -4
- package/content/machine/board-v1.schema.json +138 -0
- package/content/machine/example.board.json +217 -0
- package/content/machine/guide.md +270 -0
- package/content/machine/llms.txt +31 -0
- package/content/machine/viteboard.json +62 -0
- package/dist/assets/index-D2W76uu9.js +96 -0
- package/dist/assets/index-rMkUjGXP.css +1 -0
- package/dist/index.html +4 -2
- package/package.json +10 -12
- package/vite.config.ts +619 -38
- package/dist/assets/index-C30zRPsW.js +0 -60
- package/dist/assets/index-e5aqtN8W.css +0 -1
- package/index.html +0 -13
- package/src/app/AppController.ts +0 -962
- package/src/app/BoardState.ts +0 -130
- package/src/app/ClipboardService.ts +0 -159
- package/src/app/CommandManager.ts +0 -66
- package/src/app/ElementActions.ts +0 -152
- package/src/app/EmbedRegionSelector.ts +0 -103
- package/src/app/ExportPng.ts +0 -107
- package/src/app/ImageInsertService.ts +0 -141
- package/src/app/KeyboardShortcuts.ts +0 -124
- package/src/app/main.ts +0 -6
- package/src/board/BoardPreview.ts +0 -189
- package/src/board/BoardService.ts +0 -222
- package/src/canvas/CanvasRenderer.ts +0 -253
- package/src/canvas/CanvasSurface.ts +0 -70
- package/src/canvas/HitTester.ts +0 -110
- package/src/canvas/ImageCache.ts +0 -123
- package/src/canvas/PerformanceMonitor.ts +0 -31
- package/src/canvas/RenderScheduler.ts +0 -26
- package/src/canvas/Viewport.ts +0 -77
- package/src/content/ContentApi.ts +0 -258
- package/src/content/Markdown.ts +0 -431
- package/src/content/MarkdownView.ts +0 -70
- package/src/editor/DocEditor.ts +0 -799
- package/src/editor/htmlToMarkdown.ts +0 -333
- package/src/elements/renderElement.ts +0 -598
- package/src/elements/types.ts +0 -119
- package/src/shell/Shell.ts +0 -2948
- package/src/shell/Sidebar.ts +0 -1651
- package/src/storage/AssetStore.ts +0 -86
- package/src/storage/BoardSerializer.ts +0 -114
- package/src/storage/ImportExportService.ts +0 -153
- package/src/storage/IndexedDbStore.ts +0 -92
- package/src/storage/LocalBoardStore.ts +0 -104
- package/src/styles.css +0 -3332
- package/src/templates/handoffTemplate.ts +0 -34
- package/src/templates/helpers.ts +0 -132
- package/src/templates/index.ts +0 -79
- package/src/templates/journeyMapTemplate.ts +0 -52
- package/src/templates/opportunityTreeTemplate.ts +0 -45
- package/src/templates/personaTemplate.ts +0 -41
- package/src/templates/prioritizationMatrixTemplate.ts +0 -44
- package/src/templates/requirementsFlowTemplate.ts +0 -45
- package/src/templates/screenshotReviewTemplate.ts +0 -52
- package/src/templates/systemDiagramTemplate.ts +0 -41
- package/src/templates/workflowTemplate.ts +0 -35
- package/src/testing/StressTestGenerator.ts +0 -134
- package/src/testing/StressTestPanel.ts +0 -64
- package/src/tools/ArrowTool.ts +0 -97
- package/src/tools/ImageTool.ts +0 -39
- package/src/tools/PanTool.ts +0 -34
- package/src/tools/SelectTool.ts +0 -377
- package/src/tools/ShapeTool.ts +0 -106
- package/src/tools/StickyTool.ts +0 -69
- package/src/tools/TaskTool.ts +0 -52
- package/src/tools/TextTool.ts +0 -45
- package/src/tools/ToolContext.ts +0 -51
- package/src/tools/ToolController.ts +0 -178
- package/src/ui/Modal.ts +0 -58
- package/src/ui/PerformanceOverlay.ts +0 -75
- package/src/ui/StorageManager.ts +0 -94
- package/src/ui/TemplatePicker.ts +0 -67
- package/src/ui/TextEditorOverlay.ts +0 -262
- package/src/ui/Toolbar.ts +0 -189
- package/src/ui/TopControls.ts +0 -137
- package/src/ui/icons.ts +0 -56
- package/tsconfig.json +0 -19
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# ViteBoard
|
|
2
|
+
|
|
3
|
+
> Local-first documentation workspace and infinite-canvas board system. The source of truth is plain files on disk.
|
|
4
|
+
|
|
5
|
+
Use your normal filesystem tools to read and write project files. Use ViteBoard's HTTP surface to discover workspace roots, understand board/document grammar, and coordinate live editing with locks and presence.
|
|
6
|
+
|
|
7
|
+
Always reuse the exact origin the user gives you, for example `http://localhost:5173`. Do not silently swap it for `127.0.0.1`, another hostname, or another port because the running ViteBoard instance may only be bound on one loopback interface.
|
|
8
|
+
|
|
9
|
+
## Core machine docs
|
|
10
|
+
|
|
11
|
+
- [ViteBoard authoring guide](/viteboard-guide.md): How docs roots, boards, embeds, visual layout, locks, and live coordination work.
|
|
12
|
+
- [Board schema v1](/board-v1.schema.json): JSON Schema for `.board.json` files.
|
|
13
|
+
- [Example board](/viteboard-example.board.json): One complete valid ViteBoard board.
|
|
14
|
+
|
|
15
|
+
## Capability model
|
|
16
|
+
|
|
17
|
+
- Capabilities are managed directory branches under `capabilities/` inside a docs root.
|
|
18
|
+
- Human entrypoint: `index.md`
|
|
19
|
+
- Machine entrypoint: `llms.txt`
|
|
20
|
+
- The rest of the branch may contain markdown, scripts, helpers, assets, examples, and nested directories.
|
|
21
|
+
|
|
22
|
+
## App discovery
|
|
23
|
+
|
|
24
|
+
- [Workspace listing](/__api/workspace): Registered projects and docs roots.
|
|
25
|
+
- [Machine manifest](/.well-known/viteboard.json): Route templates and coordination endpoints.
|
|
26
|
+
|
|
27
|
+
The machine can also open the same wiki, document, board, capability, and directory routes a human uses. See the guide for the exact route templates.
|
|
28
|
+
|
|
29
|
+
## Optional
|
|
30
|
+
|
|
31
|
+
- [Machine guide source](https://gitlab.com/ajsib/viteboard): Project repository homepage.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ViteBoard",
|
|
3
|
+
"appVersion": "0.1.3",
|
|
4
|
+
"machineVersion": 1,
|
|
5
|
+
"summary": "Local-first documentation and infinite-canvas boards stored as plain files.",
|
|
6
|
+
"connectionHints": {
|
|
7
|
+
"originPolicy": "Reuse the exact origin supplied by the user or discovered from the current page. Do not rewrite localhost to 127.0.0.1 or change the port.",
|
|
8
|
+
"reason": "The local ViteBoard server may bind only one loopback interface, so localhost and 127.0.0.1 are not always interchangeable."
|
|
9
|
+
},
|
|
10
|
+
"discovery": {
|
|
11
|
+
"llms": "/llms.txt",
|
|
12
|
+
"guide": "/viteboard-guide.md",
|
|
13
|
+
"boardSchema": "/board-v1.schema.json",
|
|
14
|
+
"exampleBoard": "/viteboard-example.board.json"
|
|
15
|
+
},
|
|
16
|
+
"capabilities": {
|
|
17
|
+
"branchModel": "directory",
|
|
18
|
+
"entrypoints": {
|
|
19
|
+
"human": "index.md",
|
|
20
|
+
"machine": "llms.txt"
|
|
21
|
+
},
|
|
22
|
+
"notes": [
|
|
23
|
+
"A capability is a managed directory branch beneath capabilities/ inside a docs root.",
|
|
24
|
+
"The branch, not a single file, is the capability unit.",
|
|
25
|
+
"Machines should prefer llms.txt as the first machine-facing entrypoint when present."
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"routes": {
|
|
29
|
+
"workspaceHome": "#/",
|
|
30
|
+
"projectWiki": "#/project/{projectId}",
|
|
31
|
+
"projectBoards": "#/project/{projectId}/boards",
|
|
32
|
+
"doc": "#/root/{rootId}/docs/{path}",
|
|
33
|
+
"boardList": "#/root/{rootId}/boards",
|
|
34
|
+
"board": "#/root/{rootId}/boards/{boardId}",
|
|
35
|
+
"capabilities": "#/root/{rootId}/capabilities",
|
|
36
|
+
"capabilityDoc": "#/root/{rootId}/capabilities/{path}",
|
|
37
|
+
"directoryWiki": "#/root/{rootId}/directory/{path}"
|
|
38
|
+
},
|
|
39
|
+
"api": {
|
|
40
|
+
"workspace": "/__api/workspace",
|
|
41
|
+
"projectTree": "/__api/project-tree?projectId={projectId}",
|
|
42
|
+
"tree": "/__api/tree?rootId={rootId}",
|
|
43
|
+
"file": "/__api/file?rootId={rootId}&path={path}",
|
|
44
|
+
"board": "/__api/board?rootId={rootId}&id={boardId}",
|
|
45
|
+
"registerProject": "/__api/workspace/project",
|
|
46
|
+
"ensureDocsRoot": "/__api/workspace/project/docs-root",
|
|
47
|
+
"createDocsFolder": "/__api/workspace/project/create-docs-folder",
|
|
48
|
+
"presence": "/__api/actors/session",
|
|
49
|
+
"heartbeat": "/__api/actors/heartbeat",
|
|
50
|
+
"locksAcquire": "/__api/locks/acquire",
|
|
51
|
+
"locksRelease": "/__api/locks/release",
|
|
52
|
+
"events": "/__api/events"
|
|
53
|
+
},
|
|
54
|
+
"coordination": {
|
|
55
|
+
"mode": "cooperative",
|
|
56
|
+
"notes": [
|
|
57
|
+
"Register a live actor session if you want the app to reflect connectedness.",
|
|
58
|
+
"Acquire a lock before writing a Markdown document or board so the human UI becomes read-only.",
|
|
59
|
+
"Release the lock after writing and let the app surface stale/reload indicators."
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
}
|