{% extends "base.html" %} {% from "_provenance.html" import provenance %} {% from "_lifetime.html" import lifetime %} {% from "_dates.html" import dates %} {# The blur toggle, defined ONCE. There are three item branches in this file (doc / media / other) and the first cut of this feature patched only one of them, so docs rendered with no control at all. A macro makes "patched two of three" impossible rather than merely unlikely. #} {% macro blurtoggle(name_url, it, cls='') -%} {# Blurred only because the whole booth is (r2b D2b): say so, and offer no per-item un-blur — the booth flag would keep it blurred, so the control would do nothing visible. The header un-blurs the booth. #} {% if it.blurred and not it.blurred_self %} ◉ booth {% else %}
{% endif %} {%- endmacro %} {# The per-item MARK controls: flag (the operator pointing at this one) and a note field. Same macro discipline as blurtoggle above — three item branches, one definition. `marks` here is THIS item's marks, from item_marks. #} {% macro markcontrols(name_url, it, marks, cls='') -%} {# THE flag predicate (flagged_targets), shared with every other surface #} {% set flagged = it.name in flagged_set %} {%- endmacro %} {# An item's notes, rendered BESIDE the artifact — the 2026-09-09 ruling that a judgment belongs with the thing it is about, applied to notes as well as picks. The add-field is a{{ m.text }}
{{ name }}
— download files below, or on nh3-dev grab ~/booth-data/{{ name }}/
booth bench add <url> <name>{{ it.rendered }}
{% endif %}
{# The doc branch had `markcontrols` and not `marknotes`, so the
operator could point at a report and not write down why — on the
one item kind whose whole content is prose. Exactly the
"patched two of three" failure the blurtoggle macro above was
written to prevent, recurring on the macro written to prevent it. #}
{{ marknotes(name_url, it, item_marks.get(it.name, [])) }}