@pmndrs/uikit
Version:
Build performant 3D user interfaces with Three.js and yoga.
19 lines (18 loc) • 678 B
JavaScript
import { signal } from '@preact/signals-core';
import { ExperimentalFeature, loadYoga } from 'yoga-layout/load';
export const PointScaleFactor = 100;
export function createDefaultConfig(Config) {
const config = Config.create();
config.setUseWebDefaults(true);
config.setPointScaleFactor(PointScaleFactor);
config.setExperimentalFeatureEnabled(ExperimentalFeature.WebFlexBasis, true);
return config;
}
const create = signal(undefined);
loadYoga()
.then(({ Node, Config }) => {
const config = createDefaultConfig(Config);
create.value = () => Node.create(config);
})
.catch(console.error);
export const createYogaNode = () => create.value?.();