Runtime schema
ODEvice sends a renderer-neutral schema from the Python runtime to the shared Web and Mobile clients.
Principles
- Stable IDs identify entities, properties, pages, sections, and widgets.
- Semantic types express meaning, not framework components.
- Presentation hints remain renderer-safe; they never include pixel or icon-library implementation details.
- Developer defaults are kept separate from per-user layout overlays.
Simplified example
json
{
"id": "reports",
"title": "Reports",
"sections": [
{
"id": "reports-s0",
"title": "Pump performance",
"items": [
{
"id": "reports-s0-pump-01-pressure",
"entity": "pump-01",
"property": "pressure"
}
]
}
]
}The renderer chooses the exact component and spacing from its local design system. Read Presentation and Pages & sections for the full contract.