refactor!: rename slhx to hemx

Rename the tracked product identity, crate/package names, Rust paths/macros, generated artifacts, runtime files, public attributes, examples, docs, requirements, and tests from slhx to hemx without compatibility shims.

Verified with cargo run -p hemx-xtask -- test, cargo test -p hemx-derive --test compile_fail, cargo test -p hemx-js, cargo test -p hemx-axum, cargo test -p hemx-v0-examples, cargo check --workspace, redgate list, redgate refs, redgate health --strict, git diff --check, and git grep/ls-files legacy-name audits.

req: misc/001

req: codegen/001

req: component/004

req: runtime/001
This commit is contained in:
slhx agent
2026-06-05 06:52:37 +02:00
parent d4e865ef92
commit c33500440e
69 changed files with 1415 additions and 1415 deletions
+16 -16
View File
@@ -1,22 +1,22 @@
<main data-slhx-root="techdemo" data-slhx-sse="/events">
<main data-hemx-root="techdemo" data-hemx-sse="/events">
<section class="hero-shell">
<div class="hero-copy">
<p class="eyebrow">slhx Control Plane</p>
<p class="eyebrow">hemx Control Plane</p>
<h1>A Linear-class work system without a frontend framework.</h1>
<p class="lede">Create, inspect, advance, and stream work through native HTML, generated typed resources, and compact update batches. The UI feels app-grade; the model stays server-owned and boring.</p>
</div>
<div class="hero-panel" data-slhx-slot="hero_metrics">{+= self.hero =+}</div>
<div class="hero-panel" data-hemx-slot="hero_metrics">{+= self.hero =+}</div>
</section>
<nav class="topology" data-slhx-slot="nav">
<a href="/" data-slhx-nav="">Live system</a>
<a href="/architecture" data-slhx-nav="">Architecture</a>
<nav class="topology" data-hemx-slot="nav">
<a href="/" data-hemx-nav="">Live system</a>
<a href="/architecture" data-hemx-nav="">Architecture</a>
</nav>
<section class="workspace">
<aside class="command-card">
<h2>Create an issue</h2>
<form id="launch-work" method="post" data-slhx-handle="launch_work" data-slhx-form="launch_work" data-slhx-disable-while-pending>
<form id="launch-work" method="post" data-hemx-handle="launch_work" data-hemx-form="launch_work" data-hemx-disable-while-pending>
<label>Title <input name="title" required="required" value="Ship typed updates"></label>
<label>Lane
<select name="lane" required="required">
@@ -26,13 +26,13 @@
</select>
</label>
<label>Impact <input name="impact" type="number" min="1" max="9" value="7"></label>
<button class="primary-action" type="button" form="launch-work" data-slhx-handle="launch_work">Create issue</button>
<button class="primary-action" type="button" form="launch-work" data-hemx-handle="launch_work">Create issue</button>
</form>
<div class="quick-actions">
<button type="button" data-slhx-handle="simulate_push">Simulate server push</button>
<button type="button" data-slhx-handle="reset_demo">Reset demo</button>
<button type="button" data-hemx-handle="simulate_push">Simulate server push</button>
<button type="button" data-hemx-handle="reset_demo">Reset demo</button>
</div>
<p data-slhx-slot="notice" class="notice">Every control posts through a generated handle and receives typed updates.</p>
<p data-hemx-slot="notice" class="notice">Every control posts through a generated handle and receives typed updates.</p>
</aside>
<section class="board-card">
@@ -40,27 +40,27 @@
<span>Generated slots + keyed cards</span>
<strong>generated resources, no selectors</strong>
</div>
<div data-slhx-slot="board">{+= self.board =+}</div>
<div data-hemx-slot="board">{+= self.board =+}</div>
</section>
</section>
<section class="insight-grid">
<article class="glass-card">
<h2>Update inspector</h2>
<div data-slhx-slot="inspector" class="inspector-slot">{+= self.inspector =+}</div>
<div data-hemx-slot="inspector" class="inspector-slot">{+= self.inspector =+}</div>
</article>
<article class="glass-card island-card" data-slhx-island="orbit" +data-island-snapshot="self.island_snapshot">
<article class="glass-card island-card" data-hemx-island="orbit" +data-island-snapshot="self.island_snapshot">
<h2>Opaque island bridge</h2>
<canvas width="360" height="180" aria-label="Animated island orbit"></canvas>
<p data-island-readout="">Waiting for Rust snapshot…</p>
</article>
<article class="glass-card">
<h2>Activity stream</h2>
<div data-slhx-slot="activity">{+= self.activity =+}</div>
<div data-hemx-slot="activity">{+= self.activity =+}</div>
</article>
<article class="glass-card glow">
<h2>Server push</h2>
<div data-slhx-slot="live_feed" class="live-feed">Waiting for SSE heartbeat…</div>
<div data-hemx-slot="live_feed" class="live-feed">Waiting for SSE heartbeat…</div>
</article>
</section>