AstralView/README.md

2.9 KiB
Raw Blame History

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.4 via packageManager)

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 src live 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