/** * View toggle for non-stellar bodies. * * Three mutually exclusive views drive every body: * * - `'surface'` : sol mesh visible (relief + liquid). Atmo board * hidden, smooth sphere hidden (or shown as a * transparent backdrop on gas giants whose smooth * sphere plays the atmospheric silhouette). Atmo * shell is kept on as a discreet halo (`setHaloMode`) * so the sol keeps full visibility while the * atmosphere's presence stays hinted at the rim. * - `'atmosphere'` : atmo board visible (resource grid). Sol mesh * hidden, smooth sphere hidden, atmo shell hidden. * - `'shader'` : non-interactive overview. Smooth sphere visible * (when its strategy enables it), atmo halo shell * overlaid in full (bands + clouds + tile paint). * Sol mesh and atmo board both hidden. */ import type { InteractiveView } from '../types/bodyHandle.types'; import type { PlanetSceneGraph } from './assemblePlanetSceneGraph'; /** Public handle returned by {@link createPlanetViewSwitcher}. */ export interface PlanetViewSwitcher { set(view: InteractiveView): void; } /** * Builds the view switcher for a planet scene graph. Captures the original * render flags (depth test/write, render order, atmo side) at construction * time so toggles can restore them when leaving a transient view (gas * backdrop, sol view). */ export declare function createPlanetViewSwitcher(graph: PlanetSceneGraph): PlanetViewSwitcher; //# sourceMappingURL=createPlanetViewSwitcher.d.ts.map