Technology
最先端のグラフィックス技術を、
2D・3Dエディタ特化の専用基盤に。
従来のWebやネイティブアプリのフレームワークでは、GPU性能をフルに活かしきれなかったり、2Dと3D、そしてUIが高度に融合した独自の操作体験を作るには限界がありました。Struraは、真のクロスプラットフォーム実現と、2D・3D・UIを単一の基盤で扱うことによるゼロ・オーバーヘッドな処理を両立するため、グラフィックス基盤(wgpu)から計算エンジンまでをゼロから再設計。各プラットフォームのハードウェア性能を限界まで引き出し、空間を描く人の思考を止めない圧倒的なパフォーマンスを実現します。
Full-Scratch GUI
GUIフレームワークを、自作する。
一般的なGUIフレームワークは、フォームや2D画面向けに設計されています。しかしBIMのような2D・3Dビューを含むエディタでは、空間・ノードエディタ・空間上の操作・UIを、ひとつの画面の中でオーバーヘッドなく連携させる必要があります。
既存フレームワークの制約に設計を合わせるのではなく、2D・3D・UIを同一のグラフィックス基盤で区別なく扱えるようUIランタイムそのものを設計する。それがStruraのアプローチです。
- Rust安全性と性能を両立するコア実装言語
- winitクロスプラットフォームなウィンドウ管理・イベント処理
- wgpuOSごとのGPU性能を最大限に引き出す抽象レイヤー(Windows / macOS / Web)
- Custom Renderer2D / 3D / UIを単一パイプラインで一元処理する独自描画エンジン
- Custom GUIエディタデータと直結した、転送ロスのないGUIフレームワーク
Signal-Based Architecture
差分のみを、ダイレクトに更新する。
独自の描画パイプラインを持つStruraは、ブラウザのDOMという概念そのものを再設計しました。Reactのような仮想DOMと描画サイクルの「二重管理」を排除し、SolidJSと同系統のシグナルベース構成を採用。状態の変化を自作の描画ノード(独自DOM)へダイレクトに反映させることで、巨大なモデルでも応答性が落ちません。
宣言的UI
状態からUIを記述する宣言的な設計。複雑なエディタの状態変化にも、UIが自動で正確に追従します。
二重サイクルの撤廃(シグナル駆動)
仮想DOMの比較と実際の描画という「二重のレンダリングサイクル」を解消。シグナルの変更通知から、更新が必要な独自描画ノードだけをピンポイントで直接書き換えます。
最小限のGPU描画
画面全体を毎フレーム再計算・再描画するのではなく、変化のあった要素だけをGPUへ直接転送。描画負荷とオーバーヘッドを極限まで低減します。
CAD Kernel
幾何カーネルも、自作する。
なめらかな曲線を描く「NURBS」、複雑なブーリアンやシミュレーションを可能にする「Implicit」、そしてBIMに適した最終形状を保持する「B-Rep」。Struraはこれらの表現手法を最適に使い分け、建築の意味構造と幾何を一体で扱うため、独自のCADカーネルをゼロから開発しています。
既存カーネルの問題
- 複雑なブーリアン処理(集合演算)で演算エラーや破綻が起きやすい
- モデリング手法が固定され、自由な表現とBIMデータの両立が難しい
- 内部がブラックボックス化し、リアルタイムな編集伝播に最適化できない
- BIMの意味構造と幾何データが分離され、データサイズや処理が肥大化する
Struraのアプローチ
- NURBS曲線・曲面の数学的表現
- Implicit複雑なブーリアン演算やシミュレーションを破綻なく高速処理
- B-Rep境界表現により、BIMデータとして扱いやすい明確なトポロジ構造を出力
- Node GraphNURBS / Implicit / B-Rep と建築の意味構造を単一グラフで一元管理
Single Runtime & Parallel Execution
状態管理の同期コストを排除し、
重い幾何計算をバックグラウンドへ。
UI・3D・状態管理・BIMデータ・CADカーネルを別々のフレームワークで連携させるのではなく、単一のイベントループで一括処理。スレッド間での無駄なデータの受け渡しや複雑な状態同期コストを排除しています。その上で、重い幾何計算や描画コマンドの生成だけをバックグラウンドへ並列分散。巨大なモデルでも、高いフレームレートとスムーズな応答性を保つアーキテクチャです。
Architecture Comparison
他のアプローチとの違い。
| 観点 | Web 3Dアプリ(一般的な構成) | 従来のデスクトップBIM | Strura |
|---|---|---|---|
| ベース | React / Three.js / WASM | 既存デスクトップフレームワーク | Rust + winit + wgpu + 独自GUI |
| 幾何カーネル | 既存ライブラリ依存 | 既存CADカーネル依存 | 自作(NURBS / Implicit / B-Rep) |
| 状態管理 | UI中心 | ファイル読み込み中心 | ノードグラフ中心 |
| データとUIの連動 | WASMとJS/描画エンジン間でデータ転送(ブリッジ)コストが発生 | 巨大なデータ構造とファイル同期による遅延 | 単一イベントループ(ブリッジ処理なしでダイレクト更新) |
| 計算・処理 | メインスレッド依存によるフレーム低下 | 単一巨大処理による画面の固まり | 局所更新 + バックグラウンド並列計算 |
| 対応環境 | Web View依存 / ブラウザ(ブラウザの制限を受ける) | 特定のOS(Windows等)に依存(旧世代の描画設計でGPUを活かせない) | OS/Webの性能を最大限に活かすネイティブ&WASM実行(Mac / Windows / Web) |
Webアプリの手軽さと、ネイティブアプリの高いパフォーマンス。Struraは、その両方の課題を解決する新しいアーキテクチャを採用しています。
Cross-Platform & Sync
圧倒的パワーのネイティブ。
手軽につながるWeb。
巨大なBIMデータを扱う本格的な設計作業は、メモリやGPU制限のないデスクトップネイティブで真価を発揮。WebブラウザでもWASM / WebGPUを活用し、ブラウザ環境に合わせて最適化された快適な操作ができます。環境(Mac / Windows / Web)を問わず、同一のプロトコルでリアルタイムに同期・コラボレーションが可能です。
同一プロトコルで、どの環境からもリアルタイムに同期
Native First, High-Performance Web
メモリやグラフィック機能の制限がないデスクトップネイティブを主軸に、巨大モデルでも遅延のない設計体験を提供。Web上でもWASM / WebGPUを駆使し、ブラウザ制約下における最高のレスポンスを引き出します。
Realtime Protocol Sync
アプリ間・ブラウザ間の通信を共通プロトコルで設計。Mac・WindowsのデスクトップアプリとWebブラウザ間でも、ひとつのBIMデータを同時にリアルタイム編集・共有できます。
Optimized Choice
高負荷な幾何演算や大規模なモデル構築は、デスクトップで腰を据えて。クライアントへの共有や、現場・出先でのモデル確認・軽い編集は、インストール不要のWebブラウザで手軽に。状況に合わせて、最適に使い分けられます。
まずは、ブラウザで触ってみる。
Struraのモデリングデモは、インストール不要でブラウザから試せます。ネイティブアプリ(macOS / Windows)は現在準備中です。