# Bug Report: `@babylonjs/lite-compat` WebGPU Engine Fails to Render Standalone Static Meshes
## Environment
* **Library:** `@babylonjs/lite-compat`
* **Version:** `^1.16.0-preview`
* **Engine:** `BABYLON.WebGPUEngine`
* **Material Used:** `BABYLON.StandardMaterial`
## Description of the Bug
When using `@babylonjs/lite-compat` with the WebGPU engine, standalone static meshes created via `BABYLON.MeshBuilder` (e.g. `CreateGround`, `CreateBox`) or standard static geometry completely fail to render on screen.
The meshes are successfully added to the scene, their bounds are calculated correctly, materials are loaded properly, and `mesh.alwaysSelectAsActiveMesh = true` does not force them to appear. The WebGPU render pass silently ignores these meshes, meaning they never make it to the screen.
The *only* geometry that successfully renders in this configuration are meshes that utilize **Thin Instances** (`thinInstanceSetBuffer`).
> [!NOTE]
> Reverting the project to standard `@babylonjs/core` immediately fixed the issue, confirming that the bug is isolated to `lite-compat`'s rendering pipeline logic for WebGPU.
## How to Reproduce
1. Initialize `BABYLON.WebGPUEngine` and load a scene using `@babylonjs/lite-compat`.
2. Create a basic standalone static mesh (e.g. a ground plane).
3. Apply a standard material (e.g. `BABYLON.StandardMaterial`).
4. Attempt to render the scene. The mesh will be completely invisible.
**Code Example:**
```javascript
// This fails to render in lite-compat
const debugGround = BABYLON.MeshBuilder.CreateGround(“debugGround”, {width: 50, height: 50}, scene);
const debugMat = new BABYLON.StandardMaterial(“debugMat”, scene);
debugMat.diffuseColor = new BABYLON.Color3(1, 0, 0);
debugGround.material = debugMat;
```
## The Workaround
To bypass this bug, developers must currently trick `lite-compat` into treating all static standalone geometry as instanced meshes by explicitly assigning a single identity matrix thin instance.
By applying the following workaround, the standalone meshes are successfully picked up by the draw call and rendered to the screen:
```javascript
// Workaround: Inject a single thin instance to force the mesh to render
const identityMatrix = new Float32Array([1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]);
mesh.thinInstanceSetBuffer(“matrix”, identityMatrix, 16, false);
mesh.thinInstanceCount = 1; // Required for the buffer to be respected
```
## Expected Behavior
Standalone static geometry created via standard APIs like `MeshBuilder` should render normally out-of-the-box on WebGPU without requiring manual assignment of thin instance buffers.