Add Phase Z frame slot telemetry markers

- add frame slot markers to F29 runtime partial
- collect per-cell frame slot metrics in visual runtime check
- preserve existing visual status and failure routing behavior
This commit is contained in:
2026-05-04 10:05:03 +09:00
parent 3f843d73f7
commit 02a6d44944
2 changed files with 36 additions and 7 deletions

View File

@@ -209,7 +209,7 @@ slots: title (omitted), banner_left, banner_right,
{# ───── Row 1: section 1 ───── #}
{% set s1 = slot_payload.process.sections[0] %}
<div class="f29b__cell f29b__cell--left">
<div class="f29b__cell f29b__cell--left" data-frame-slot-id="process_column">
{% if s1.title %}
<div class="f29b__section-title">{{ s1.title | safe }}</div>
{% if s1.transforms %}
@@ -236,7 +236,7 @@ slots: title (omitted), banner_left, banner_right,
</div>
{% set p1 = slot_payload.product.sections[0] %}
<div class="f29b__cell f29b__cell--right">
<div class="f29b__cell f29b__cell--right" data-frame-slot-id="product_column">
{% if p1.title %}
<div class="f29b__section-title">{{ p1.title | safe }}</div>
{% for line in p1.text_lines %}<div class="text-line text-line--bullet{% if line.indent > 0 %} text-line--indent-{{ line.indent }}{% endif %}">{{ line.text | safe }}</div>{% endfor %}
@@ -245,7 +245,7 @@ slots: title (omitted), banner_left, banner_right,
{# ───── Row 2: section 2 ───── #}
{% set s2 = slot_payload.process.sections[1] %}
<div class="f29b__cell f29b__cell--left">
<div class="f29b__cell f29b__cell--left" data-frame-slot-id="process_column">
{% if s2.title %}
<div class="f29b__section-title">{{ s2.title | safe }}</div>
{% for line in s2.text_lines %}<div class="text-line text-line--bullet{% if line.indent > 0 %} text-line--indent-{{ line.indent }}{% endif %}">{{ line.text | safe }}</div>{% endfor %}
@@ -253,7 +253,7 @@ slots: title (omitted), banner_left, banner_right,
</div>
{% set p2 = slot_payload.product.sections[1] %}
<div class="f29b__cell f29b__cell--right">
<div class="f29b__cell f29b__cell--right" data-frame-slot-id="product_column">
{% if p2.title %}
<div class="f29b__section-title">{{ p2.title | safe }}</div>
{% for line in p2.text_lines %}<div class="text-line text-line--bullet{% if line.indent > 0 %} text-line--indent-{{ line.indent }}{% endif %}">{{ line.text | safe }}</div>{% endfor %}
@@ -265,7 +265,7 @@ slots: title (omitted), banner_left, banner_right,
{# ───── Row 3: section 3 ───── #}
{% set s3 = slot_payload.process.sections[2] %}
<div class="f29b__cell f29b__cell--left">
<div class="f29b__cell f29b__cell--left" data-frame-slot-id="process_column">
{% if s3.title %}
<div class="f29b__section-title">{{ s3.title | safe }}</div>
{% for line in s3.text_lines %}<div class="text-line text-line--bullet{% if line.indent > 0 %} text-line--indent-{{ line.indent }}{% endif %}">{{ line.text | safe }}</div>{% endfor %}
@@ -273,7 +273,7 @@ slots: title (omitted), banner_left, banner_right,
</div>
{% set p3 = slot_payload.product.sections[2] %}
<div class="f29b__cell f29b__cell--right">
<div class="f29b__cell f29b__cell--right" data-frame-slot-id="product_column">
{% if p3.title %}
<div class="f29b__section-title">{{ p3.title | safe }}{% if p3.sub_title %}<span class="f29b__section-title__sub">{{ p3.sub_title | safe }}</span>{% endif %}</div>
{% for line in p3.text_lines %}<div class="text-line text-line--bullet{% if line.indent > 0 %} text-line--indent-{{ line.indent }}{% endif %}">{{ line.text | safe }}</div>{% endfor %}