s&box projectile: ICollisionListener (host-only), [redacted:name] TimedExplosive with RunEvent<RadiusDamage>
s&box weapon reload: CancellationTokenSource for cancellable async reload, incremental vs clip modes
s&box shared ammo pool: NetDictionary keyed by resource path, [Sync(FromHost)], optimistic client returns
s&box NPC AnimationLayer: sync move/look state, compute move_direction as atan2, broadcast attack triggers
s&box NPC SensesLayer: throttle scans to 100ms, FindInPhysics sphere query, LOS with IsDescendant check
s&box NPC MoveTo: navigate to bounds.ClosestPoint, re-evaluate path every 0.5s, face movement direction when lateral
s&box NPC: cache schedules by type in Dictionary to avoid per-tick allocation, interrupt via EndCurrentSchedule()
s&box DuplicationData: cap VerletRope segment count at 48 (Math.Min(48, CeilT...
s&box Thruster attachment: use FixedJoint with Attachment=LocalFrames, Linear...
s&box Button: use [Property] public Doo OnPressed with [Doo.ArgumentHint<Game...
s&box PostProcessManager: spawn PP prefabs as children of Scene.Camera.GameOb...
s&box FreeCam: use ISceneStage (Start/End) instead of OnUpdate for camera ove...
s&box ToolMode settings persist via ICookieSource.
s&box LocalData: thin wrapper over FileSystem.Data that serializes to {key}.json.
s&box SpawnerWeapon serializes its ISpawner payload as "type:data" string (e.g.
s&box morph persistence: store in [Property] for dupe/save survival, broadcast manually, restore in OnStart
s&box bullet weapon: time-based aim cone recovery, local EyeAngles recoil (no RPC), CameraNoise.Recoil for shake
s&box Duplicator: serialize contraptions in selection space (not world space) for correct paste orientation
s&box contraption seat control: sort by occupancy time, HashSet dedup, ClientInput.PushScope, IPlayerControllable
s&box animated door: sync DoorState + TimeSince, AnimationCurve easing, RotateAround pivot, host-authoritative