Skip to content
Bartosz BąkLinks
Platform2023—now

Zafiro

A browser-based 3D platform and engine for building immersive, art-directed worlds.

Explore Zafiro through Isle Lab
Status
Active platform
Role
Concept, platform architecture, product design, visual direction and implementation.
Core stack
React · JavaScript · Three.js · WebGL · ZafiroUI
Period
2023—now
A product launcher showing Isle Lab, Garden Planner and a future Shipwreck entry
Independent product entrypoints sit above reusable platform contracts and should not import one another.
Isle Lab asset and publishing controls over a world running on Zafiro
A product-owned workflow consumes shared runtime, scene and publishing capabilities without becoming Zafiro itself.
An explorable woodland environment rendered in Zafiro
Runtime output

Context

Zafiro is the reusable engine stack and runtime foundation behind independent browser products. It defines shared layers and contracts while leaving each product responsible for its own entrypoints, workflows, UI and policy.

A shared runtime platform that supports several independent products with their own entrypoints, interfaces and policies while reusing rendering, capabilities, world shells and a manifest-backed data plane.

Turn an expanding immersive application into a reusable platform without pushing every shared concern into Core, coupling products to one another, treating Isle Lab as the whole platform or forcing a single large rewrite.

Architecture decisions

  1. Separate responsibilities across Core, World Runtime, Capabilities, World Shells and World Data / Data Plane.
  2. Give each product an explicit lifecycle through RuntimeWorld and ProductPlugin contracts.
  3. Keep entrypoints, UI, workflows and policy product-owned rather than platform-owned.
  4. Treat product-to-product imports as architectural coupling so consumers meet through stable platform boundaries.
  5. Incubate uncertain reusable features inside Isle Lab and promote them only after product semantics are removed.

Engineering

  • Extracting reusable boundaries from a historically growing application without freezing development.
  • Containing legacy world-6 naming and ownership while newer world shells become explicit.
  • Separating scene-content and publishing capabilities from product-specific policy.
  • Routing manifest-backed world data through indirection instead of direct asset assumptions.
  • Keeping product entrypoints lightweight and independently bootable.

Evidence

  1. Garden Planner, Isle Lab and ReferenceScene are defined as separate consumers of the platform.

    Platform architecture documentation

  2. The runtime exposes an explicit product lifecycle contract.

    Platform architecture documentation

  3. The platform architecture says products should not import one another.

    Platform architecture documentation

  4. World data and asset resolution pass through a dedicated manifest gateway.

    Platform architecture documentation

  5. Isle Lab provides a public demonstration of a world running on Zafiro.

    Open the Isle Lab showcase

Limitations

  • Legacy world-6 naming and its support bundle still exist in parts of the repository.
  • Not every potentially reusable Isle Lab module has been promoted into the platform.
  • Some packaging and ownership boundaries continue to evolve as product consumers mature.
  • Zafiro is not currently distributed as a public SDK.