Skip to content

Desuq Cafe

Documentation menu

Why It’s Fast

Loom sends GPU-ready bytes and only what changed. Nothing is serialized to text or written to disk on the sync path.

Loom vs. a conventional bridge

ConcernConventional JSON / relay bridgeLoom
Serializationnumpy to list to JSONnumpy.tobytes() (binary, zero parse)
Sent per editthe whole scene, every objectonly dirty objects
Moving an objectfull re-serializea 40-byte transform packet
Animation or sculptfull re-serializea positions-only stream
Duplicates and instancesgeometry per copyone shared mesh plus a transform each
Persistenceevery frame to a databasenone on the sync path, bake on demand
Main threadblocks on the networksocket I/O on a worker thread
HopsBlender, server, engineBlender, engine

The four ideas

  • Direct binary link. Raw float32 and uint32 buffers go straight from Blender’s numpy into the engine mesh. No JSON, no relay, no disk.
  • Only what changed. Moving an object sends a 40-byte transform packet. Sculpting and animating stream positions only, never the whole scene. New or topology-changed meshes are the only full uploads.
  • Non-blocking. Network I/O runs on a worker thread, so neither editor stutters. Under load, superseded live frames coalesce so nothing piles up.
  • Self-healing. It survives editor script recompiles and disconnects, and reconnecting re-syncs the whole scene. Mesh, material and removal updates are delivered reliably.

Pixel-faithful, provably

Breadth only matters if the result is correct. Loom is built so the look matches and stays matched.

  • Ported from source, not eyeballed. The procedural textures (Noise, Voronoi) and all 19 Mix blend modes are translated from Blender 5.1’s own shader source, down to the exact Perlin and PCG hash functions. A generated URP shader reproduces Blender’s look rather than approximating it.
  • One wire, three implementations, proven byte-identical. The Python producer and the C# and C++ consumers are checked against the same golden wire-byte fixtures, so the protocol framing and coordinate math are provably compatible across all three languages.
  • Tested end to end, editors closed. Headless Blender and headless Unity suites drive the real serialize, socket, rebuild and bake path in CI, including a full .blend to .prefab build with no editor windows open.