Skip to content
Back to Portfolio
Automation / Developer PlatformIn Development

Oboro — Spatial Computing SDK

Oboro — Spatial Computing SDK

A spatial-computing SDK that targets Apple Vision Pro, Meta Quest 3, and WebXR browsers from a single scene-graph definition. Thinly abstracts ARKit / Meta XR SDK / WebXR Device API, with Yjs CRDTs syncing spatial-anchor state across multiple devices. Internal R&D prototype.

2026 R&D (internal prototype) 2026-04
#spatial-computing#XR#CRDT#R&D

Live Demo

Preview the actual application interface

DEMO
app.spatial.jp/dashboard
Frame rate
90 fps
foveated render
Digital twin latency
42 ms
OPC UA sync
Spatial anchors
128
persistent
CAD polycount
1.2 M tris
LOD auto

Target device

runtime: OpenXR 1.1 · WebXR fallback

AR overlay preview

trackingsession · 00:42:11
Servo-motor M-04torque 4.2 Nm · 72°CCoolant lineflow 1.8 L/minPneumatic valve V-11replace by 2026-05-12PLC I/O nodeProfinet · 172.16.4.7Vision Pro · 2880 × 2880 / eye90 fps · 42 ms twin sync

Scene pipeline

SLAM + world mesh6 ms
Plane + anchor resolve4 ms
CAD stream + LOD11 ms
Shader + lighting8 ms
Compositor + reproject2 ms

Anchor stats

  • Persistent anchors128
  • Shared (multi-user)34
  • Avg drift / hour1.8 mm
  • Re-localization97.3 %
  • Cloud backendARKit · Azure OR

Digital twin sync

OPC UA channelOK

42 ms · 12 tags · 100 Hz

MQTT telemetryOK

QoS 1 · TLS · 8.2 KB/s

USD stagestreaming

nucleus://twin/line-07

Challenge

Vision Pro (visionOS 2) and Quest 3 (Horizon OS) diverge sharply on input model, anchoring, and rendering APIs — shipping the same experience effectively means building it twice. Multi-user shared physical space adds anchor-coordinate conflicts under network latency and offline reconnects.

Solution

A Rust + WebAssembly scene-graph core (Oboro Core) exposes Swift bindings for visionOS, Kotlin bindings for Android/Quest, and TypeScript bindings for WebXR. Spatial anchors and user-input events live in a Yjs CRDT document syncable over either WebSocket or WebRTC.

Results

  • Confirmed identical scene playback across Vision Pro sim, Quest 3 hardware, and WebXR (Chrome)
  • 100% anchor consistency across 3 devices after CRDT-driven reconnect (internal test)
  • Shared scene-description payload ~38% smaller than single-platform SDK output
  • Time-to-first-frame brought down to 1.2 s on Quest 3
Key Metrics

Measured Impact

シーン記述削減

-38%

vs 単体SDK

アンカー一致率

100%

3 devices

初期フレーム

1.2s

Quest 3

対応プラットフォーム

3

VP/Q3/Web

Features

What it does

シーン記述

glTF 互換

既存アセットをそのまま OSD に取り込み可能。

宣言的アンカー

水平面・壁・イメージアンカーを統一 API で指定。

マルチデバイス

CRDT 同期

オフライン再接続でも衝突なくアンカー状態を収束。

P2P 優先

WebRTC で遅延を抑え、失敗時のみ中継サーバを利用。

開発体験

ヘッドレス sim

CI で XR シーンを自動テスト。

Inspector

シーングラフとアンカーをライブ編集。

Architecture

System Layers

Layered architecture showing components, responsibilities, and data flow.

L1

Layer

コア

Rust 製の共通コア。WASM および各プラットフォーム向けネイティブライブラリとしてビルド。

Scene GraphAnchor StoreInput Routerwgpu Renderer
L2

Layer

プラットフォームバインディング

ARKit / Meta XR SDK / WebXR Device API を共通インタフェースに落とし込む薄い層。

visionOS SwiftQuest KotlinWebXR TS
L3

Layer

同期レイヤ

アンカーと入力イベントを CRDT で共有。P2P 優先、失敗時はリレーにフォールバック。

Yjs DocWebRTC TransportWebSocket Fallback
L4

Layer

ツーリング

シーンの検査・インポート・ヘッドレスシミュレーション用の開発者ツール群。

OSD InspectorglTF ImporterSim Harness
Development Process

How we built it

Step 1

プラットフォーム比較

visionOS / Horizon OS / WebXR の入力・アンカー API を仕様レベルで比較。

Deliverables

  • API 比較表
  • OSD ドラフト
  • 抽象化方針
Step 2

コア実装

Rust でシーングラフと wgpu レンダラを実装し WASM 化。

Deliverables

  • Oboro Core
  • WASM バンドル
  • ユニットテスト
Step 3

WebXR 先行対応

実機調達前に WebXR で動作検証し OSD を固める。

Deliverables

  • WebXR バインディング
  • ブラウザデモ
  • 性能計測
Step 4

ネイティブ展開

Quest 3 実機と Vision Pro sim でネイティブバインディングを検証。

Deliverables

  • Quest APK
  • visionOS sim ビルド
  • CRDT 試験
Roadmap

Delivery Timeline

  • Phase 0Done2026-04-23

    シーングラフ仕様

    Oboro Scene Description (OSD) を glTF 互換で策定。

  • Phase 1Done2026-04-25

    WebXR バインディング

    Chrome/Quest Browser で OSD を再生。

  • Phase 2Planned2026-05

    visionOS / Quest ネイティブ

    Swift/Kotlin バインディングと CRDT 同期を実装。

  • Phase 3Planned2026-07

    マルチユーザ体験サンプル

    3デバイス共存のホワイトボードサンプルを公開。

Team

Who built it

1engineer

Roles

  • XR エンジニア
Tech Stack

Tools & Platforms

Frontend

TypeScript

Backend

RustKotlinWebXR Device API

Other

WebAssemblySwiftARKitRealityKitMeta XR SDKYjsWebRTCWebSocketglTFwgpu
Build with KGA

Considering a similar project?

We will propose the best solution for your business needs.

Discuss Your Project