feat: the vessel speaks in the séance — DeviceWhisper panel
Workstream D of the usability wave (#8). A compact live panel in the séance side column, shown only when the seeker has paired hardware: device name, online dot (reading within 60s), latest readings in the terminal readout style, and cold-spot / pressure-anomaly flags from the lib/coldSpot.ts cores. Fetches GET /api/device once on mount; renders nothing on zero devices or fetch failure — the séance never sees an error from this panel. Socket closed on unmount. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ import { GraphView } from '../components/GraphView'
|
||||
import { Transcript } from '../components/Transcript'
|
||||
import { EntityCard } from '../components/EntityCard'
|
||||
import { RitualPanel } from '../components/RitualPanel'
|
||||
import { DeviceWhisper } from '../components/DeviceWhisper'
|
||||
import { JudgmentPanel } from '../components/JudgmentPanel'
|
||||
import { TelemetryReadout } from '../components/TelemetryReadout'
|
||||
import { PlanchetteMachine } from '../lib/planchette'
|
||||
@@ -362,6 +363,7 @@ function SeanceSession({ username }: { username: string }) {
|
||||
onToggleOpen={() => setDossierOpen((o) => !o)}
|
||||
/>
|
||||
|
||||
<DeviceWhisper />
|
||||
<RitualPanel />
|
||||
<JudgmentPanel />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user