0. 技術
raytracing_demos を VitePress から呼び出すために必要な技術を 3 本のページで解説します。1 本目は Cargo ワークスペースの 3 層構成(common・r1XX-*・raytracing-demos)・クレートの命名規則・新デモを追加するときの手順・ビルド方法に加え,Rust から JavaScript へ PPM 文字列を受け渡す設計の意図を取り上げます。2 本目は VitePress 上でその PPM 文字列を受け取り Canvas に描画する Vue コンポーネント PPMRenderer の実装を扱い,Vue のリアクティビティとの競合をどう回避したかも解説します。3 本目は,テキスト形式の計算結果を表示する Vue コンポーネント TextRenderer の実装を扱います。
1. raytracing_demos の構成
このページでは,Ray Tracingプロジェクト固有のWASM構成を扱います。VitePress一般のWASM読み込み制約(fetch + Blob URLなど)は雑想ノートを参照してください。ワークスペースのcargo-docはここで見られます。master/wasm/raytracingはCargoワークスペース…
2. PPMRenderer
WebAssembly関数を呼び,結果として返されるPPM形式のデータをレンダリングするコンポーネントPPMRendererを作成しました。VitePressはシステムワイドで利用できるようにコンポーネントを登録すると,各Markdownファイルから呼び出すことができるようになります。この登録はいくつか方法があるようで…
3. TextRenderer
WebAssembly関数を呼び,返された文字列をそのまま表示するコンポーネントTextRendererを作成しました。PPMRendererがPPM画像を`に描画するのに対し,TextRendererはモンテカルロ積分の収束レポートなど,テキスト形式の計算結果を`タグで表示するために使います。登録方法はPPMRend…