Move glTF, picking, camera controls, and conventional handles into addons. Keep camera and material mutations in SIMD-aligned shared SOA rows and synchronize material updates directly into GPU buffers. Amp-Thread-ID: https://ampcode.com/threads/T-01a01380-b478-77d0-84a0-102880a5c5ae Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
14 lines
427 B
JavaScript
14 lines
427 B
JavaScript
import { loadGraph } from "@yawn/render-graph-js";
|
|
|
|
/** Compile a complete AST/JSO and make its prepared loadout active. */
|
|
export async function compileAndSwitch(core, graph) {
|
|
const compiled = await loadGraph(core, graph);
|
|
try {
|
|
await core.switchCompiledGraph(compiled.compiledId);
|
|
return compiled;
|
|
} catch (error) {
|
|
await core.dropCompiledGraph(compiled.compiledId).catch(() => {});
|
|
throw error;
|
|
}
|
|
}
|