rplib editor — docs

Reference for users of the diagram editor app. Pulled from DSL.md and the in-app overlay.

1. Navigation & interaction

2. DSL basics

Abstracts stitch existing components together. You'll typically author abstracts; components are the reusable building blocks.

myArchitecture:
    componentA
    componentB:
        slotClass: alternativeComponent
    properties:
        modelName: GPT
    references:
        "Some paper":
            authors:
                Name
            info: "short description"
            refType: Paper
            link: https://example.com

Naming rules

3. Text property replacement

Inside any text or info string in a component, use:

{{propertyName|defaultValue}}

The value comes from the abstract's properties: block. If the abstract omits it, the defaultValue after | is used.

# component
text: "{{modelName|Model}} layer"

# abstract
properties:
    modelName: GPT

# renders as
GPT layer

The default value is plain text — no surrounding quotes.

Note: a component's settings array (which generates per-view toggles) is a different mechanism than abstract properties:. Settings toggle visibility based on a property flag on subitems; properties substitute text. Don't conflate the two.

4. References & info panel

The sidebar reacts to hover / click on diagram items: #info shows the item's description and #references lists its linked sources.

info, references, and details can be set at the component level (as a default for everything inside) or overridden per-item, per-text, or per-arrow.

5. Edit mode

6. Full DSL reference

The complete property list (all optional fields on components, references schema, settings schema, arrow/positioning rules) lives in DSL.md.