web based infinite canvas
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: summarize completed milestones

+17 -74
+17 -74
TODO.txt
··· 153 153 18. Milestone R: File Browser (web: Dexie inspector, desktop: FS) *wb-R* 154 154 ================================================================================ 155 155 156 - Goal: A unified "Open board" experience: 157 - - Web: browse Dexie-backed boards + a useful persistence/migration inspector 158 - - Desktop: browse real directories/files (native file browser semantics) 159 - 160 - -------------------------------------------------------------------------------- 161 - R1. Shared UX contracts 162 - -------------------------------------------------------------------------------- 163 - 164 - /packages/core/src/persist/DocRepo.ts: 165 - [x] Define DocRepo interface (web + desktop): 166 - - listBoards(): Promise<BoardMeta[]> 167 - - createBoard(name): Promise<string> 168 - - openBoard(id): Promise<void> 169 - - renameBoard(id, name): Promise<void> 170 - - deleteBoard(id): Promise<void> 171 - 172 - [x] Define FileBrowserViewModel: 173 - - query, filteredBoards, selectedId 174 - - actions: open/create/rename/delete 175 - 176 - (DoD): 177 - - Svelte UI can render the browser purely from the ViewModel. 178 - 179 - -------------------------------------------------------------------------------- 180 - R2. Web: Boards list + Dexie "Inspector" drawer 181 - -------------------------------------------------------------------------------- 182 - 183 - /apps/web/src/lib/filebrowser/FileBrowser.svelte: 184 - [x] Boards panel: 185 - - listBoards() -> render 186 - - search filter 187 - - open / create / rename / delete 188 - 189 - Inspector drawer (selected board): 190 - [x] Show "Storage" 191 - [x] Show schema info: 192 - - declared schema version 193 - - installed schema version 194 - [x] Show board-level stats (computed live): 195 - - row counts: pages/shapes/bindings for this board & doc size bytes for docs row 196 - - last updatedAt 197 - [x] Show migration info: 198 - - list applied migrations from migrations table (id + appliedAt) 199 - - show "pending" migrations if any (based on known list vs applied) 200 - 201 - Safe deletes: 202 - [x] deleteBoard must be a single atomic transaction (boards + related tables) 203 - 204 - (DoD): 205 - - Web: you can browse boards, open one, and verify migrations + row counts. 206 - 207 - -------------------------------------------------------------------------------- 208 - R3. Desktop: real directory + files (Tauri) 209 - -------------------------------------------------------------------------------- 210 - 211 - [x] Add "Workspace folder" concept: 212 - - pick directory 213 - - remember last workspace path 214 - [x] Implement directory listing: 215 - - show *.inkfinite.json files in workspace 216 - - tree view with folders 217 - [x] Implement file actions: 218 - - [x] New: create new file 219 - - [x] Rename: rename file (Tauri command needed) 220 - - [x] Delete: delete file (Tauri command needed) 221 - - [x] Open: load file into editor 222 - - [x] Export: save JSON 223 - 224 - (DoD): 225 - - Desktop: pick a folder, browse files, open/save boards from disk. 156 + The shared file browser now offers Dexie-backed search + inspector tooling on 157 + web and full workspace navigation on desktop, all driven by the view model 158 + contracts. 226 159 227 160 -------------------------------------------------------------------------------- 228 161 R4. Parity behaviors ··· 242 175 ================================================================================ 243 176 244 177 Comprehensive UX polish adds BEM CSS, space-drag panning, richer keyboard 245 - affordances, improved accessibility and styling, refined snapping, and handles 246 - so drawing feels production-ready. 178 + affordances, improved accessibility and styling, refined snapping, and handles. 247 179 248 180 ================================================================================ 249 181 20. Milestone T: Sketching / Pen Tool (perfect-freehand) *wb-T* 250 182 ================================================================================ 251 183 252 - Perfect-freehand pen strokes now behave like first-class shapes with frame-coalesced drafting, geometry/rendering integration, brush controls, and thorough tests across core and web layers. 184 + Perfect-freehand pen strokes now behave like first-class shapes with frame 185 + coalesced drafting, geometry/rendering integration, and brush controls. 186 + 187 + ================================================================================ 188 + Parking Lot *wb-pl* 189 + ================================================================================ 190 + 191 + - [ ] Opacity for shapes 192 + - expose fill/stroke opacity controls so translucent layering is possible 193 + without exporting. 194 + - [ ] Snapping/binding for arrows 195 + - extend the binding system to keep arrow endpoints magnetized to shapes 196 + even when snapping/grid options are enabled. 253 197 254 198 ================================================================================ 255 199 References (URLs) *wb-refs* ··· 271 215 272 216 Perfect Freehand 273 217 - https://github.com/steveruizok/perfect-freehand 274 - - (Options) https://github.com/steveruizok/perfect-freehand/blob/main/packages/perfect-freehand/src/types.ts