Appearance
Library of smart objects
i want a decent UX for a library of SO files in D_Library.svelte
Remaining work
- library -- save to local storage, export to fs
Done
- 2 new buttons below list (adding to import, reinstall)
- replace -- loads selected library item as new scene
- insert -- adds selected item as child of selected SO (or root)
- writes .s and .l formulas on the two non-forward axes
- click selects row, buttons act on selection
- add child -> disaster
- move reset button -> D_Library
- move library up -> between preferences and selection
- add reset button to bottom row of library -> delete all and restore from src/assets
- open library -> 1/2 second hesitation (unnecessary! file io?)
- replace hr in library with separator
- remove translate all button
- detect file hierarchy
- all name references -> search recursively (glob changed to **/*.di, names preserve folder path)
- remove list indentation
- create a segmented control (each folder = segment)
- only list files in the chosen segment's folder
- list indented by folder
- folder name has same collapse-toggle triangle as parts
- decide where the files are stored/uploadable from
- bundled defaults ship in
src/assets/*.divia glob import - user-created files stored in IndexedDB (keyed by name)
- library panel merges both sources (user files override bundled with same name)
+ librarysaves to IDB + anchor-downloads to disk (durable backup)exportanchor-downloads only (no IDB save)
- bundled defaults ship in
- scan the files there, create list of clickable items (table with two columns)
- name
- size
- click -> replaces existing graph with SO from file clicked on
- OPTION-click -> inserts SO as child of selected SO
- ability to clear current SO (repurpose reset button -> erase all children)
- ability to add current root SO -> library (IDB + download)
- library panel reads from bundled glob + IDB
- removed export button (redundant with save)
- moved clear to D_Selection as "delete all children", disabled when selected SO has no children
- moved show/hide back to name-row
- add child pushed to far right of actions-row
- unified slot padding to 8px, all vertical gaps to 8px
- disabled cells use accent color
- reset preferences button (clears localStorage except scene/library, reloads)