🎮 Game

A grass painting tool for s&box. GrassDefinition is a GameResource holding blade shape, density, colour, wind and sprite card settings and pushing them into shader attributes; GrassStorage keeps sparse per-chunk density, height and normal samples with serialize/deserialize and an upgrade path from the old dense format; GrassRenderer uploads that chunk data into GPU buffers, runs a compute pass to expand density into blade or sprite instances, and issues an indirect draw per layer, with editor gizmos for painted chunks. The same three files appear twice, once at the project root and once under Code/, which will collide on type names if both copies compile.

🔧 Editor

An editor dock for painting grass density into a GrassRenderer layer. It picks a layer from a ComboBox and writes falloff-weighted values into the layer's GrassStorage, tracing down each cell to bake height and normal. Ctrl erases, and a clear-layer button asks for confirmation before wiping the layer.