{% comment %} room.html table-hex center — included via core/_partials/_table_hex.html (hex_center). Verbatim move of the old inline .table-center body; inherits room.html's context (table_status, card_stack_state, viewer_cost_current, sky_confirmed, polarity_done, user_polarity, current_slot, …). {% endcomment %} {# ROLE card-stack — the gamer's own role pick stays available even when their #} {# token cost has lapsed (deposit-privilege grace, 7d), so it renders OUTSIDE #} {# the cost gate below. #} {% if room.table_status == "ROLE_SELECT" and card_stack_state %}
{% if card_stack_state == "ineligible" %} {% endif %}
{% endif %} {% if not viewer_cost_current %} {# Token cost lapsed → GATE VIEW supersedes SCAN SIGS / CAST SKY / DRAW SEA #} {# / the sig waiting msg. The gamer keeps their seat through the renewal #} {# grace; GATE VIEW routes to the renewal gate-view. Only the ROLE pick #} {# (above) survives. ` {% else %} {% if room.table_status == "SKY_SELECT" %} {# All three phase btns render so the cascades can cross-fade in place #} {# (no reload): CAST SKY → DRAW SEA on sky-save, then DRAW SEA → SEED MAP #} {# on the 6-card spread completing. The server sets --out on the inactive #} {# ones; the sky/sea cascades swap them. On a reload the server lands the #} {# right one visible (DRAW SEA once sky_confirmed; SEED MAP once the sea #} {# hand is complete), same as each cascade's end. SEED MAP → the Voronoi #} {# map (roadmap step 21) is a stub for now — it only needs to APPEAR here. #}
{% elif room.table_status == "SIG_SELECT" %} {% if polarity_done %}

{% if user_polarity == "levity" %}Gravity settling . . .{% else %}Levity appraising . . .{% endif %}

{% endif %} {% endif %} {% endif %}