ReadonlymeshesThe instanced meshes, by shape|material (and cables).
ReadonlyobjectRoot object, in frame-local coordinates (add it where the placements' frame is, e.g. city.local).
Resolved settings.
Placement positions, xyz per placement (for applyDamage, StormDamage, sampleField).
Weather per placement (wetness, snow, burn, damage). Replaced when the number of placements changes.
ReadonlyuniformsShared material uniforms.
Burn floor, 0…1.
Damage floor, 0…1.
Ember glow, 0…1.
Lamp brightness (emissive multiplier).
0 day … 1 night (used when no night node is given).
Snow floor, 0…1.
Seconds per traffic light cycle.
Wetness floor for every prop, 0…1.
Removes the props and frees GPU resources.
Replaces all settings (anything not given goes back to its default).
Changes settings, merging into the current ones. New placements rebuild the meshes; everything else is instant.
Applies per-prop states (lean, cable ice sag, shader states) when they changed. Called automatically
when a scene was given (and by <Props>); cheap when nothing changed.
StaticcreateCreates the props (async for symmetry with the other packages; nothing to wait for).
Street and countryside props: every placement is assembled from a few unit shapes, and all of them are drawn as one
InstancedMeshper (shape, material) pair, single-material, with typed-array per-instance tint (aTint, read incolorNode) and weather states (aStates). Power poles and pylons with the samelineare strung with sagging catenary cables (instanced segments).Per-prop weather goes through Props.states, a threejs-weathering
InstanceStateswith one entry per placement, soapplyDamage,StormDamageandsampleFieldwork on props directly (positions in Props.positions). Damaged poles, lights and signs lean; wet props darken and shine; snow settles on top; burnt props char.Example