# Rack Presentation Improvements Design
**Date:** 2026-06-24
**Status:** Approved
**Parent spec:** `notes/dev/specs/2026-06-24-rack-documentation-design.md` (extension)
## Goal
Improve the graphical presentation of the generated rack page: make the
elevation **interactive** (inline SVG, clickable boxes, hover tooltips), encode
device **status** visually, add a **legend**, and **polish** both the elevation
and the mermaid power/network graphs. No new data is modelled; this is a
rendering upgrade of what `gen_rack.py` already produces.
## Context
- `render_svg` writes a standalone `rack01-elevation.svg`, embedded in
`rack01.md` as `` — i.e. an
``, which is a **flat image**: links and tooltips inside it do not work.
- `render_power`/`render_network` emit default-themed mermaid flowcharts with
uncoloured, non-clickable nodes.
- The occupancy table already links to host pages; the SVG and graphs do not.
- `md_in_html` is enabled in `mkdocs.yml`, so raw inline HTML/SVG in a Markdown
page is rendered. Mermaid is enabled (Phase 2).
- `use_directory_urls` is unset → defaults to **true**: pages build to
`//index.html`, so a host page is served at `/hardware//` and the
rack page at `/infrastructure/racks/rack01/`. The site is served at the domain
root (`docs.makerfloss.eu`).
- `KIND_COLORS` already maps kinds → fill colours. There is no status encoding,
legend, link, or tooltip today.
## Decisions
### A. Inline, interactive elevation
- `render_page` embeds the SVG markup **inline** in `rack01.md`, inside a
`
…
` block, replacing the
`` image line. (`md_in_html` passes the raw block
through.)
- The standalone `rack01-elevation.svg` is **still generated** (identical markup,
still drift-checked) and offered below the diagram as a
`[Download SVG](rack01-elevation.svg)` link.
- The `