musealpha / docs /ARCHITECTURE_PIVOT.md
asdf98's picture
Upload 112 files
3d7d9b5 verified

Browser-First Era Archive

This document marks the architectural pivot from browser-first (Muse Alpha v0.2) to board-first (RefStudio v1.0).

What was the browser-first approach?

  • Main workspace was a web browser with tabs
  • Sidebar navigation between Home/Browser/Library/Board/Settings views
  • Board was a secondary view accessed from the sidebar
  • Image hover overlay injected into browser tabs for saving references
  • Ad-blocking engine for browsing comfort

Why the pivot?

The core use case is reference organization, not web browsing. Artists need:

  • An infinite canvas as the PRIMARY workspace (like PureRef)
  • Browser as a TOOL (embedded panel) to find references, not the main UI
  • Zero-friction image capture from browser → canvas
  • Always-on-top mode for overlaying references while working in art apps
  • Click-through transparency for tracing

What's preserved from browser-first era?

  • Rust adblock engine (adblock/ module)
  • Tauri child webview architecture for embedded browser
  • Image download + library persistence (library.rs, persistence.rs)
  • Board item CRUD (board.rs)
  • SQLite migrations
  • Credentials/stronghold setup

New architecture (board-first / RefStudio)

  • Infinite canvas is the main and only workspace
  • Browser panel slides in from the right as a capture tool
  • Library panel slides in from the left for asset management
  • Three.js GPU-accelerated image rendering with shaders
  • Annotations (freehand drawing) directly on canvas
  • Text notes with rich formatting
  • Image cropping, flipping, grouping, desaturate
  • Minimap for navigation
  • StarterHub for project management
  • Always-on-top + click-through + opacity control

Files archived

The previous artifacts/musealpha-production.zip contains the browser-first build. The ui-prototype/ directory contains the browser-first prototype. The source in src/ and src-tauri/ is now being replaced with the board-first architecture from uiprototype2/.