Looma is an experimental Electron app for arranging photos, videos, audio, and memory/event relationships on an infinite canvas.
This repository is intended as a developer handoff build. The core product direction is working, but the installer/uninstaller flow and large-canvas performance still need engineering review.
- Project home screen with editable project cards
- Infinite canvas for arranging media nodes
- Photo, video, and audio import
- Relationship lines between nodes
- Collections and event grouping
- Spacebar preview mode
- Minimap and guide lines
- Local
.loomaproject references with save and save-as support
- Electron
- React
- TypeScript
- Vite / electron-vite
- sql.js
- Zustand
- Lucide icons
Install dependencies:
npm installRun in development:
npm run devType-check and build:
npm run buildRun the built app locally:
npm run startRun the lightweight code-health check:
npm run check:healthBy default, Looma stores local workspace data in:
Documents/Looma
Saved .looma files are lightweight JSON references to the local workspace project path. They are not currently portable bundles containing all media.
The standard Electron Builder command is:
npm run dist:winIn restricted/offline environments, Electron Builder may fail while downloading NSIS or signing helper binaries. A local self-extracting installer experiment exists in:
scripts/build-sfx-installer.ps1
scripts/LoomaInstaller.cs
This installer path needs review before production use.
See docs/KNOWN_ISSUES.md.
No license has been selected yet. Add a license before publishing publicly.