All Rust commits from Facepunch
carve mode hotkeys
fixed serialization buffers not being initialized correctly in all cases
merge from main
merge from main
got ui2 sculpture admin panel working
disable hit-guide shadow casting
dev rock mat
fixed rock sculpture turning into ice on pickup
on-deploy default data fix
minimal rock sculpture prefab setup
buffer missuse fixes
axisFromEdge lookup instead of computing it from the stride
array length correction
edges identified with a unique key and generate vertices coherently, replaces hashing with direct indexing so it's 2x faster again
merge from main
switched triangle stream for just an edge stream, gives burst a cleaner loop so it's twice as quick
cleanup
micro-optims for triangle processing jobs
optimized island cleanup to 0.25x the cost, flat 2 pointer array instead of a NativeQueue and replacing frequent coord->index conversion for index stride offsets
merge from main
defer completion of sculpting GUI collider baking until the next controller's update, it can be done entirely in the background without hollding the main thread
merge from main
merge from main
Fixed sculpture save/load to file, added ability to send save to data to all sculptures in radius
using a proto message for serializing sculpt data rather than raw byte array storage - should be more flexible for altering the format, let's us bake data about the space the array refers to - still LZ4 compressing the proto bytes because we get 10:1 for data like this
replaced crc RPC-synced value with SyncVar, much cleaner
parallel censor application by-slice using concurrent NativeStream readers
initial improvement to censor chunk generation, NativeStream to parallelize shape creation
fixed sculptures requesting and loading sculpt data twice on load
merge from main
replaced huge NativeList triangle alloc for a NativeStream on TempJob, 10x less memory usage with no performance loss
let generators resize internal native alloc back to 0 after 10s of not being used + codegen
handling max-triangles length properly
small fixes
codegen
ripping IO out of BaseSculpture, will need to be separated later as a sub-entity for ice so it's cleaner
convert sculpting controller to us InputSystem
merge fixes
merge from christmas2025_DLC/ice_sculptures for code changes