{% extends "base.html" %} {% block title %}{{ file }} · {{ name }} · The Booth{% endblock %} {% block html_attrs %} data-booth="{{ name }}"{% endblock %} {# THE REVIEW (R2 C6). One media item at full size — image, video or audio — with the judgment on screen beside it, the whole set as a filmstrip below and the tape above. Docs keep doc.html. Everything a mark can change is a `data-region` the in-place script swaps (the rail, the filmstrip, the tape); THE STAGE NEVER IS — swapping it would restart a playing track. #} {% macro num(n) -%}#{{ "%0*d"|format(ord_width, n) }}{%- endmacro %} {% block content %}
✕ {{ num(ordinal) }} {{ file }} {# R3: this item against the next one in the ring, side by side (C). #} {% if compare_url %} compare{% endif %} {% if kind == 'image' %} {# A JS-only VIEWING convenience (INV-3): hidden until the script shows it, and only ever rendered for a picture. With scripts off the image shows at fit size and no judgment depends on this. #} {% endif %} {# r2b D2b + D2, in the top bar: outside every data-region, so no swap replaces them. The fog form carries `back` and lands on this item. #}
{% if film | selectattr('blurred') | list %}{% endif %} ⬇
{# THE TAPE (B's device): one segment per item in the review ring — seen, flagged, current — so how far through the set you are is always in view. #}
{% for x in film %} {% endfor %}
{{ seen_n }} of {{ ring_m }} seen
{% if prev_url %}‹{% endif %}
{% if kind == 'image' %}{{ file }} {% elif kind == 'video' %} {% else %} {% endif %}
{# The stage's reveal sits OVER the stage, outside its scrolled content (r2c): in 1:1 a panned picture would otherwise carry it out of view, and outside the stage it can never start a pan. #} {# JS-only, so `hidden` until the script binds it (heid bug-hunt: shown with scripts off, it did nothing) — the toggle's own pattern. #} {% if blurred %}{% endif %} {% if next_url %}›{% endif %}
{# THE FILMSTRIP: the review ring in set order, numbered like the tiles, flagged frames underlined, the current one in the reticle. #}
{% include "_stage_js.html" %} {% endblock %}