#* The ThoughtFrame chat transcript, rendered to one HTML document. SCI-FI EDITION. Values (all plain data): $turns list of { role: user|agent|system, body: string } $background hex rgb, workbench widget background $foreground hex rgb, workbench widget foreground $code hex rgb, code/tint background $dim hex rgb, label colour $scrollToBottom whether the document should jump to the end on load $markdown MarkdownTool; Velocity cannot parse markdown itself Design notes (read before changing): A mission-log HUD, not a chat. Chrome is monospace and uppercase. The palette is FIXED and deliberately NOT the workbench colours - it is a dark HUD that sits in any Eclipse theme. Two inks: --tf-prose for reading (neutral), --tf-ink for chrome/accents (cyan). The $background/$foreground/$code/$dim values are still passed in but no longer drive colour; they are kept for the StyledText fallback path. Effects are additive: strip the scanlines, glow, clip-paths and animation and the layout still reads (older SWT browsers simply ignore what they cannot parse). VELOCITY GOTCHA: never write #{ ... } and never a literal hex - always #$var or #${var}XX. *#