SyncThinkDesignSTD

AAA³ · definition v0.3 · state as of October 2026

AAA³: three planes, one project

An architecture in which the human interface, the declarative representation and the execution engine can evolve without losing coherence over the same project.

Definition

AAA3 stands for AI-Addressable Application — Three-Plane Architecture. The three A's say that an artificial intelligence can operate the application end to end by writing a document; the 3 says how it is built to make that possible: in three planes that operate on the same project.

AAA3
The official, technical name. It is the one used in URLs, searches, code and documentation.
AAA³
Optional visual form, for titles and diagrams.
AI-Addressable Application
What the three A's mean: an application that can be operated by writing its document, without handling its interface.
Three-Plane Architecture
What the 3 means: a human plane, a declarative plane and an execution plane.

The definition is a proposal by Iván Braida in the context of SyncThinkDesign, developed technologically at Braidata. The meaning of the 3 was formalized on 28 October 2026; until then the term was used internally only as AI-Addressable Application. Formalizing it changes no existing JSON contract or identifier. AAA is not used as a name on its own.

The three planes

1 · Human plane
The visual interface through which a person creates, inspects and modifies the project.
2 · Declarative plane
The canonical JSON document: structured, versioned, validatable and readable by people as well as by programs and language models. It is the source of truth for the project's declarative state.
3 · Execution plane
The engine, runtime and APIs that interpret the document and produce actual behavior or results.
  1. Human planePerson → Interface → Validation
  2. Declarative planeExternal AI · Script → Validation → Canonical documentsame rules for everyone · source of truth · versioned
  3. Execution planeCanonical document → Engine · runtime · APIs → ResultsTransient state: not persisted without an explicit ruleResults → human or automated review → Validation
AAA³ — Human plane · Declarative plane · Execution planePerson → Interface → Validation → Canonical document. External AI, Script → Validation. Canonical document → Engine · runtime · APIs → Results. Engine · runtime · APIs ↔ Transient state. Results → human or automated review → Validation.1 · Human plane2 · Declarative plane3 · Execution planePersonExternal AIScriptInterfaceValidationsame rules for everyoneCanonical documentsource of truth · versionedEngine · runtime · APIsinterprets the documentTransient statenot persisted without an explicit ruleResultsand diagnosticseditswritesinterpretshuman or automated review
Figure 1. The three planes of AAA³ and the paths along which information flows. A person writes through the interface; an external AI or a script writes the document directly; in a conforming application, every write goes through the same validation (invariant IV, verified today in four of the six apps). The engine interprets the document, may keep transient state and produces results and diagnostics, which return to the document only through a review.

Three planes. One project.

An AAA3 application lets its three planes operate on a coherent representation of the same project. The canonical document is the source of truth for the declarative state; the interface lets people manipulate it and the engine interprets it in order to run it. The planes can evolve technically on their own —a new interface, a faster engine, a new version of the format— as long as they respect the same contract.

None of the planes needs an AI. A person can use the application without any; an external AI, any AI, can operate it by writing or modifying the document, without handling the interface visually and without the application depending on a built-in model. AI is one possible client of the declarative plane, not a component of the architecture.

Paths, not a sequence

The relations interface ↔ document ↔ engine are not a required chain. An AAA3 application supports, where relevant, these paths:

  • Person → interface → document.
  • External AI → document.
  • Script → document.
  • Document → engine → execution.
  • Engine → results and diagnostics.
  • Results → human or automated review → evolution of the document.

Declarative state and execution state

The results of a run are not automatically part of the document. The runtime may keep transient state —a camera position, a game in progress, an intermediate computation— that is not persisted. Whatever does need to go back into the document does so through explicit rules, with the same validation as any other write. Without this separation, running a project would silently modify it, and the document would stop being a readable, comparable description of what was decided.

Invariants

These six invariants say what an application must meet to count as AAA3, how each one is checked and where our ecosystem stands today. We distinguish what is implemented (with evidence that can be reviewed), what is partially verifiable and what is still an architectural goal.

