@pbroom/color-kit/computePacking

getPackedPlaneQueryTransferables

Returns the four ArrayBuffers backing a packed result, for zero-copy postMessage transfer.

functionimport { getPackedPlaneQueryTransferables } from '@pbroom/color-kit/compute';pack.ts:90
function getPackedPlaneQueryTransferables(
  packed: PackedPlaneQueryResult,
): ArrayBuffer[];

Transferring detaches the buffers in the sending context, so do not read packed there afterwards.

Parameters

packedPackedPlaneQueryResult
Packed result from packPlaneQueryResults or a compute run.

Returns

ArrayBuffer[]The pathRanges, pointXY, pointLC and pointColorLcha buffers.

Example

TypeScript
import { getPackedPlaneQueryTransferables, runPackedPlaneQueries } from '@pbroom/color-kit/compute';

const packed = runPackedPlaneQueries({
  plane: { model: 'oklch', fixed: { h: 250 } },
  queries: [{ kind: 'gamutRegion', gamut: 'srgb' }],
});
const transfer = getPackedPlaneQueryTransferables(packed);

transfer.length; // → 4
// In a worker: self.postMessage(packed, transfer);