Skip to content

Add pluggable storage, node tags, and HTML export#39

Open
antra-tess wants to merge 1 commit into
cosmicoptima:masterfrom
antra-tess:feature/storage-tags-export
Open

Add pluggable storage, node tags, and HTML export#39
antra-tess wants to merge 1 commit into
cosmicoptima:masterfrom
antra-tess:feature/storage-tags-export

Conversation

@antra-tess

Copy link
Copy Markdown

Summary

  • Pluggable storage abstraction with LoomStorage interface — LegacyStorage (existing monolithic data.json) and DocumentStorage (per-document .loom.json files alongside markdown). Includes migration tool with confirmation modal.
  • Node tag system replacing the bookmarked boolean with a flexible tags: string[] array. Ships with quick tags (fav, to_continue, private) with emoji indicators, tag-based filtering (+include -exclude syntax), and a favorites sidebar section. Legacy bookmarked nodes are auto-migrated to the fav tag.
  • HTML export producing self-contained interactive HTML files with two-panel layout, collapsible tree, node type indicators, tag color coding, and embedded metadata.
  • AWS Bedrock provider support.
  • Extended node metadata: nodeType, createdTimestamp, generationModel, generationParameters for tracking node provenance.
  • Developer mode setting for debug logging.

Test plan

  • Fresh install: verify plugin loads with default (legacy) storage
  • Create nodes, verify tags: [] instead of bookmarked: false
  • Toggle tags via right-click menu and hover buttons
  • Tag filtering: type +fav -private in filter bar
  • Enable document storage in settings, run migration, verify .loom.json files appear
  • Switch back to legacy storage and verify data preserved
  • Export HTML via command palette, verify interactive file opens in browser
  • Rename a markdown file with document storage enabled, verify .loom.json follows

🤖 Generated with Claude Code

Storage abstraction:
- LoomStorage interface with LegacyStorage (monolithic data.json) and
  DocumentStorage (per-document .loom.json files) implementations
- Migration tool to convert between storage modes
- DocumentStorage tracks version, timestamps, and handles renames

Node tags:
- Replace bookmarked boolean with flexible tags array
- Quick tags: fav, to_continue, private with emoji indicators
- Tag-based filtering with +include/-exclude syntax
- Favorites section in sidebar
- Automatic migration of legacy bookmarked nodes to fav tag

HTML export:
- Self-contained interactive HTML with two-panel layout
- Collapsible tree, node type indicators, tag color coding
- Embedded metadata: timestamps, generation model, parameters
- Path picker modal with relative/absolute path support

Also adds Bedrock provider, extended node metadata (nodeType,
createdTimestamp, generationModel, generationParameters), and
a developer mode setting for debug logging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant