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.
Files changed (83) hide show
  1. package/bin/content-api-plugin.mjs +722 -0
  2. package/bin/viteboard.mjs +3 -7
  3. package/content/docs/index.md +1 -1
  4. package/content/docs/product-roadmap.board.json +4 -4
  5. package/content/machine/board-v1.schema.json +138 -0
  6. package/content/machine/example.board.json +217 -0
  7. package/content/machine/guide.md +270 -0
  8. package/content/machine/llms.txt +31 -0
  9. package/content/machine/viteboard.json +62 -0
  10. package/dist/assets/index-D2W76uu9.js +96 -0
  11. package/dist/assets/index-rMkUjGXP.css +1 -0
  12. package/dist/index.html +4 -2
  13. package/package.json +10 -12
  14. package/vite.config.ts +619 -38
  15. package/dist/assets/index-C30zRPsW.js +0 -60
  16. package/dist/assets/index-e5aqtN8W.css +0 -1
  17. package/index.html +0 -13
  18. package/src/app/AppController.ts +0 -962
  19. package/src/app/BoardState.ts +0 -130
  20. package/src/app/ClipboardService.ts +0 -159
  21. package/src/app/CommandManager.ts +0 -66
  22. package/src/app/ElementActions.ts +0 -152
  23. package/src/app/EmbedRegionSelector.ts +0 -103
  24. package/src/app/ExportPng.ts +0 -107
  25. package/src/app/ImageInsertService.ts +0 -141
  26. package/src/app/KeyboardShortcuts.ts +0 -124
  27. package/src/app/main.ts +0 -6
  28. package/src/board/BoardPreview.ts +0 -189
  29. package/src/board/BoardService.ts +0 -222
  30. package/src/canvas/CanvasRenderer.ts +0 -253
  31. package/src/canvas/CanvasSurface.ts +0 -70
  32. package/src/canvas/HitTester.ts +0 -110
  33. package/src/canvas/ImageCache.ts +0 -123
  34. package/src/canvas/PerformanceMonitor.ts +0 -31
  35. package/src/canvas/RenderScheduler.ts +0 -26
  36. package/src/canvas/Viewport.ts +0 -77
  37. package/src/content/ContentApi.ts +0 -258
  38. package/src/content/Markdown.ts +0 -431
  39. package/src/content/MarkdownView.ts +0 -70
  40. package/src/editor/DocEditor.ts +0 -799
  41. package/src/editor/htmlToMarkdown.ts +0 -333
  42. package/src/elements/renderElement.ts +0 -598
  43. package/src/elements/types.ts +0 -119
  44. package/src/shell/Shell.ts +0 -2948
  45. package/src/shell/Sidebar.ts +0 -1651
  46. package/src/storage/AssetStore.ts +0 -86
  47. package/src/storage/BoardSerializer.ts +0 -114
  48. package/src/storage/ImportExportService.ts +0 -153
  49. package/src/storage/IndexedDbStore.ts +0 -92
  50. package/src/storage/LocalBoardStore.ts +0 -104
  51. package/src/styles.css +0 -3332
  52. package/src/templates/handoffTemplate.ts +0 -34
  53. package/src/templates/helpers.ts +0 -132
  54. package/src/templates/index.ts +0 -79
  55. package/src/templates/journeyMapTemplate.ts +0 -52
  56. package/src/templates/opportunityTreeTemplate.ts +0 -45
  57. package/src/templates/personaTemplate.ts +0 -41
  58. package/src/templates/prioritizationMatrixTemplate.ts +0 -44
  59. package/src/templates/requirementsFlowTemplate.ts +0 -45
  60. package/src/templates/screenshotReviewTemplate.ts +0 -52
  61. package/src/templates/systemDiagramTemplate.ts +0 -41
  62. package/src/templates/workflowTemplate.ts +0 -35
  63. package/src/testing/StressTestGenerator.ts +0 -134
  64. package/src/testing/StressTestPanel.ts +0 -64
  65. package/src/tools/ArrowTool.ts +0 -97
  66. package/src/tools/ImageTool.ts +0 -39
  67. package/src/tools/PanTool.ts +0 -34
  68. package/src/tools/SelectTool.ts +0 -377
  69. package/src/tools/ShapeTool.ts +0 -106
  70. package/src/tools/StickyTool.ts +0 -69
  71. package/src/tools/TaskTool.ts +0 -52
  72. package/src/tools/TextTool.ts +0 -45
  73. package/src/tools/ToolContext.ts +0 -51
  74. package/src/tools/ToolController.ts +0 -178
  75. package/src/ui/Modal.ts +0 -58
  76. package/src/ui/PerformanceOverlay.ts +0 -75
  77. package/src/ui/StorageManager.ts +0 -94
  78. package/src/ui/TemplatePicker.ts +0 -67
  79. package/src/ui/TextEditorOverlay.ts +0 -262
  80. package/src/ui/Toolbar.ts +0 -189
  81. package/src/ui/TopControls.ts +0 -137
  82. package/src/ui/icons.ts +0 -56
  83. 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
+ }