Deep SIML Labs / StudioInvited beta

Keep the meaning.
Move fewer bytes.

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

YOUR ENUMSREVIEWPACKED CODEMEASURE

Why compact data matters

Spend less on
moving the same meaning.

Repeated states and commands often need only a few bits. Carrying them in larger representations can mean more memory traffic, storage and network transfer.

01 / The opportunity

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.

02 / The practical benefit

Less integration work.

Start from enum declarations in your own language. Get explicit encode/decode functions, a reviewable patch and a documented wire contract in one bundle.

03 / The evidence

Prove it on your system.

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

Why fewer bytes.
How to get there.

See the energy opportunity, the enum review and the code you take back to your project.

Why fewer bytes · Your enums to packed code · A short guided tourRead the transcript ↗

One connected workflow

Your code in.
Packed code out.

01 / Drop

Start with code you already have.

Upload or drag in an enum-only Rust, Python or C++ source file. Parsing and code generation run locally in your browser.

02 / Review

Keep the meaning explicit.

Confirm the complete enum domains and review each packed code. Original enum values stay unchanged; the new wire mapping is separate.

03 / Build

Stay in your language.

Download modified source with a packed codec, plus the original, patch, manifest and reference vectors. No language switch or third-party runtime.

04 / Measure

Verify the benefit.

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

Same enum.
Smaller wire code.

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++

State.Runningnative value 4 → code 1
Command.Stopnative value 30 → code 2
Verified packed payload09 · 1 byte

Two enum fields · two bits each · zero padding in the high four bits · no frame header included. Original enum declarations are preserved.

Small by construction

Only the bits
your values need.

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 bytes
7 states0–10235 commands
holding · 513 · reset0a70Exact roundtrip ✓
Stable category codes and explicit ranges. The frame header is separate from this payload.

Understand the tradeoff

Smaller payloads.
The whole picture.

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

See where the bytes go.

Calculated · actuator example
Packed112 bytes total

64 payload bytes + 48 header bytes

Aligned176 bytes total

128 payload bytes + 48 header bytes

Frame header Record payload

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

Bring a message worth understanding.

01 / Device messages

Control and telemetry

Explore bounded sensor values, actuator states and command messages with the included actuator example.

02 / Simulation data

Structured state exchange

Inspect a synthetic DIS/HLA-style example. It illustrates layout choices; it is not a compliance-certified implementation.

03 / Integration work

A format you can explain

Share an exported schema and generated codec. Use project history and scoped agent access when cloud storage is configured.

Your first five minutes

Drop a file.
Build with the result.

  1. Sign in with your invited email address.
  2. Drop an enum-only .rs, .py or C++ source file, or try a built-in example.
  3. Review the complete domains, original values and packed codes. Approve the mapping.
  4. Download modified source and the bundle, then integrate and test both endpoints.

Less movement. A clearer path to integration.

Build the smaller
message.