"use strict"; // Layer: entity-runtime/items/dynamic-system // Central dispatch table for active item behavior. Lifecycle steps should call // this module instead of knowing every dynamic item type. (function (global) { function update(item, dt, worldRef) { if (!item || item.dead) return false; switch (item.type) { case "firecracker": case "genkotsu": case "fan": case "magnet": case "rotator": case "gate_fence": return global.TarinaiItemDynamicToolSystem?.update(item, dt, worldRef) !== false; case "ball": return global.TarinaiItemDynamicBallSystem?.update(item, dt, worldRef) !== false; case "duplicator": return global.TarinaiItemDynamicDuplicatorSystem?.update(item, dt, worldRef) !== false; case "zunchi": return global.TarinaiItemDynamicZunchiSystem?.updateMotion(item, dt, worldRef) !== false; default: if (global.TarinaiItemDynamicPinSystem?.isPin(item)) { return global.TarinaiItemDynamicPinSystem.update(item, dt, worldRef) !== false; } return false; } } global.TarinaiItemDynamicSystem = Object.freeze({ update }); })(typeof window !== "undefined" ? window : globalThis);