| 1 |
{% extends "base.html" %} |
| 2 |
{% block title %}Constellation{% endblock %} |
| 3 |
{% block head %}<script src="/radar/constellation.js" defer></script>{% endblock %} |
| 4 |
{% block content %} |
| 5 |
<h1>Constellation <span class="mute">· live</span></h1> |
| 6 |
<p class="mute">Projects are prisms, linked by what depends on what. Agents orbit their project in the colour of their presence, and you are at the centre. Every message is a beam of light to its channel; tool calls pulse; a guard trip flares red.</p> |
| 7 |
<div class="sky"> |
| 8 |
<svg id="sky" viewBox="0 0 900 640" role="img" aria-label="Projects, agents and messages, live"> |
| 9 |
<defs> |
| 10 |
<radialGradient id="core-glow"><stop offset="0" stop-color="#ffffff"/><stop offset=".45" stop-color="#9ecbff"/><stop offset="1" stop-color="#9ecbff" stop-opacity="0"/></radialGradient> |
| 11 |
</defs> |
| 12 |
{{ still|safe }} |
| 13 |
</svg> |
| 14 |
{% if empty %}<p class="sky-empty">No projects yet: add one, and it appears here.</p>{% endif %} |
| 15 |
</div> |
| 16 |
<ul class="legend"> |
| 17 |
<li><span class="dot" data-p="online"></span> online</li> |
| 18 |
<li><span class="dot" data-p="busy"></span> busy</li> |
| 19 |
<li><span class="dot" data-p="idle"></span> idle</li> |
| 20 |
<li><span class="dot" data-p="blocked"></span> blocked</li> |
| 21 |
<li><span class="dot" data-p="offline"></span> offline</li> |
| 22 |
</ul> |
| 23 |
<script type="application/json" id="sky-data">{{ data|safe }}</script> |
| 24 |
{% endblock %} |