@pbroom/color-kit/computePacking
getPackedPlaneQueryTransferables
Returns the four ArrayBuffers backing a packed result, for zero-copy postMessage transfer.
import { getPackedPlaneQueryTransferables } from '@pbroom/color-kit/compute';pack.ts:90function getPackedPlaneQueryTransferables(
packed: PackedPlaneQueryResult,
): ArrayBuffer[];Transferring detaches the buffers in the sending context, so do not read packed there afterwards.
Parameters
- packed
PackedPlaneQueryResult - Packed result from
packPlaneQueryResultsor a compute run.
Returns
ArrayBuffer[]The pathRanges, pointXY, pointLC and pointColorLcha buffers.
Example
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);