This file tests boundary conditions and edge cases from the Scriba reference.
%% ========================================================== %% EDGE CASE A: Animation with exactly 1 step (minimum) %% ==========================================================
%% ========================================================== %% EDGE CASE B: Animation with 30 steps (soft limit boundary) %% ==========================================================
%% ========================================================== %% EDGE CASE C: Empty narrate %% ==========================================================
%% ========================================================== %% EDGE CASE D: Multiple primitives of same type %% ==========================================================
%% ========================================================== %% EDGE CASE E: Very long narrate with lots of inline math %% ==========================================================
%% ========================================================== %% EDGE CASE F: Array with size=1 (minimum) %% ==========================================================
%% ========================================================== %% EDGE CASE G: Graph with single node, no edges %% ==========================================================
%% ========================================================== %% EDGE CASE H: Highlight ephemeral clearing across steps %% ==========================================================
%% ========================================================== %% EDGE CASE I: Multiple annotate on same target, different arrow_from %% ==========================================================
%% ========================================================== %% EDGE CASE J: Deeply nested foreach (2 levels) %% ==========================================================