AAA3 invariants. The last column summarizes the conformance matrix further down.
InvariantWhat it requiresHow it is checkedState in the ecosystem
I · CorrespondenceEvery authoring operation in the interface has a documented representation in the canonical model.A test that walks through the interface controls and checks that each one writes a field, and that every field either has a control or is declared as editable only in the document.Architectural goal. It is a written rule in SketchLab, Mapping Studio and Experience Creator; no application tests it automatically.
II · IndependenceNeither the document nor the engine requires an embedded AI to work.Review the runtime dependencies and use the full application with no AI provider configured.Implemented in all six applications reviewed. SketchLab has an AI integration, optional and switchable off.
III · InteroperabilityA valid specification can be imported and run through documented interfaces.Have someone outside the project produce a valid document and run it through the API or the command line, without using the interface.Implemented in the four providers (contract braidata.aaa3.*.v1) and in Experience Creator (command-line resolver). Partial in Stellar Map.
IV · ConsistencyModifying the project from the interface or from an external client follows the same validation rules.Check that the interface and external clients use the same validation code, and that the same document is accepted or rejected the same way along both paths.Implemented through shared code in Experience Creator, Scene Creator, SketchLab and FrameLab. Partial in Soundcrafter (two engines). Not verified in Stellar Map.
V · ReproducibilityThe conditions needed to reproduce a result can be identified: versions, resources, parameters and seeds where relevant.Record those conditions alongside the result and rerun to compare. It does not require absolute determinism where processes are not deterministic.Partially verifiable. Tested in SketchLab and FrameLab; partial elsewhere (see the matrix).
VI · PortabilityThe document can be moved between compatible instances, with its external dependencies declared.Export, import into another instance and compare; list what the document needs outside itself (assets, services, libraries).Partially verifiable. Lossless round trips are tested in SketchLab, Scene Creator and Stellar Map; external dependencies are only partly documented.

What AAA3 adds to an application with an interface and a backend

Almost any application has an interface, some data format and a server or an engine. Having all three does not make it AAA3. What sets the architecture apart are four guarantees a conventional application does not usually give, and the problems those guarantees solve. They are proposed invariants: the conformance matrix shows which ones each application meets today.

Additional guarantees of AAA3 compared with a conventional application with an interface and a backend.
GuaranteeIn a conventional applicationIn AAA3Problem it solves
The document is a public contractThe data model is internal —a database, an in-memory state— and changes without notice.The canonical document is documented, versioned and can be validated outside the application.Third parties, scripts or models can produce valid projects without access to the code.
Correspondence (I)Some operations exist only as clicks or as interface state.Every authoring operation has a field in the document.An AI does not have to handle the interface visually, with the fragility that implies.
A single validation (IV)The interface and the API validate separately and drift apart over time.The interface and external clients go through the same validator.A document accepted along one path is not rejected, or interpreted differently, along the other.
Separate statesWhat is decided and what the engine computes are mixed in the same storage.The runtime may hold transient state, but only explicit rules turn it into document.Running does not silently change the project, and the document stays readable and comparable.

None of these ideas is new on its own. Open document formats, infrastructure as code and local-first software already treat a declarative representation as the source of truth. What AAA3 proposes is to bring them together into an explicit set of invariants with a precise purpose: that an application can be operated end to end by a person, a script or any language model, without depending on a built-in model. Whether that is an architectural contribution or a useful synthesis of known ideas is for others to judge.

Conformance matrix

We reviewed the code and documentation of each application in the ecosystem. Yes means there is reviewable evidence: an automated test or shared code we checked. Partial means a written rule without a test, or evidence that covers only part. No means we found no evidence. Having an interface, a JSON file and an API is not enough to mark a plane or an invariant.

