pixelweaver 0.1.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.
Files changed (392) hide show
  1. package/.env.development +1 -0
  2. package/.github/workflows/ci.yml +22 -0
  3. package/.github/workflows/publish.yml +18 -0
  4. package/.prettierignore +5 -0
  5. package/.prettierrc +16 -0
  6. package/.python-version +1 -0
  7. package/.rlsbl/bases/.github/workflows/ci.yml +21 -0
  8. package/.rlsbl/bases/.github/workflows/publish.yml +18 -0
  9. package/.rlsbl/bases/.rlsbl/changes/unreleased.jsonl +0 -0
  10. package/.rlsbl/bases/.rlsbl/hooks/post-release.sh +8 -0
  11. package/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +5 -0
  12. package/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +8 -0
  13. package/.rlsbl/bases/.rlsbl/lint/go.toml +17 -0
  14. package/.rlsbl/bases/.rlsbl/lint/npm.toml +19 -0
  15. package/.rlsbl/bases/.rlsbl/lint/python.toml +25 -0
  16. package/.rlsbl/bases/CHANGELOG.md +5 -0
  17. package/.rlsbl/bases/LICENSE +21 -0
  18. package/.rlsbl/changes/.validated +1 -0
  19. package/.rlsbl/changes/0.1.0.jsonl +85 -0
  20. package/.rlsbl/changes/0.1.0.md +13 -0
  21. package/.rlsbl/changes/unreleased.jsonl +0 -0
  22. package/.rlsbl/config.json +6 -0
  23. package/.rlsbl/hashes.json +14 -0
  24. package/.rlsbl/hooks/post-release.sh +8 -0
  25. package/.rlsbl/hooks/pre-checks.sh +5 -0
  26. package/.rlsbl/hooks/pre-release.sh +8 -0
  27. package/.rlsbl/lint/go.toml +17 -0
  28. package/.rlsbl/lint/npm.toml +19 -0
  29. package/.rlsbl/lint/python.toml +25 -0
  30. package/.rlsbl/releases/unreleased.toml +0 -0
  31. package/.rlsbl/releases/v0.1.0.toml +3 -0
  32. package/.rlsbl/version +1 -0
  33. package/.selfdoc/hashes/hashes.json +146 -0
  34. package/.strictcli/schema.json +227 -0
  35. package/CHANGELOG.md +17 -0
  36. package/CLAUDE.md +100 -0
  37. package/LICENSE +21 -0
  38. package/README.md +116 -0
  39. package/assets/icon.png +0 -0
  40. package/docs/_README.md +117 -0
  41. package/docs/cli-config.md +35 -0
  42. package/docs/cli-dev.md +21 -0
  43. package/docs/cli-diagnose.md +12 -0
  44. package/docs/cli-index.md +30 -0
  45. package/docs/cli-list.md +18 -0
  46. package/docs/cli-mcp.md +18 -0
  47. package/docs/cli-new.md +26 -0
  48. package/docs/cli-open.md +21 -0
  49. package/docs/cli-serve.md +21 -0
  50. package/docs/cli-stop.md +12 -0
  51. package/docs/gen-index.md +36 -0
  52. package/docs/index.md +13 -0
  53. package/docs/server-src-pixelweaver-__main__.md +12 -0
  54. package/docs/server-src-pixelweaver-autosave.md +12 -0
  55. package/docs/server-src-pixelweaver-bridge.md +12 -0
  56. package/docs/server-src-pixelweaver-cli.md +12 -0
  57. package/docs/server-src-pixelweaver-config.md +12 -0
  58. package/docs/server-src-pixelweaver-connections.md +12 -0
  59. package/docs/server-src-pixelweaver-main.md +12 -0
  60. package/docs/server-src-pixelweaver-mcp_bridge.md +12 -0
  61. package/docs/server-src-pixelweaver-mcp_drawing_tools.md +12 -0
  62. package/docs/server-src-pixelweaver-mcp_export_tools.md +12 -0
  63. package/docs/server-src-pixelweaver-mcp_frame_tools.md +12 -0
  64. package/docs/server-src-pixelweaver-mcp_history_tools.md +12 -0
  65. package/docs/server-src-pixelweaver-mcp_layer_tools.md +12 -0
  66. package/docs/server-src-pixelweaver-mcp_lock.md +12 -0
  67. package/docs/server-src-pixelweaver-mcp_project_tools.md +12 -0
  68. package/docs/server-src-pixelweaver-mcp_read_tools.md +12 -0
  69. package/docs/server-src-pixelweaver-mcp_registry.md +12 -0
  70. package/docs/server-src-pixelweaver-mcp_resources.md +12 -0
  71. package/docs/server-src-pixelweaver-mcp_server.md +12 -0
  72. package/docs/server-src-pixelweaver-protocol.md +12 -0
  73. package/docs/server-src-pixelweaver-state.md +12 -0
  74. package/docs/server-src-pixelweaver-storage.md +12 -0
  75. package/docs/server-src-pixelweaver-websocket.md +12 -0
  76. package/docs/server-src-pixelweaver.md +12 -0
  77. package/e2e/app-launch.test.ts +35 -0
  78. package/e2e/menus.test.ts +26 -0
  79. package/e2e/tools.test.ts +27 -0
  80. package/e2e/undo-redo.test.ts +11 -0
  81. package/eslint.config.js +62 -0
  82. package/index.html +13 -0
  83. package/package.json +48 -0
  84. package/playwright.config.ts +19 -0
  85. package/plugins/builtin/.gitkeep +0 -0
  86. package/plugins/builtin/advanced-fill-tool.ts +146 -0
  87. package/plugins/builtin/circle-tool.ts +186 -0
  88. package/plugins/builtin/diamond-tool.ts +182 -0
  89. package/plugins/builtin/dither-tool.ts +186 -0
  90. package/plugins/builtin/drawing-primitives-plugin.ts +362 -0
  91. package/plugins/builtin/drawing-utils.test.ts +495 -0
  92. package/plugins/builtin/drawing-utils.ts +431 -0
  93. package/plugins/builtin/effects/blur.ts +97 -0
  94. package/plugins/builtin/effects/color-effects.ts +278 -0
  95. package/plugins/builtin/effects/flip.ts +83 -0
  96. package/plugins/builtin/effects/glow.ts +118 -0
  97. package/plugins/builtin/effects/outline.ts +110 -0
  98. package/plugins/builtin/effects/rotate.ts +357 -0
  99. package/plugins/builtin/effects/scale.ts +258 -0
  100. package/plugins/builtin/effects/shadow.ts +111 -0
  101. package/plugins/builtin/effects/sharpen.ts +102 -0
  102. package/plugins/builtin/effects.test.ts +715 -0
  103. package/plugins/builtin/eraser-tool.ts +23 -0
  104. package/plugins/builtin/eyedropper-tool.ts +83 -0
  105. package/plugins/builtin/fill-tool.ts +93 -0
  106. package/plugins/builtin/gradient-tool.ts +204 -0
  107. package/plugins/builtin/gradient.test.ts +142 -0
  108. package/plugins/builtin/importers/aseprite-importer-plugin.ts +174 -0
  109. package/plugins/builtin/importers/aseprite-parser.ts +497 -0
  110. package/plugins/builtin/importers/piskel-importer-plugin.ts +222 -0
  111. package/plugins/builtin/importers/sky-spec-plugin.ts +409 -0
  112. package/plugins/builtin/line-tool.ts +267 -0
  113. package/plugins/builtin/make-stroke-tool.ts +271 -0
  114. package/plugins/builtin/noise-dither.test.ts +151 -0
  115. package/plugins/builtin/noise-tool.ts +131 -0
  116. package/plugins/builtin/pattern-stamp-tool.ts +162 -0
  117. package/plugins/builtin/pencil-tool.ts +25 -0
  118. package/plugins/builtin/rect-tool.ts +179 -0
  119. package/plugins/builtin/selection-tool.ts +388 -0
  120. package/plugins/builtin/selection.test.ts +195 -0
  121. package/plugins/builtin/tool-plugins.test.ts +529 -0
  122. package/public/favicon.svg +7 -0
  123. package/public/sw.js +91 -0
  124. package/pyproject.toml +49 -0
  125. package/scripts/eslint-wave-a-list.sh +24 -0
  126. package/scripts/eslint-wave-a-status.sh +25 -0
  127. package/scripts/fix-index-signature-access.py +127 -0
  128. package/scripts/fix-unchecked-index.py +128 -0
  129. package/scripts/fix-unchecked-vars.py +127 -0
  130. package/scripts/fix-wave-a-bangs.py +36 -0
  131. package/scripts/fix-wave-a-templates.py +108 -0
  132. package/scripts/fix-wave-b-void-expr.py +167 -0
  133. package/scripts/generate-command-params.py +540 -0
  134. package/scripts/migrate-single-frame-to-multi.py +171 -0
  135. package/scripts/smoke-test.sh +77 -0
  136. package/selfdoc.json +10 -0
  137. package/server/README.md +0 -0
  138. package/server/src/pixelweaver/__init__.py +1 -0
  139. package/server/src/pixelweaver/__main__.py +4 -0
  140. package/server/src/pixelweaver/autosave.py +114 -0
  141. package/server/src/pixelweaver/bridge.py +127 -0
  142. package/server/src/pixelweaver/cli.py +199 -0
  143. package/server/src/pixelweaver/config.py +24 -0
  144. package/server/src/pixelweaver/connections.py +54 -0
  145. package/server/src/pixelweaver/main.py +271 -0
  146. package/server/src/pixelweaver/mcp_bridge.py +189 -0
  147. package/server/src/pixelweaver/mcp_drawing_tools.py +178 -0
  148. package/server/src/pixelweaver/mcp_export_tools.py +291 -0
  149. package/server/src/pixelweaver/mcp_frame_tools.py +423 -0
  150. package/server/src/pixelweaver/mcp_history_tools.py +106 -0
  151. package/server/src/pixelweaver/mcp_layer_tools.py +64 -0
  152. package/server/src/pixelweaver/mcp_lock.py +37 -0
  153. package/server/src/pixelweaver/mcp_project_tools.py +302 -0
  154. package/server/src/pixelweaver/mcp_read_tools.py +163 -0
  155. package/server/src/pixelweaver/mcp_registry.py +247 -0
  156. package/server/src/pixelweaver/mcp_resources.py +312 -0
  157. package/server/src/pixelweaver/mcp_server.py +234 -0
  158. package/server/src/pixelweaver/protocol.py +219 -0
  159. package/server/src/pixelweaver/state.py +267 -0
  160. package/server/src/pixelweaver/storage.py +293 -0
  161. package/server/src/pixelweaver/websocket.py +282 -0
  162. package/server/tests/__init__.py +0 -0
  163. package/server/tests/conftest.py +17 -0
  164. package/server/tests/test_api.py +96 -0
  165. package/server/tests/test_bridge.py +161 -0
  166. package/server/tests/test_health.py +9 -0
  167. package/server/tests/test_integration.py +86 -0
  168. package/server/tests/test_mcp_bridge.py +293 -0
  169. package/server/tests/test_mcp_lock.py +34 -0
  170. package/server/tests/test_mcp_registry.py +679 -0
  171. package/server/tests/test_mcp_resources.py +648 -0
  172. package/server/tests/test_protocol.py +125 -0
  173. package/server/tests/test_state.py +87 -0
  174. package/server/tests/test_storage.py +306 -0
  175. package/server/tests/test_websocket.py +275 -0
  176. package/src/App.svelte +107 -0
  177. package/src/app.css +215 -0
  178. package/src/lib/animation/AnimationPreviewPanel.svelte +667 -0
  179. package/src/lib/animation/animation-commands.test.ts +228 -0
  180. package/src/lib/animation/animation-commands.ts +540 -0
  181. package/src/lib/animation/animation-preview-panel-plugin.ts +25 -0
  182. package/src/lib/animation/animation-preview.svelte.ts +151 -0
  183. package/src/lib/animation/clipboard.ts +134 -0
  184. package/src/lib/animation/frame-model.svelte.ts +437 -0
  185. package/src/lib/animation/frame-model.test.ts +314 -0
  186. package/src/lib/animation/frame-selection.svelte.ts +77 -0
  187. package/src/lib/animation/frame-tags.svelte.ts +238 -0
  188. package/src/lib/animation/frame-tags.test.ts +136 -0
  189. package/src/lib/animation/import.test.ts +141 -0
  190. package/src/lib/animation/import.ts +112 -0
  191. package/src/lib/animation/spritesheet-export.test.ts +239 -0
  192. package/src/lib/animation/spritesheet-export.ts +314 -0
  193. package/src/lib/canvas/CanvasViewport.svelte +216 -0
  194. package/src/lib/canvas/canvas-init-plugin.ts +178 -0
  195. package/src/lib/canvas/canvas-renderer.ts +408 -0
  196. package/src/lib/canvas/canvas-state.svelte.ts +232 -0
  197. package/src/lib/canvas/canvas-state.test.ts +139 -0
  198. package/src/lib/canvas/input-handler.ts +221 -0
  199. package/src/lib/canvas/input-plugin.ts +150 -0
  200. package/src/lib/canvas/onion-skin.ts +94 -0
  201. package/src/lib/canvas/pixel-buffer.test.ts +249 -0
  202. package/src/lib/canvas/pixel-buffer.ts +151 -0
  203. package/src/lib/canvas/render-state.svelte.ts +18 -0
  204. package/src/lib/canvas/shape-preview-state.svelte.ts +36 -0
  205. package/src/lib/canvas/tile-mode.test.ts +53 -0
  206. package/src/lib/canvas/tile-mode.ts +92 -0
  207. package/src/lib/canvas/viewport-utils.ts +24 -0
  208. package/src/lib/canvas/zoom-utils.ts +31 -0
  209. package/src/lib/color/.gitkeep +0 -0
  210. package/src/lib/color/color-commands.ts +87 -0
  211. package/src/lib/color/color-state.svelte.ts +98 -0
  212. package/src/lib/color/color-state.test.ts +91 -0
  213. package/src/lib/color/color-utils.test.ts +220 -0
  214. package/src/lib/color/color-utils.ts +243 -0
  215. package/src/lib/color/palette-state.svelte.ts +127 -0
  216. package/src/lib/color/palette-state.test.ts +154 -0
  217. package/src/lib/color/palette.ts +79 -0
  218. package/src/lib/core/bootstrap.ts +66 -0
  219. package/src/lib/core/command-params.generated.ts +1549 -0
  220. package/src/lib/core/command-params.ts +20 -0
  221. package/src/lib/core/command-runner.ts +79 -0
  222. package/src/lib/core/commands.ts +134 -0
  223. package/src/lib/core/dispatcher.test.ts +548 -0
  224. package/src/lib/core/dispatcher.ts +361 -0
  225. package/src/lib/core/index.test.ts +7 -0
  226. package/src/lib/core/notification-state.svelte.ts +119 -0
  227. package/src/lib/core/plugin-api.ts +210 -0
  228. package/src/lib/core/plugin-discovery.test.ts +53 -0
  229. package/src/lib/core/plugin-discovery.ts +65 -0
  230. package/src/lib/core/plugin-loader.test.ts +159 -0
  231. package/src/lib/core/plugin-loader.ts +240 -0
  232. package/src/lib/core/plugin-types.ts +286 -0
  233. package/src/lib/core/registries.svelte.ts +74 -0
  234. package/src/lib/core/tool-options-state.svelte.ts +61 -0
  235. package/src/lib/dock/DockLayout.svelte +375 -0
  236. package/src/lib/dock/TabAddMenu.svelte +90 -0
  237. package/src/lib/dock/dock-persistence.ts +46 -0
  238. package/src/lib/dock/dock-plugin.ts +49 -0
  239. package/src/lib/dock/dock-presets.ts +156 -0
  240. package/src/lib/dock/dock-state.svelte.ts +77 -0
  241. package/src/lib/dock/dock-types.ts +2 -0
  242. package/src/lib/dock/dockview-theme.css +226 -0
  243. package/src/lib/dock/dockview-theme.ts +17 -0
  244. package/src/lib/dock/header-action-renderer.ts +77 -0
  245. package/src/lib/edit/clipboard-state.ts +34 -0
  246. package/src/lib/export/download.ts +201 -0
  247. package/src/lib/export/png-metadata.ts +181 -0
  248. package/src/lib/history/ActionLogPanel.svelte +418 -0
  249. package/src/lib/history/action-log-panel-plugin.ts +24 -0
  250. package/src/lib/history/action-log.svelte.ts +172 -0
  251. package/src/lib/history/action-log.test.ts +168 -0
  252. package/src/lib/history/history-commands.ts +403 -0
  253. package/src/lib/history/macros.svelte.ts +320 -0
  254. package/src/lib/history/macros.test.ts +224 -0
  255. package/src/lib/history/replay-engine.test.ts +241 -0
  256. package/src/lib/history/replay-engine.ts +149 -0
  257. package/src/lib/history/spec-format.test.ts +250 -0
  258. package/src/lib/history/spec-format.ts +210 -0
  259. package/src/lib/iso/SeamCheckerPanel.svelte +251 -0
  260. package/src/lib/iso/iso-math.test.ts +77 -0
  261. package/src/lib/iso/iso-math.ts +77 -0
  262. package/src/lib/iso/seam-checker-panel-plugin.ts +25 -0
  263. package/src/lib/iso/seam-checker.test.ts +126 -0
  264. package/src/lib/iso/seam-checker.ts +93 -0
  265. package/src/lib/iso/tessellation.ts +67 -0
  266. package/src/lib/layers/compositor.test.ts +193 -0
  267. package/src/lib/layers/compositor.ts +175 -0
  268. package/src/lib/layers/layer-commands.test.ts +263 -0
  269. package/src/lib/layers/layer-commands.ts +429 -0
  270. package/src/lib/layers/layer-tree.svelte.ts +516 -0
  271. package/src/lib/layers/layer-tree.test.ts +383 -0
  272. package/src/lib/layers/layer-types.ts +56 -0
  273. package/src/lib/leveleditor/LevelEditorViewport.svelte +1808 -0
  274. package/src/lib/leveleditor/MapPropertiesPanel.svelte +266 -0
  275. package/src/lib/leveleditor/TilePickerPanel.svelte +324 -0
  276. package/src/lib/leveleditor/depth-sort.test.ts +70 -0
  277. package/src/lib/leveleditor/depth-sort.ts +39 -0
  278. package/src/lib/leveleditor/level-editor-commands.ts +353 -0
  279. package/src/lib/leveleditor/level-editor-viewport-plugin.ts +25 -0
  280. package/src/lib/leveleditor/map-properties-panel-plugin.ts +25 -0
  281. package/src/lib/leveleditor/map-state.svelte.ts +372 -0
  282. package/src/lib/leveleditor/map-state.test.ts +243 -0
  283. package/src/lib/leveleditor/tile-picker-panel-plugin.ts +25 -0
  284. package/src/lib/leveleditor/tile-source-registry.svelte.ts +91 -0
  285. package/src/lib/leveleditor/tiled-export.test.ts +144 -0
  286. package/src/lib/leveleditor/tiled-export.ts +374 -0
  287. package/src/lib/pywebview.d.ts +15 -0
  288. package/src/lib/recovery/.gitkeep +0 -0
  289. package/src/lib/recovery/idb-store.ts +118 -0
  290. package/src/lib/recovery/recovery-manager.test.ts +321 -0
  291. package/src/lib/recovery/recovery-manager.ts +115 -0
  292. package/src/lib/recovery/recovery-plugin.ts +55 -0
  293. package/src/lib/recovery/recovery-state.svelte.ts +21 -0
  294. package/src/lib/recovery/sw-plugin.ts +18 -0
  295. package/src/lib/recovery/sw-register.ts +17 -0
  296. package/src/lib/save/directory-format.ts +42 -0
  297. package/src/lib/save/project-snapshot.ts +139 -0
  298. package/src/lib/save/recent-projects.ts +56 -0
  299. package/src/lib/save/save-state.svelte.ts +35 -0
  300. package/src/lib/save/storage.ts +167 -0
  301. package/src/lib/save/zip-format.ts +45 -0
  302. package/src/lib/shortcuts/.gitkeep +0 -0
  303. package/src/lib/shortcuts/ShortcutEditorPanel.svelte +690 -0
  304. package/src/lib/shortcuts/default-bindings.ts +61 -0
  305. package/src/lib/shortcuts/shortcut-editor-panel-plugin.ts +25 -0
  306. package/src/lib/shortcuts/shortcut-init.ts +380 -0
  307. package/src/lib/shortcuts/shortcut-manager.test.ts +466 -0
  308. package/src/lib/shortcuts/shortcut-manager.ts +281 -0
  309. package/src/lib/shortcuts/shortcut-state.svelte.ts +78 -0
  310. package/src/lib/shortcuts/shortcuts-plugin.ts +17 -0
  311. package/src/lib/sync/patch-applicator.ts +300 -0
  312. package/src/lib/sync/patch-types.ts +65 -0
  313. package/src/lib/sync/project-manager.ts +108 -0
  314. package/src/lib/sync/sync-init.ts +152 -0
  315. package/src/lib/sync/sync-plugin.ts +19 -0
  316. package/src/lib/sync/sync-state.svelte.ts +56 -0
  317. package/src/lib/sync/ws-client.test.ts +604 -0
  318. package/src/lib/sync/ws-client.ts +574 -0
  319. package/src/lib/tools/.gitkeep +0 -0
  320. package/src/lib/ui/.gitkeep +0 -0
  321. package/src/lib/ui/AboutDialog.svelte +113 -0
  322. package/src/lib/ui/ColorPicker.svelte +761 -0
  323. package/src/lib/ui/ContextMenu.svelte +216 -0
  324. package/src/lib/ui/ExportDialog.svelte +747 -0
  325. package/src/lib/ui/FrameStrip.svelte +854 -0
  326. package/src/lib/ui/LayerPanel.svelte +810 -0
  327. package/src/lib/ui/MenuBar.svelte +590 -0
  328. package/src/lib/ui/NewProjectDialog.svelte +803 -0
  329. package/src/lib/ui/PluginManagerPanel.svelte +475 -0
  330. package/src/lib/ui/PromptDialog.svelte +252 -0
  331. package/src/lib/ui/RecoveryDialog.svelte +295 -0
  332. package/src/lib/ui/ResizeDialog.svelte +416 -0
  333. package/src/lib/ui/StatusBar.svelte +145 -0
  334. package/src/lib/ui/ToolbarPanel.svelte +488 -0
  335. package/src/lib/ui/animation-menu-commands.ts +194 -0
  336. package/src/lib/ui/command-palette/CommandPalette.svelte +232 -0
  337. package/src/lib/ui/command-palette/command-palette-plugin.ts +30 -0
  338. package/src/lib/ui/command-palette/command-palette-state.svelte.ts +190 -0
  339. package/src/lib/ui/command-palette/command-palette.test.ts +129 -0
  340. package/src/lib/ui/dialog-state.svelte.ts +70 -0
  341. package/src/lib/ui/edit-commands.ts +271 -0
  342. package/src/lib/ui/file-commands.ts +275 -0
  343. package/src/lib/ui/file-open.ts +99 -0
  344. package/src/lib/ui/help-commands.ts +93 -0
  345. package/src/lib/ui/image-commands.ts +181 -0
  346. package/src/lib/ui/layer-menu-commands.ts +420 -0
  347. package/src/lib/ui/menu-builder.ts +224 -0
  348. package/src/lib/ui/notifications/NotificationBanner.svelte +137 -0
  349. package/src/lib/ui/notifications/notification-plugin.ts +29 -0
  350. package/src/lib/ui/notifications/notification-state.svelte.ts +9 -0
  351. package/src/lib/ui/plugin-manager-panel-plugin.ts +26 -0
  352. package/src/lib/ui/plugin-state.svelte.ts +62 -0
  353. package/src/lib/ui/select-commands.ts +75 -0
  354. package/src/lib/ui/theme-plugin.ts +18 -0
  355. package/src/lib/ui/theme.svelte.ts +45 -0
  356. package/src/lib/ui/theme.test.ts +51 -0
  357. package/src/lib/ui/toolbar-config.ts +90 -0
  358. package/src/lib/ui/toolbar-plugin.ts +39 -0
  359. package/src/lib/ui/view-commands.ts +629 -0
  360. package/src/lib/variants/BisectionExportDialog.svelte +500 -0
  361. package/src/lib/variants/VariantPanel.svelte +822 -0
  362. package/src/lib/variants/bisection-export.test.ts +113 -0
  363. package/src/lib/variants/bisection-export.ts +148 -0
  364. package/src/lib/variants/palette-extraction.test.ts +111 -0
  365. package/src/lib/variants/palette-extraction.ts +84 -0
  366. package/src/lib/variants/palette-interpolation.test.ts +113 -0
  367. package/src/lib/variants/palette-interpolation.ts +87 -0
  368. package/src/lib/variants/palette-swap.test.ts +101 -0
  369. package/src/lib/variants/palette-swap.ts +114 -0
  370. package/src/lib/variants/variant-commands.ts +594 -0
  371. package/src/lib/variants/variant-panel-plugin.ts +27 -0
  372. package/src/lib/variants/variant-randomizer.ts +101 -0
  373. package/src/lib/variants/variant-state.svelte.ts +166 -0
  374. package/src/lib/variants/variant-state.test.ts +138 -0
  375. package/src/main.ts +14 -0
  376. package/src/vite-env.d.ts +3 -0
  377. package/svelte.config.js +2 -0
  378. package/todo/.done/audit-design-decisions.md +812 -0
  379. package/todo/.done/audit-implementation-plan.md +1235 -0
  380. package/todo/.done/happy-path-polish.md +177 -0
  381. package/todo/.done/pixelweaver-full-build.md +937 -0
  382. package/todo/.done/server-multi-frame-design.md +405 -0
  383. package/todo/.done/typed-dispatcher-design.md +435 -0
  384. package/todo/.done/unified-toolbar-and-action-system.md +323 -0
  385. package/todo/.obsolete/comprehensive-audit-obsolete-items.md +33 -0
  386. package/todo/.obsolete/tauri-desktop-bundle.md +424 -0
  387. package/todo/comprehensive-audit.md +1085 -0
  388. package/tsconfig.app.json +26 -0
  389. package/tsconfig.json +7 -0
  390. package/tsconfig.node.json +20 -0
  391. package/uv.lock +1167 -0
  392. package/vite.config.ts +32 -0
