Potential energy savings.
Where data movement dominates, moving fewer bytes could produce significant energy savings. The opportunity grows with repeated traffic and storage at scale.
Less data to move and store creates an opportunity for lower energy use. Studio turns your existing enums into compact, verifiable payloads and code you can build with.
Rust · Python · C++ · Email sign-in · Invited beta
Why compact data matters
Repeated states and commands often need only a few bits. Carrying them in larger representations can mean more memory traffic, storage and network transfer.
Where data movement dominates, moving fewer bytes could produce significant energy savings. The opportunity grows with repeated traffic and storage at scale.
Start from enum declarations in your own language. Get explicit encode/decode functions, a reviewable patch and a documented wire contract in one bundle.
Studio verifies bytes and roundtrips. It does not measure joules. Include codec work, framing and hardware behavior when measuring the net energy result.
The US Department of Energy's computing roadmap identifies data movement as an energy-efficiency challenge. This motivates the work; it is not a measurement of Studio's savings.
Watch it work
See the energy opportunity, the enum review and the code you take back to your project.
One connected workflow
Upload or drag in an enum-only Rust, Python or C++ source file. Parsing and code generation run locally in your browser.
Confirm the complete enum domains and review each packed code. Original enum values stay unchanged; the new wire mapping is separate.
Download modified source with a packed codec, plus the original, patch, manifest and reference vectors. No language switch or third-party runtime.
Inspect actual bytes and benchmark layouts. Then measure total energy on your target hardware, including the cost of encoding and decoding.
Preserve the original values
A state with three members needs two bits on the wire, even if its declared values are 0, 4 and 255. Studio keeps those values in your source and maps them explicitly to packed codes 0, 1 and 2.
The native example combines one state and one command. Four logical bits fit into a one-byte payload, versus two bytes for the same fields in Studio's byte-aligned layout.
Integrate the new codec at both endpoints. This does not automatically change enum memory layout or rewrite your application.
RUST / PYTHON / C++
native value 4 → code 1native value 30 → code 209 · 1 byteTwo enum fields · two bits each · zero padding in the high four bits · no frame header included. Original enum declarations are preserved.
Small by construction
Seven states need three bits. A position from zero to 1023 needs ten. Five commands need three more. Together, that is sixteen bits, with no loss of meaning.
Studio makes these choices explicit and keeps category codes stable as you work.
Explore the size comparison ↓A real 16-bit schema
2 payload bytesholding · 513 · reset0a70Exact roundtrip ✓Understand the tradeoff
Compact messages can reduce storage and transfer volume. Frame overhead matters too, especially for a single record. This chart compares byte counts, not energy savings.
Drag the slider to compare the same actuator records. Then use the workspace benchmark to measure processing time on your own device.
Wire size, made visible
64 payload bytes + 48 header bytes
128 payload bytes + 48 header bytes
The same values, with different layouts. One frame holds 32 records. Payload: 2 bytes packed or 4 aligned per record. This is a size calculation, not a CPU benchmark.
Built for exploration
Explore bounded sensor values, actuator states and command messages with the included actuator example.
Inspect a synthetic DIS/HLA-style example. It illustrates layout choices; it is not a compliance-certified implementation.
Share an exported schema and generated codec. Use project history and scoped agent access when cloud storage is configured.
Your first five minutes
Less movement. A clearer path to integration.