Audit of 2026-10-28 on commits 95c3ba8 (Experience Creator), 8bf81b8 (Scene Creator), 46bea25 (SketchLab), 3f0e5ea (FrameLab), 5a1be38 (Soundcrafter) and bcf2e55 (Stellar Map). Columns I to VI are the invariants.
ApplicationHumanDeclarativeExecutionIIIIIIIVVVI
Experience CreatorYesYesYesPartialYesYesYesPartialPartial
Scene CreatorYesYesYesPartialYesYesYesPartialPartial
SketchLabYesYesYesPartialYesYesYesYesPartial
FrameLabYesYesYesPartialYesYesYesYesPartial
SoundcrafterPartialYesYesNoYesYesPartialPartialPartial
Stellar MapYesYesPartialPartialYesPartialNoPartialPartial
Evidence and gaps per application. Contracts are listed as they exist; this definition does not modify them.
ApplicationContractMain evidenceMain gap
Experience Creatorexperiencecreator.project.v1Zod schema in @experience-creator/schema; the editor and the command-line resolver import the same @experience-creator/core; interface ↔ JSON parity is a written rule of the contract; editor state is not saved into the document.Parity has no automated test. Real-time capture is not reproducible frame by frame; offline export does aim to be.
Scene Creatorglbforge.scene v2.5The API uses the editor's normalizeDoc, kernel and exporter; the round trip cleanDoc → import → cleanDoc is idempotent; 14 tests cover the API and its use from Experience Creator.idb: references and local paths need the browser. Byte-for-byte reproducibility of the GLB is not documented.
SketchLabbraidata.sketchlab.v1 (and braidata.mappinglab.v2)Interface, command line, API and tests use lib/sketchlab/core.js; export → import → export is verified; the seed is tested end to end; the built-in AI is optional.sketch.html loads p5 from jsDelivr unless in offline mode; sketch.png needs Chromium on the server.
FrameLabproject type: "framelab", version 1.0The API runs, inside jsdom, the same validation and export modules as the browser, without reimplementing them; a test checks that the same request yields the same outputId.There is no written rule of interface ↔ document parity and no round-trip test of the project.
Soundcrafterbraidata.alsopack.v2API with 12 tests; requests are idempotent; the interface imports, validates, renders and exports the document.There are two engines with different validators —the browser one in JavaScript and the API one in Python— and we found no equivalence test. The interface does not edit the whole document.
Stellar Mapstarmap.v1Generated and tested JSON schema; export → import → export is stable byte for byte.It does not expose the braidata.aaa3.*.v1 contract. We did not verify that its maps API uses the same validator as the editor. Keeping the layout as transient state outside the document is proposed in its documentation, not implemented.
A5Aspiration

That conformance with the invariants can be checked with tests shared by every application, starting with correspondence (I) and consistency (IV), which are the hardest to demonstrate today.

Relation to SyncThinkDesign

AAA3 and SyncThinkDesign have independent identities. STD studies and proposes the continuous evolution of systems through synchronized processes that influence one another; AAA3 applies some of those principles to application architecture. Synchronization between the three planes lets authoring decisions, structured representation and system behavior feed back into one another, but the architecture does not on its own implement every principle of STD.

Nor do the three planes map one to one onto the four processes. Capture, Ideate, Execute and Optimize can happen on any plane: a person ideates in the interface, a model ideates by writing the document, the engine executes, a review optimizes. Forcing an equivalence would hide precisely what is interesting: that the processes cut across the planes.

Which SyncThinkDesign principles AAA3 materializes, what they need in addition and which remain outside it.
STD principleWhat AAA3 materializesWhat it also requiresState
F2 SynchronizationThe three planes act on the same project: a change in the document reaches the interface and the engine without waiting for a phase; across applications, a source change regenerates whatever consumes it (I5).Propagation mechanisms (M5) when several people or applications are involved.Partly materialized
F3 Organic, continuous evolutionThe document can change part by part and be regenerated without redoing the rest (I4).A document history to follow its evolution (M1).Partly materialized
F6 Continuous validationWhere invariant IV holds, every write goes through the same validator; today it is verified in four of the six apps.Criteria for what to check beyond form (M4).Materialized where IV holds
F12 Design as evolutionThe document declares explicitly what can change in the system.Deciding who can change what, and what is protected (M6).Partly materialized
F4 EmergenceExecution aims at reproducibility; if there is emergence, it happens in the authoring loop (Q6).Studying how documents evolve (Q1).Open
F8 Permanent captureAlmost nothing: AAA3 does not observe the world.Instrumenting the system's real use.Not covered
F9 and F10 Silos and mindsetNothing on its own.How work is organized, not architecture.Out of scope

The current ecosystem

Today the ecosystem has one orchestrator and several providers. The orchestrator is Experience Creator, published as Alterverse: an editor for interactive 3D experiences and audiovisual pieces. An Experience Creator project can declare the assets it needs —a world, a texture, an interface, a piece of music— as requests to other providers, each written in that provider's native format. A resolver, running in the editor or on the command line, produces them. Each application has its own three planes; the braidata.aaa3.*.v1 contract connects their execution planes.

