{{!-- Combat HUD Hub template (v0.2.0). Renders on every throttled update (max once per second). The context comes from CombatHudHubApp._prepareContext(). The template renders the static chrome (close button) and then iterates over registered sections — each section is a slot that another module (or a built-in core section) registered via combat-hud-hub.api.addSection({ id, label, render }). Built-in core sections: - core-header (round, current turn, timer) - core-combatants (per-PC rows) - core-dice-streak (consecutive d20s) Consumer-registered sections (e.g. its-achievable's pinned-achievements) appear in addition. Top-level context shape: { timeSinceStart: string (formatted M:SS), position: 'top' | 'bottom' | 'left' | 'right', viewMode: 'gm' | 'player', sections: [ { id, label, html } // html = section.render(ctx) ] } --}}