UNPKG

s2maps-gpu

Version:

S2 Maps GPU - An open source, high-performance, and GPU-accelerated map engine for rendering large-scale, interactive maps.

30 lines (29 loc) 1.34 kB
import type { ColorMode } from 's2/s2Map.js'; import type { GlyphImages } from 'workers/source/glyphSource.js'; import type { Projector } from 'ui/camera/projector/index.js'; import type { TileGPU as Tile } from 'source/tile.spec.js'; import type TimeCache from 'ui/camera/timeCache.js'; import type { WebGPUContext } from './context/index.js'; import type { PainterData, SpriteImageMessage } from 'workers/worker.spec.js'; import type { WorkflowKey, WorkflowType, Workflows } from './workflows/workflow.spec.js'; /** * WebGPU Painter interface */ export interface Painter { context: WebGPUContext; workflows: Workflows; dirty: boolean; currWorkflow?: WorkflowKey; prepare: () => Promise<void>; buildFeatureData: (tile: Tile, data: PainterData) => void; buildWorkflows: (buildSet: Set<WorkflowType>) => Promise<void>; resize: (width: number, height: number) => void; getScreen: () => Promise<Uint8ClampedArray>; injectGlyphImages: (maxHeight: number, images: GlyphImages, tiles: Tile[]) => void; injectSpriteImage: (data: SpriteImageMessage, tiles: Tile[]) => void; injectTimeCache: (timeCache: TimeCache) => void; setColorMode: (mode: ColorMode) => void; delete: () => void; paint: (projector: Projector, tiles: Tile[]) => void; computeInteractive: (tiles: Tile[]) => void; }