RelGeo

RelGeo is a DSL and toolchain for relation-first declarative vector drawings.

To understand the project quickly, use this short reading order:

  1. understand the product position and general philosophy
  2. read Current Capabilities to see what is already real today
  3. choose the usage surface closest to your need: CLI, Playground, or Desktop App
  4. read Markdown Surfaces to understand the difference between rg and relgeo
  5. read Language Status to understand the current id vs en boundary
  6. open the language-spec when you want the active normative contract

Try the Main Workflow

To try the primary local authoring loop, run this from the integration workspace root:

pnpm install
pnpm --dir ../playground dev

Then use this sequence in the Playground:

  1. choose 01. Fundamentals
  2. edit the source in the editor
  3. wait for READY after the source resolves
  4. read the result in the live preview
  5. open Inspector or Layers to inspect geometry and dependencies

The Playground is a local browser IDE and is also available as a hosted public surface at relgeo.github.io/playground. Use the local workspace for development and the hosted surface for a quick try without installing the repository.

If you only need a terminal workflow, use:

pnpm --dir ../cli exec tsx src/index.ts check ../playground/src/assets/examples/basics/01_fundamentals.yaml
pnpm --dir ../cli exec tsx src/index.ts compile ../playground/src/assets/examples/basics/01_fundamentals.yaml -f svg

For the Markdown path, continue to Markdown Surfaces. The rg fence displays source, while the relgeo fence displays the rendered preview.

The rg block is meant for RelGeo source that should remain readable:

version: 0.5
metaPresets:
  plate:
    fill: "#e2e8f0"
    stroke: "#64748b"
objects:
  panel:
    type: rect
    size: [80, 40]
    place:
      topLeft: [0, 0]
    metaPreset: plate
    holes:
      - circle:
          center: panel.center
          radius: 10

The relgeo block is meant for preview or embed:

Rendered RelGeo preview

Related

Why RelGeo

Use this when you want to read the problem framing and product intent first.

Next Reading

Language Status

Continue to the next guide in the documentation layer.