2.9 KiB
2.9 KiB
AstralView — Runnable BI Dashboard Editor (goView-like)
This repo contains a runnable BI dashboard screen editor (AstralView) built as a simple product you can run locally and build as static assets.
A) Runnable dev demo (local editor)
Prerequisites
- Node.js (recommended: the version used in this workspace)
- pnpm (repo pins
pnpm@9.15.4viapackageManager)
Install
pnpm install
Run the editor (dev)
pnpm --filter @astralview/editor dev
Then open the URL printed by Vite (typically http://localhost:5173).
What you should see
- A default demo BI screen.
- Default screen size: 1920×1080.
- You can select widgets, multi-select, move/resize, reorder layers, and edit properties in the inspector.
B) Publishable build artifact (build output + how to preview/serve)
Build
pnpm --filter @astralview/editor build
Build output:
packages/editor/dist/(static assets)
Preview the production build locally
pnpm --filter @astralview/editor preview
Serve in production
Serve the packages/editor/dist/ folder with any static file server (Nginx, Caddy, Vercel static, etc.).
Example:
pnpm --filter @astralview/editor build
npx serve packages/editor/dist
Data format (import/export)
- Export: editor exports the AstralView Screen JSON (includes
width/height, nodes, etc.). - Import:
- AstralView Screen JSON is validated/sanitized via schema migration.
- goView-like exports are also supported via conversion.
- Default canvas size is 1920×1080, and import/export preserves screen
width/height.
C) Acceptance checklist (goView-like UX) — status
Canvas defaults
- Default screen/canvas size is 1920×1080.
- Import/export preserves
width/height(AstralView Screen JSON). - goView conversion uses 1920×1080 fallbacks when width/height are missing.
Core editor workflows
- Selection
- Right-click selects item (goView-ish)
- Right-click on empty space does not clear selection
- Multi-select transform
- Move
- Group bounding-box resize
- Layers panel
- Reorder (drag)
- Lock / hide
- Context menu
- Copy / paste
- Z-index actions
- Align / distribute
- Hotkeys parity (baseline)
- Inspector
- X / Y / W / H
- Media
srclive update (image/iframe/video)
Polish & stability
- Bounds clamp (keep widgets within the screen bounds)
- Min sizes (rect min=1; resize logic enforces sane bounds)
- Avoid stuck context menus (close on normal interactions)
- Audit for no-op clickable actions (continue tightening UX)
“Feels usable”
- Minimal sample BI screen is included by default (demo widgets preloaded).
Repo quality gates
Before pushing changes, keep these green:
pnpm -r lint && pnpm -r typecheck && pnpm -r build