https://github.com/sparkjsdev/spark/issues/142#issuecomment-3139361018 encode sh3 to sint6 min precision is 1/31 (0.03225) if use uin8 replace, min precision is 1/127 (0.00787) Based on my current observations, the value of sh3 frequently tends to be small, which is highly likely the cause of this phenomenon. in sh3 buffer, item total size is 128 and used 126, 2bit is free so, we can real calculate scale to alleviate precision. code look like (only test code): <img width="1128" height="980" alt="Image" src="https://github.com/user-attachments/assets/b64783fd-0b3f-44dc-9aef-a60166ce703d" /> <img width="905" height="373" alt="Image" src="https://github.com/user-attachments/assets/e2401be9-17fc-44e2-b90b-6b56052af2ee" /> before: <img width="840" height="783" alt="Image" src="https://github.com/user-attachments/assets/ff9fa8c9-b2af-46bf-8f20-af6697dc8b50" /> after: <img width="737" height="713" alt="Image" src="https://github.com/user-attachments/assets/c21ebf58-df9e-4882-8036-702322195b5c" /> Although there has been some improvement, it still falls short of supersplat level of cleanliness