{"repo":"flarelink-in/NullGraph","free":true,"listed":false,"github":"https://github.com/flarelink-in/NullGraph","clone":"git clone https://github.com/flarelink-in/NullGraph.git","description":"A Data-Oriented WebGPU rendering framework for massive web worlds","language":"TypeScript","stars":94,"topics":["3d","game-engine","render","simulation","webgpu"],"license":"MIT","category":"game-templates","readme_excerpt":"NullGraph Zero scene graph. Zero copy. Infinite scale. A Data-Oriented WebGPU rendering framework for massive web worlds. NullGraph is a brutalist, high-performance rendering library designed specifically for Web Workers and Data-Oriented Design (DOD). It completely abandons the traditional Object-Oriented Scene Graph ( Root - Node - Mesh - Geometry ) in favor of mapping raw, contiguous ArrayBuffers directly to WebGPU Storage Buffers. If you are building an MMO, a voxel engine, or a multiverse with tens of thousands of dynamic entities, NullGraph keeps rendering off your main thread and out of the garbage collector. --- Why NullGraph? A retained scene graph costs you a traversal, a matrix update, and a draw call per object, per frame — on the main thread, allocating as it goes. That is fine at a thousand objects and fatal at a hundred thousand: the frame time becomes a function of how much exists rather than how much is visible, and the garbage collector starts showing up in your frame graph. NullGraph takes the opposite approach — it does less, and moves what remains to the GPU: - Zero Scene Graph: No .traverse() , no .updateMatrixWorld() . The GPU reads your flat array directly. - Zero-Copy Streaming: Calculate your ECS layout in a Web Worker, pass the Float32Array to the main thread, and blast it straight to VRAM. - Render Queues (Batches): Render thousands of unique object types simultaneously with minimal GPU state changes. - No GC Spikes: Memory is pre-allocated. No run","default_branch":null,"files":null,"tree":[],"storefront":"/r/flarelink-in","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/flarelink-in/NullGraph/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}