import { Vec2Array, Vector3Like } from "@amodx/math"; export interface MesherSettingsData { } export declare class MesherSettingsData { /**Tell the mesher to shade voxel faces with sun light data. Disable if you are using a custom renderering pipeline. */ doSunLight: boolean; /**Tell the mesher to use the built in AO system. Disable if you are using a custom renderering pipeline. */ doAO: boolean; doColors: boolean; } export interface RenderSettingsData { } export declare class RenderSettingsData { /**Set the mode to change how mesh data is generated based on the underlying rendering API. */ mode: "webgl" | "webgpu"; /**Renderer will not dispose of buffers to keep them renderering. */ cpuBound: boolean; bufferMode: "single" | "multi"; textureSize: Vec2Array; } export interface UpdatingSettings { } export declare class UpdatingSettings { /**Sector sections are marked as dirty so they can be processed later. */ dirtyMechanism: boolean; /**Updated sector sections are auto rebuilt */ autoRebuild: boolean; } export interface WorldSettings { } export declare class WorldSettings { min: Vector3Like; max: Vector3Like; sectorPower2Size: Vector3Like; sectionPower2Size: Vector3Like; } export interface PropagationSettings { } export declare class PropagationSettings { rgbLightEnabled: boolean; sunLightEnabled: boolean; flowEnabled: boolean; powerEnabled: boolean; } export interface MemoryAndCPUSettings { } export declare class MemoryAndCPUSettings { useSharedMemory: boolean; } export declare class EngineSettingsData { memoryAndCPU: MemoryAndCPUSettings; mesher: MesherSettingsData; rendererSettings: RenderSettingsData; updating: UpdatingSettings; world: WorldSettings; propagation: PropagationSettings; }