Skip to content

The Puzzle Model

How individual Sigils compose into larger logical structures.

Proposed

Every Sigil is a piece of something greater. The puzzle model is the principle that shapes how Saelis represents composition: small, well-defined pieces that connect through explicit interfaces to form larger structures.

Composition at a glance

Hover over the diagram, or use the Assemble control, to see three independent Sigils resolve into a single assembly.

Sigil A + Sigil B + Sigil C → Assembly
Sigil ARoot pieceUnresolved
Sigil BConnecting pieceUnresolved
Sigil CTerminal pieceUnresolved
Separated: three independent Sigils. This illustrates logical composition as an indexer would reconstruct it. It does not depict deployed onchain functionality.

How pieces connect

In a physical puzzle, a piece's tabs and blanks determine where it fits. In Saelis, the equivalent is a reference: a declaration in one Sigil that it relates to another.

In the diagram, Sigil B references Sigil A, and Sigil C references Sigil B. None of them changes after publication. The connection exists because later pieces declare it, and an indexer that follows those declarations can reconstruct the whole.

Draft Example — Not Finalized

JSON
{
  "p": "saelis",
  "v": 0,
  "meta": { "name": "Piece B" },
  "refs": [
    { "rel": "follows", "id": "0x3f…a1" }
  ],
  "body": {}
}

Properties of the model

  • Pieces are independent. Each Sigil is valid or invalid on its own merits. An assembly does not make an invalid piece valid.
  • Connections are declared, not inferred. Two Sigils are related only if one explicitly references the other. Indexers do not guess relationships from metadata.
  • Order matters. A reference can only point to a Sigil that already exists at an earlier position. This prevents cycles and keeps reconstruction deterministic.
  • Structures grow. New pieces can attach to an existing structure at any time, by any author, unless a standard restricts who may contribute.

What the diagram represents

The animation illustrates logical composition: how an indexer would interpret a set of related Sigils. It is not a depiction of deployed onchain functionality. No Saelis indexer or contract currently performs this reconstruction.

Open questions

  • The vocabulary of relation types, and whether standards may define their own.
  • Whether a reference to an invalid Sigil invalidates the referencing Sigil or is simply unresolved.
  • Whether a standard may restrict which accounts can attach pieces to a structure.
  • Maximum reference count per Sigil.