AAA3Person · script · LLM → Canonical JSON document → Experience Creator (orchestrator) → SketchLab: sketch.html, sketch.png, sketch.validate; Scene Creator: scene.glb; FrameLab: ui.html; Soundcrafter: audio.render. input by sha256: SketchLab → Scene Creator.Person · script · LLMCanonical JSON documentexperiencecreator.project.v1 · assetRequests[]Experience Creatororchestrator · braidata.aaa3.request.v1Providers · braidata.aaa3.*.v1SketchLabsketch.htmlsketch.pngsketch.validateScene Creatorscene.glbFrameLabui.htmlSoundcrafteraudio.renderinput by sha256
Figure 2. Ecosystem topology in October 2026. Any author writes the document; Experience Creator resolves the requests against four providers that expose the same contract. The dashed line is a verified chain: SketchLab's output goes into Scene Creator as a texture.
Providers and operations according to each repository's documentation.
ProviderWhat it doesOperationsState
Scene Creator3D worlds from a scene document; exports GLB with a real kernel, without a browser.scene.glbWorks; accepts chained inputs (textures embedded in the GLB).
SketchLabGenerative p5.js sketches defined by braidata.sketchlab.v1, with parameters, seed and batches.sketch.html, sketch.png, sketch.validateWorks. sketch.png needs Chromium on the server; without it, it answers 501.
FrameLabHTML interfaces (HUDs, menus) with an export identical to the browser's.ui.htmlWorks; runs the real export modules inside jsdom.
SoundcrafterMusic from a braidata.alsopack.v2 project: WAV audio and a score.audio.renderWorks with limits: on stateless servers the render runs inside the request, up to 20 s of audio.

The contract between applications

I1Implementation

Every application in the ecosystem has a canonical, versioned JSON format. The rule that the interface only edits that document is written down in SketchLab, Mapping Studio and Experience Creator; in the others it can be observed in the code but is not documented as a rule.

I2Implementation

No application needs an AI model to work, neither at runtime nor in the format. Any model can write the document from outside (we call this BYO-AI: bring your own AI).

I3Implementation

Every provider exposes the braidata.aaa3.*.v1 contract under /api/aaa3: GET manifest (public), POST run, GET jobs/{requestId}, GET outputs/{outputId} and PUT inputs/{sha256} for chaining.

// request (abridged)
{
  "contract": "braidata.aaa3.request.v1",
  "requestId": "music",
  "operation": "audio.render",
  "spec": { /* the provider's native document, not reinterpreted */ },
  "inputs": [{ "name": "albedo", "sha256": "…", "mimeType": "image/png" }]
}

// result
{
  "contract": "braidata.aaa3.result.v1",
  "status": "succeeded",
  "diagnostics": [],
  "outputs": [{ "outputId": "<sha256>", "kind": "audio", "mimeType": "audio/wav", "url": "…" }]
}
Shape of the request and the result. Binaries travel by URL or by hash, never inside the JSON.
I4Implementation

Requests are idempotent. A request's identity is the hash of the provider, the operation, the specification, the parameters and the content of its inputs: asking for the same thing twice returns the same result without producing it again.

I5Implementation

Requests are chained by content. An input travels as a sha256; if the provider does not have it, it answers missing_inputs, the client uploads it and retries once. If a source asset changes, the hash of every request that consumes it changes and they are regenerated.

I6Implementation

Human approval is recorded as a pin on the approved hash. A pinned request is not regenerated, not even when execution is forced; if its specification changed, the resolver keeps what was approved and reports the difference. Only a person removes a pin. It is an AAA3 governance mechanism, not a principle of SyncThinkDesign.

I7Implementation

The applications aim at reproducibility (invariant V), not absolute determinism. In SketchLab, the seed controls randomSeed, noiseSeed and Math.random, and end-to-end tests check that the same document produces the same image; in FrameLab, a test checks that the same request produces the same result. Elsewhere, reproducibility is partial.

How it is built

A good share of AAA3's code is written with AI coding agents, under human direction and review; each repository's history records it commit by commit. We mention it because it is part of the experiment: if H5 is true, projects like this are where it should show first. Also because it leaves a question we still cannot answer well: how to attribute work fairly when part of it is produced by an agent.

What AAA3 does not solve

  • It does not capture signals from the world. Observations are still entered by hand.
  • Correspondence between interface and document (invariant I) is not tested automatically in any application.
  • Output stores are bounded memory on each provider; a fresh instance may have forgotten a result and the client has to ask again.
  • The repositories are private. This site documents the architecture and the contract so they can be discussed, but the code cannot be audited from outside yet.
A4Aspiration

To publish the AAA3 specification —the three planes, the invariants and the braidata.aaa3.*.v1 contract— as a standalone, versioned document, so that someone can build a conforming application without reading our code.

References

History

VersionDateChange
0.12026-10-27Description of the ecosystem as AI-Addressable Application: contract, providers and chaining.
0.22026-10-28AAA3 is presented as an implementation of SyncThinkDesign with an identity of its own.
0.32026-10-28Formal definition: AI-Addressable Application — Three-Plane Architecture. Three planes, six invariants with their state, guarantees compared with a conventional application and a conformance matrix of six applications. No changes to contracts or identifiers.