// generated by diplomat-tool import type { NucleationError } from "./NucleationError.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * Maps logical bits to physical positions (PORTING rule 10). */ export class LayoutFunction { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * One bit per position: signal strength 0 = false, 15 = true. * The most common layout for traditional redstone circuits. */ static oneToOne(): LayoutFunction; /** * Four bits per position, packed as a hex nibble (0-15) with the * lowest bit first; uses `ceil(bits / 4)` positions (4x denser than * one-to-one). */ static packed4(): LayoutFunction; /** * Custom bit-to-position mapping. */ static custom(mapping: Array): LayoutFunction; /** * 2D matrix layout, elements laid out row by row; element bits are * packed 4 per position (nibbles). */ static rowMajor(rows: number, cols: number, bitsPerElement: number): LayoutFunction; /** * 2D matrix layout, elements laid out column by column; element bits * are packed 4 per position (nibbles). */ static columnMajor(rows: number, cols: number, bitsPerElement: number): LayoutFunction; /** * Screen layout: pixels laid out row by row, left to right; pixel * bits are packed 4 per position (nibbles). */ static scanline(width: number, height: number, bitsPerPixel: number): LayoutFunction; }