Boundary Rules

These rules are non-negotiable.

They exist because violating them previously caused architectural collapse.

Rule 1: Only the Player Knows About Time

Time is not content.

Time exists only in the time-based engine.

If time appears anywhere else, the system is broken.

Rule 2: JSON Is Not a Runtime Format

JSON is consumed once.

After rendering:

Rule 3: Rendering Happens Exactly Once

Data is converted to HTML in one place only.

Multiple render passes create divergence and bugs.

Rule 4: Engines Do Not Inspect Slides

Engines treat slides as opaque.

They do not parse content, inspect structure, or modify markup.

Rule 5: UI Is Replaceable

UI is the outermost layer.

It can be replaced without affecting the system.

Why These Rules Matter

These boundaries keep the system:

Breaking a boundary feels convenient once. It costs months later.