ExtralyCinematic Architecture
Core owns the lifecycle, command registration, storage loading, listener registration, and hook detection. Game stores loaded cinematics and active viewers. StorageManager loads and saves cinematics/*.yml.
Recording samples the player’s current location. Waypoint authoring adds one frame per command.
Playback creates an invisible armor stand at the first frame, switches the player to spectator mode, and makes the player spectate that armor stand. Every tick it calculates eased progress, chooses the current segment, interpolates position, computes yaw/pitch, applies shake and zoom, teleports the armor stand, and fires frame titles/commands.
If duration > 0, total ticks are duration * 20. Otherwise total ticks are (frameCount - 1) * interpolation-steps.
Cleanup removes the player from active viewers, clears spectator target, restores game mode and location, removes speed/slowness effects, stops BGM, and removes the armor stand.