A high-performance PartitionedBuffer implementation backed by Uint32Array for efficient memory usage and fast bitwise operations.
See jsr.io/@phughesmcr/partitionedbuffer for complete documentation.
npx jsr add @phughesmcr/partitionedbufferimport { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";deno add jsr:@phughesmcr/partitionedbufferimport { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";bunx jsr add @phughesmcr/partitionedbufferimport { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";deno task example will run a complete example.
// Create a buffer with 1024 bytes and 64 entities (slots) per partition
const buffer = new PartitionedBuffer(1024, 64);
type Vec2 = { x: number, y: number };
const schema: Schema<Vec2> = { x: Float32Array, y: Float32Array };
// Add a partition with a schema
const position = buffer.addPartition({ name: "position", schema });
// Set the first entity's x and y values
position.partitions.x[0] = 1;
position.partitions.y[0] = 2;Contributions are welcome. The aim of the project is performance - both in terms of speed and GC allocation pressure.
Please run deno test and deno task prep to run the tests before committing.
PartitionedBuffer is released under the MIT license. See LICENSE for further details.
© 2024 The PartitionedBuffer Authors. All rights reserved.
See AUTHORS.md for author details.