Ideon Logo
Ideon
GitHub

Workspace & Projects

Ideon organizes your work into Projects. There is no rigid "Workspace" entity; instead, your personal workspace is simply the collection of all projects you own or have been invited to.

Projects

A Project is the fundamental container for your work. Each project consists of:

  • Metadata: Name, description, and "last opened" timestamp.
  • The Graph: A collection of Blocks and Links (the content).
  • Access Control: A list of collaborators with specific roles (owner, editor, viewer).
  • History: A timeline of changes (Undo/Redo stack) and manual snapshots.
  • Files: A dedicated storage folder for assets uploaded to the project.

Creating Projects

You can create an unlimited number of projects. By default, a new project is private and only accessible to you.

The Canvas

The Canvas is the visual interface for a project. It is an infinite, 2D plane where you organize information spatially.

Key Characteristics

  • Spatial Organization: Unlike linear documents, the canvas allows you to group related information by proximity.
  • Zoom & Pan: Navigate from a high-level overview to detailed notes seamlessly.
  • Multi-User: Multiple users can interact with the same canvas simultaneously. You will see their cursors and updates in real-time.

Collaboration Model

Ideon uses a shared-nothing architecture by default for privacy, but enables seamless collaboration when needed.

  • Invitations: You can invite other users to your project via email.
  • Roles:
    • Owner: Full control, including deleting the project and managing access.
    • Editor: Can modify the canvas (add/move/edit blocks) but cannot delete the project.
    • Viewer: Read-only access to the canvas.

Data Consistency

Ideon uses CRDTs (Conflict-free Replicated Data Types) to ensure that all changes are merged deterministically, even if users make changes offline or simultaneously. This means you never have to worry about "save conflicts" or overwriting someone else's work.