Skip to main content
Version: v0.1.0

TypeScript types

All public types are exported from "pointflow". Import them with import type to avoid including them in your runtime bundle.

Core types​

PointRecord​

type PointRecord = {
x: number;
y: number;
z: number;
attributes?: Record<string, number>;
};

PointChunk​

type PointChunk = {
points: PointRecord[];
};

PackedAttributeChannel​

type PackedAttributeChannel = {
key: string;
values: Float32Array;
present: Uint8Array; // 1 = value present, 0 = missing
};

DenseAttributeChannel​

type DenseAttributeChannel = {
key: string;
values: Float32Array; // all values present — no presence bitmap needed
};

PickedPoint​

type PickedPoint = {
x: number;
y: number;
z: number;
attributes: Record<string, number>;
screenDist: number;
slotIndex: number;
confidence: number;
};

PickStrategy​

type PickStrategy = "highestImportance" | "nearest" | "recentFirst";

RendererBackend​

type RendererBackend = "auto" | "webgpu" | "webgl";

PointCloudSource​

type PointCloudSource = string | URL | Request | File | Blob;

Policy types​

RuntimeMode​

type RuntimeMode = "eco" | "balanced" | "max_throughput" | "custom";

TierLevel​

type TierLevel = "L" | "M" | "H";

UserConstraints​

type UserConstraints = {
pointBudgetCap?: number;
updateCadenceMinMs?: number;
};

ActivePolicy​

type ActivePolicy = {
tier: TierLevel;
mode: RuntimeMode;
pointBudget: number;
updateCadenceMs: number;
expensivePassesEnabled: boolean;
};

Streaming metrics​

StreamedPointCloudRenderMetrics​

type StreamedPointCloudRenderMetrics = {
drawCalls: number;
renderedPoints: number;
gpuTimeMs: number | null;
frameTimeMs: number;
fps: number;
};

TemporalStats​

type TemporalStats = {
windowedCount: number;
totalCount: number;
oldestPointAgeMs: number;
};

COPC types​

AtlasTierConfig​

type AtlasTierConfig = {
slotCount: number;
pointsPerSlot: number;
};

CopcPrefetchStrategy​

type CopcPrefetchStrategy =
| "frustum-priority"
| "depth-first"
| "nearest"
| "bandwidth-saver";

Quantized transport types​

QuantizedSchema​

type QuantizedSchema = {
attributes: QuantizedAttrSchema[];
};

QuantizedAttrSchema​

type QuantizedAttrSchema = {
key: string;
min: number;
max: number;
};

Load lifecycle​

PointCloudLoadTelemetryEvent​

type PointCloudLoadTelemetryEvent = {
phase: "start" | "header" | "chunk" | "done" | "error" | "abort";
progress?: number; // 0-1, present on "chunk" and "done"
};

PointCloudStatus​

type PointCloudStatus = "idle" | "loading" | "ready" | "error" | "aborted";