@@ -0,0 +1,117 @@
1
+ ---
2
+ title: README.md
3
+ ---
4
+ # PixelWeaver
5
+
6
+ A pixel art sprite editor built with Svelte 5 and wesktop.
7
+
8
+ ## Overview
9
+
10
+ PixelWeaver is a desktop-class pixel art editor that runs in a native window or browser. The frontend is built with Svelte 5 (runes, vanilla Vite) and dockview-core for panel docking. The backend is a Python server using wesktop (ASGI micro-router + granian) with pywebview for native desktop windows. An MCP server exposes drawing and project tools for AI agent integration.
11
+
12
+ ## Tech Stack
13
+
14
+ | Layer | Technology |
15
+ |-------|-----------|
16
+ | Frontend | Svelte 5, TypeScript, dockview-core, Vite |
17
+ | Server | Python 3.13+, wesktop (ASGI + granian), Pydantic, Pillow |
18
+ | Desktop | pywebview (native OS window) |
19
+ | CLI | strictcli |
20
+ | Icons | unplugin-icons with Iconify (lucide set) |
21
+ | AI integration | MCP server (stdio) |
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ npm install
27
+ uv sync
28
+ ```
29
+
30
+ ## Quick Start
31
+
32
+ Development mode (Vite HMR + wesktop server):
33
+
34
+ ```bash
35
+ pixelweaver dev
36
+ ```
37
+
38
+ Headless server (port 7779):
39
+
40
+ ```bash
41
+ pixelweaver serve
42
+ ```
43
+
44
+ Desktop window:
45
+
46
+ ```bash
47
+ npm run build
48
+ pixelweaver open
49
+ ```
50
+
51
+ Browser mode:
52
+
53
+ ```bash
54
+ npm run build
55
+ pixelweaver open --browser
56
+ ```
57
+
58
+ ## Commands
59
+
60
+ | Command | Description |
61
+ |---------|-------------|
62
+ | `pixelweaver dev` | Development mode with Vite HMR |
63
+ | `pixelweaver serve` | Start the headless API server |
64
+ | `pixelweaver open` | Launch desktop window (pywebview) |
65
+ | `pixelweaver open --browser` | Launch in default browser |
66
+ | `pixelweaver new <name>` | Create a new project on disk |
67
+ | `pixelweaver list` | List projects on disk |
68
+ | `pixelweaver mcp` | Start the MCP tool server (stdio) |
69
+ | `pixelweaver diagnose` | Check runtime environment and dependencies |
70
+ | `pixelweaver config show` | Display current configuration |
71
+ | `pixelweaver config set <key> <value>` | Set a config value |
72
+ | `pixelweaver config edit` | Open config file in editor |
73
+ | `pixelweaver config path` | Print config file path |
74
+
75
+ ## Architecture
76
+
77
+ ```
78
+ src/ Svelte 5 frontend (Vite)
79
+ lib/
80
+ plugins/ Plugin system (tools, panels, exporters, importers)
81
+ ...
82
+ server/
83
+ src/pixelweaver/
84
+ cli.py CLI entry point (strictcli)
85
+ main.py ASGI app factory and routes
86
+ state.py In-memory project state
87
+ storage.py Project persistence
88
+ bridge.py pywebview desktop bridge
89
+ websocket.py WebSocket handlers
90
+ mcp_server.py MCP server for AI agents
91
+ protocol.py Shared protocol types
92
+ ...
93
+ docs/ Documentation (selfdoc)
94
+ ```
95
+
96
+ The frontend communicates with the server over HTTP and WebSocket. In desktop mode, pywebview opens a native window pointing at the local server. In development mode, `pixelweaver dev` starts both Vite (with HMR) and the wesktop server behind a proxy.
97
+
98
+ ## Plugin System
99
+
100
+ Plugins are discovered via `import.meta.glob` at bootstrap. Each plugin exports a `register(api)` function that receives a `PluginAPI` with methods for registering commands, tools, panels, exporters, importers, shortcuts, menu items, and toolbar items. Eight reactive registries (backed by SvelteMap) power the UI.
101
+
102
+ ## Development
103
+
104
+ ```bash
105
+ npm install # Install frontend dependencies
106
+ uv sync # Install server dependencies
107
+ pixelweaver dev # Start dev server (Vite + wesktop)
108
+ npm run build # Build frontend to dist/
109
+ npm run check # TypeScript checks
110
+ npm run lint # ESLint
111
+ npm run test # Vitest (frontend)
112
+ uv run pytest # Pytest (server)
113
+ ```
114
+
115
+ ## License
116
+
117
+ MIT
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: pixelweaver config
3
+ description: "Reference for the pixelweaver config command group — subcommands, flags, arguments, and usage details for the config group in the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 1
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver config
11
+
12
+ Manage configuration
13
+
14
+ ## config path
15
+
16
+ Print the config file path
17
+
18
+ ## config show
19
+
20
+ Show all config values with source attribution
21
+
22
+ ## config set
23
+
24
+ Set a config value
25
+
26
+ ### Arguments
27
+
28
+ | Name | Required | Description |
29
+ |------|----------|-------------|
30
+ | `key` | yes | Config key to set |
31
+ | `value` | yes | Value to set |
32
+
33
+ ## config edit
34
+
35
+ Open the config file in $EDITOR
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: pixelweaver dev
3
+ description: "Reference for the pixelweaver dev command — usage, flags, arguments, and examples for the dev subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 2
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver dev
11
+
12
+ Development mode with Vite HMR
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--host` | | str | 127.0.0.1 | | Bind address |
19
+ | `--port` | | int | 7779 | | Port |
20
+ | `--vite-port` | | int | 5173 | | Vite dev server port |
21
+ | `--data-dir` | | str | ./projects | | Projects directory |
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: pixelweaver diagnose
3
+ description: "Reference for the pixelweaver diagnose command — usage, flags, arguments, and examples for the diagnose subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 3
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver diagnose
11
+
12
+ Check runtime environment and dependencies
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: pixelweaver CLI Reference
3
+ description: "Complete CLI reference for pixelweaver — all available commands, subcommands, flags, arguments, and usage examples with detailed descriptions."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 0
7
+ order: 91
8
+ ---
9
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
10
+
11
+ # pixelweaver CLI Reference
12
+
13
+ PixelWeaver collaboration server
14
+
15
+ Version: 0.1.0
16
+
17
+ ## Commands
18
+
19
+ - [serve](cli-serve.html) -- Start the server
20
+ - [new](cli-new.html) -- Create a new project on disk
21
+ - [list](cli-list.html) -- List projects on disk
22
+ - [mcp](cli-mcp.html) -- Start the MCP tool server (stdio)
23
+ - [dev](cli-dev.html) -- Development mode with Vite HMR
24
+ - [open](cli-open.html) -- Launch desktop window
25
+ - [diagnose](cli-diagnose.html) -- Check runtime environment and dependencies
26
+ - [stop](cli-stop.html) -- Stop the running server
27
+
28
+ ## Command Groups
29
+
30
+ - [config](cli-config.html) -- Manage configuration
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: pixelweaver list
3
+ description: "Reference for the pixelweaver list command — usage, flags, arguments, and examples for the list subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 4
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver list
11
+
12
+ List projects on disk
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--data-dir` | | str | ./projects | | Projects directory |
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: pixelweaver mcp
3
+ description: "Reference for the pixelweaver mcp command — usage, flags, arguments, and examples for the mcp subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 5
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver mcp
11
+
12
+ Start the MCP tool server (stdio)
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--data-dir` | | str | ./projects | | Projects directory |
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: pixelweaver new
3
+ description: "Reference for the pixelweaver new command — usage, flags, arguments, and examples for the new subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 6
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver new
11
+
12
+ Create a new project on disk
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--width` | | int | | | Canvas width in pixels |
19
+ | `--height` | | int | | | Canvas height in pixels |
20
+ | `--data-dir` | | str | ./projects | | Projects directory |
21
+
22
+ ## Arguments
23
+
24
+ | Name | Required | Description |
25
+ |------|----------|-------------|
26
+ | `name` | yes | Project name |
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: pixelweaver open
3
+ description: "Reference for the pixelweaver open command — usage, flags, arguments, and examples for the open subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 7
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver open
11
+
12
+ Launch desktop window
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--host` | | str | 127.0.0.1 | | Bind address |
19
+ | `--port` | | int | 7779 | | Port |
20
+ | `--browser` | | bool | | | Open in browser instead of native window |
21
+ | `--data-dir` | | str | ./projects | | Projects directory |
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: pixelweaver serve
3
+ description: "Reference for the pixelweaver serve command — usage, flags, arguments, and examples for the serve subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 8
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver serve
11
+
12
+ Start the server
13
+
14
+ ## Flags
15
+
16
+ | Name | Short | Type | Default | Env | Description |
17
+ |------|-------|------|---------|-----|-------------|
18
+ | `--host` | | str | 127.0.0.1 | | Bind address |
19
+ | `--port` | | int | 7779 | | Port |
20
+ | `--reload` | | bool | | | Auto-reload on file changes |
21
+ | `--data-dir` | | str | ./projects | | Projects directory |
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: pixelweaver stop
3
+ description: "Reference for the pixelweaver stop command — usage, flags, arguments, and examples for the stop subcommand of the pixelweaver CLI."
4
+ generated: true
5
+ nav_group: "CLI Reference"
6
+ nav_order: 9
7
+ ---
8
+ <!-- generated by selfdoc gen (strictcli), do not edit -->
9
+
10
+ # pixelweaver stop
11
+
12
+ Stop the running server
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: API Reference
3
+ description: "Complete auto-generated API reference index — browse all modules, classes, and functions with their signatures and docstrings."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 0
7
+ order: 90
8
+ ---
9
+ <!-- generated by selfdoc gen, do not edit -->
10
+
11
+ # API Reference
12
+
13
+ - [server.src.pixelweaver](server-src-pixelweaver.html)
14
+ - [server.src.pixelweaver.__main__](server-src-pixelweaver-__main__.html)
15
+ - [server.src.pixelweaver.autosave](server-src-pixelweaver-autosave.html)
16
+ - [server.src.pixelweaver.bridge](server-src-pixelweaver-bridge.html)
17
+ - [server.src.pixelweaver.cli](server-src-pixelweaver-cli.html)
18
+ - [server.src.pixelweaver.config](server-src-pixelweaver-config.html)
19
+ - [server.src.pixelweaver.connections](server-src-pixelweaver-connections.html)
20
+ - [server.src.pixelweaver.main](server-src-pixelweaver-main.html)
21
+ - [server.src.pixelweaver.mcp_bridge](server-src-pixelweaver-mcp_bridge.html)
22
+ - [server.src.pixelweaver.mcp_drawing_tools](server-src-pixelweaver-mcp_drawing_tools.html)
23
+ - [server.src.pixelweaver.mcp_export_tools](server-src-pixelweaver-mcp_export_tools.html)
24
+ - [server.src.pixelweaver.mcp_frame_tools](server-src-pixelweaver-mcp_frame_tools.html)
25
+ - [server.src.pixelweaver.mcp_history_tools](server-src-pixelweaver-mcp_history_tools.html)
26
+ - [server.src.pixelweaver.mcp_layer_tools](server-src-pixelweaver-mcp_layer_tools.html)
27
+ - [server.src.pixelweaver.mcp_lock](server-src-pixelweaver-mcp_lock.html)
28
+ - [server.src.pixelweaver.mcp_project_tools](server-src-pixelweaver-mcp_project_tools.html)
29
+ - [server.src.pixelweaver.mcp_read_tools](server-src-pixelweaver-mcp_read_tools.html)
30
+ - [server.src.pixelweaver.mcp_registry](server-src-pixelweaver-mcp_registry.html)
31
+ - [server.src.pixelweaver.mcp_resources](server-src-pixelweaver-mcp_resources.html)
32
+ - [server.src.pixelweaver.mcp_server](server-src-pixelweaver-mcp_server.html)
33
+ - [server.src.pixelweaver.protocol](server-src-pixelweaver-protocol.html)
34
+ - [server.src.pixelweaver.state](server-src-pixelweaver-state.html)
35
+ - [server.src.pixelweaver.storage](server-src-pixelweaver-storage.html)
36
+ - [server.src.pixelweaver.websocket](server-src-pixelweaver-websocket.html)
package/docs/index.md ADDED
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: PixelWeaver
3
+ description: "PixelWeaver -- collaborative pixel art editor with real-time multi-user drawing, native desktop mode via pywebview, and MCP tool integration."
4
+ date: 2026-05-25
5
+ ---
6
+
7
+ # PixelWeaver
8
+
9
+ Welcome to the PixelWeaver documentation.
10
+
11
+ ## API Reference
12
+
13
+ :-: ref path="pixelweaver"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.__main__
3
+ description: "Enable python -m pixelweaver."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 2
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.__main__
11
+
12
+ :-: ref path="server.src.pixelweaver.__main__"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.autosave
3
+ description: "Auto-save: periodic flush of in-memory state to disk."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 3
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.autosave
11
+
12
+ :-: ref path="server.src.pixelweaver.autosave"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.bridge
3
+ description: "Desktop file I/O bridge for pywebview."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 4
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.bridge
11
+
12
+ :-: ref path="server.src.pixelweaver.bridge"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.cli
3
+ description: "PixelWeaver CLI."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 5
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.cli
11
+
12
+ :-: ref path="server.src.pixelweaver.cli"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.config
3
+ description: "Process-wide configuration for PixelWeaver server."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 6
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.config
11
+
12
+ :-: ref path="server.src.pixelweaver.config"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.connections
3
+ description: "WebSocket connection manager for PixelWeaver."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 7
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.connections
11
+
12
+ :-: ref path="server.src.pixelweaver.connections"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.main
3
+ description: "wesktop application for PixelWeaver collaboration server."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 8
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.main
11
+
12
+ :-: ref path="server.src.pixelweaver.main"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_bridge
3
+ description: "MCP Bridge -- HTTP client that forwards MCP state to/from the collab server."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 9
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_bridge
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_bridge"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_drawing_tools
3
+ description: "Drawing tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 10
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_drawing_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_drawing_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_export_tools
3
+ description: "Export and curated high-level tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 11
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_export_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_export_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_frame_tools
3
+ description: "Frame tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 12
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_frame_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_frame_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_history_tools
3
+ description: "History tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 13
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_history_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_history_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_layer_tools
3
+ description: "Layer tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 14
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_layer_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_layer_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_lock
3
+ description: "Mutex for MCP command execution."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 15
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_lock
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_lock"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_project_tools
3
+ description: "Project and canvas tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 16
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_project_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_project_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_read_tools
3
+ description: "Read/introspection tools for MCP registry."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 17
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_read_tools
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_read_tools"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_registry
3
+ description: "MCP command registry for PixelWeaver."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 18
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_registry
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_registry"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_resources
3
+ description: "MCP resources for PixelWeaver."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 19
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_resources
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_resources"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.mcp_server
3
+ description: "MCP tool server for PixelWeaver."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 20
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.mcp_server
11
+
12
+ :-: ref path="server.src.pixelweaver.mcp_server"
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: server.src.pixelweaver.protocol
3
+ description: "Pydantic models for the PixelWeaver WebSocket JSON protocol."
4
+ generated: true
5
+ nav_group: "API Reference"
6
+ nav_order: 21
7
+ ---
8
+ <!-- generated by selfdoc gen, do not edit -->
9
+
10
+ # server.src.pixelweaver.protocol
11
+
12
+ :-: ref path="server.src.pixelweaver.protocol"