1.8 KiB
Tessera
Tessera is a clean desktop rendering host. It starts with an empty page. Coding agents submit source code to a namespace through a local CRUD API; Tessera parses that code, builds its architecture tree, compiles it to drawing commands, and renders the result.
Start
cargo run --release
Tessera listens only on 127.0.0.1:4737.
Start every agent integration by reading the live Markdown guide:
curl http://127.0.0.1:4737/agent
Namespace code API
The initial active namespace is app.main. Tessera has no file concept.
GET /v1/namespaces/app.main/code
PUT /v1/namespaces/app.main/code
DELETE /v1/namespaces/app.main/code
Submit code as plain text:
curl \
--request PUT \
--header 'Content-Type: text/plain; charset=utf-8' \
--data-binary @- \
http://127.0.0.1:4737/v1/namespaces/app.main/code <<'TESSERA'
namespace app.main
use tessera.ui::{Column, Text}
export scene Main {
render {
Column(gap: 12, padding: 24) {
Text("Hello", role: .title)
Text("Rendered by Tessera")
}
}
}
TESSERA
Updates are atomic. Invalid code returns diagnostics with HTTP 422 and preserves the last successfully rendered revision.
Developer tools
The developer sidebar is closed by default.
- macOS:
Command-Option-IorF12 - Windows/Linux:
Control-Shift-IorF12
The upper section displays the compiler-produced architecture tree. Selecting a node shows the corresponding source range below it.
Current syntax experiment
The first parser intentionally supports only enough syntax to test the architecture:
namespace- namespace-only
use - one
export scene - one
renderroot Column,Row,Spacer, andTextgap,padding, and.title
There are no files, HTML, CSS, JavaScript, DOM, or resource-network concepts in the runtime.