Composing systems across runtimes

TTX is a library for composing independently developed systems regardless of their backing runtime. A system exposes capabilities under the policies that govern their use. Other systems negotiate the interfaces they need without adopting its internal object model.

These interfaces can lead to related interfaces supplied by other systems, forming a semantic graph across providers. The Godot lab uses that composition to connect C++, GDScript and CUDA image providers in one scene. Tetrodotoxin's language tooling applies the same model to source and execution services.

Image rendering through C++, GDScript and CUDA

Try convolution and composition in the browser, or run the native project with CUDA. The scene discovers each renderer's operations and shows which requests it accepts.

The browser lab displays matching C++ and GDScript images, with CUDA shown as unavailable.
The browser build compares C++ and GDScript results. CUDA is available in the native download. Timings include each provider's algorithm and the work requested in this run.

Move the overlay and the scene reuses the filtered background. The lab walkthrough follows that update through the image graph and checks which pixels have to move between the CPU and GPU.

Follow that request through the lab or read the transfer and correctness checks.

From data forms to a semantic graph

A provider can offer an operation, set conditions on its use and expose further relationships through the same abstract interface. Each domain defines the contracts it needs. TTX supplies the data forms, negotiation and graph access used to compose them.

Data

Data describes the bytes and callables exchanged at an interface. It compiles those descriptions into canonical representations and supplies access protocols.

Semantics

Semantics negotiates contracts and their representations, connecting an agreed behavior to an interface that can perform the work.

Concepts

Concepts exposes abstract interfaces and their relationships as a queryable graph. Each interface can offer further policies and capabilities.

Languages and compiler services

Puffer hosts the source toolchain and editor requests. Dialects interpret source and expose models that terminals use to produce code or other outputs.