Skip to content

Getting Started ​

Aspect is a card-based identity exploration sandbox.

Running ​

bash
bun install
bun run dev

Open localhost:3000. You'll see a single card on an infinite canvas.

Interacting ​

Click any card to select it. The current card is highlighted with a blue border. Click empty space or press Escape to deselect. Edges connect to other cards — the graph of connections is the world you move through.

Edit ​

Double-click a card to edit its text inline. Press Enter to commit, Escape to cancel. Shift+Enter for newlines.

Create ​

Double-click empty space to create a new card. It will be connected to the current card by an edge and immediately open for editing.

Move ​

Drag a card to reposition it on the canvas. Drag empty space to pan. Scroll to zoom.

Delete ​

Press Backspace or Delete to remove the selected card (and its edges). You can also right-click a card for a context menu with Delete.

Command Palette ​

Press Ctrl+K (Cmd+K on Mac) to open the command palette. Search and execute any command.

Keybind Cheatsheet ​

Hold the Control key to see all available keyboard shortcuts.

Persistence & Multiplayer ​

All data is saved locally via IndexedDB (Y.js CRDT). Refresh the page and your cards are still there. Aspect works offline as an installable PWA.

To share a world, open /room/<name> — anyone with the same URL syncs in real time. Undo/redo works independently per client.

Core Concepts ​

Cards ​

A card is the fundamental unit. It has content — text that describes what it is. A card might be a place, a trait, a memory, an object, or anything else.

Edges ​

Cards connect to other cards through directional edges. Edges form the graph you navigate. When you create a new card, it gets an edge from the current card.

The Graph ​

There is no separate map or index. The structure of the world is the graph of cards and edges. You explore it by navigating, and reshape it by editing.

Philosophy ​

Aspect is like a MOO, but the primitives are navigate and edit — not script. You don't program the world. You move through it and reshape it.

See Philosophy for the full design rationale.

Two Views ​

The graph editor is builder mode — you see and manipulate the raw structure of cards and edges directly.

The projection view renders the same graph as place: your current card as a location, outgoing edges grouped into named panels (exits, inventory, etc.), and available affordances derived from the active world pack. Switch between views with the tab bar. See Projection and the architecture overview for details.

Released under the MIT License.