Add H3ERE pipeline scaffolding visualization to live graph#644
Add H3ERE pipeline scaffolding visualization to live graph#644
Conversation
Add a structural cage visualization around the 3D memory cylinder that lights up as SSE reasoning events flow through the H3ERE pipeline. - PipelineScaffolding.kt: Data model for 7 pipeline stages with glow timing, projection math for scaffold points on cylinder surface - ReasoningStreamClient: Emit PipelineStep events alongside Emoji events - InteractViewModel: Track PipelineState, reset on new thought rounds - LiveGraphBackground: Draw vertical struts + horizontal rings per stage, rings glow in stage color when activated, fade over 3 seconds - InteractScreen: Wire pipelineState through to background https://claude.ai/code/session_01V6SFhPJWn2SMncFyBP5cQW
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 110ebf4734
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| drawPath( | ||
| path = path, | ||
| color = ringColor.safeAlpha(baseRingAlpha * baseOpacity), | ||
| style = Stroke(width = ringWidth, cap = StrokeCap.Round) |
There was a problem hiding this comment.
Apply depth alpha when rendering scaffold ring paths
In drawScaffoldRing, segAlpha is computed from projectScaffoldPoint depth per segment, but the final drawPath call uses a constant ringColor.safeAlpha(baseRingAlpha * baseOpacity) for the whole path. When a stage is active, back-side segments often pass the threshold and then get drawn at the same opacity as front-side segments, which breaks the intended front/back depth cue and can make the ring appear to sit on top of the scene. Splitting paths by depth (or drawing per-segment with segAlpha) avoids this regression.
Useful? React with 👍 / 👎.
|



Summary
Adds a visual scaffolding representation of the H3ERE reasoning pipeline around the memory cylinder in the live graph. The scaffolding consists of vertical struts and horizontal rings that light up as pipeline stages are activated during reasoning.
Key Changes
New
PipelineScaffolding.ktmodule: Defines core data structures for pipeline visualizationPipelineStage: Represents each H3ERE reasoning stage (THINK, CONTEXT, DMA, IDMA, SELECT, CONSCIENCE, ACT) with associated colorsPipelineState: Immutable state container tracking stage activation times withactivate()andreset()methodsScaffoldPoint: 3D-to-2D projection data for scaffolding geometryprojectScaffoldPoint(): Projects cylinder surface points to screen coordinates with depth-based alphaEnhanced
LiveGraphBackground.kt: Integrates scaffolding renderingpipelineStateparameter to composabledrawPipelineScaffolding()to render vertical struts and horizontal ringsdrawScaffoldStruts()for cage-like vertical structuredrawScaffoldRing()with glow effects when stages activateUpdated
InteractViewModel.kt: Manages pipeline state lifecycle_pipelineStateStateFlow to track active stagesReasoningEvent.PipelineStepevents from SSE streamthought_startevent)Extended
ReasoningStreamClient.kt: Emits pipeline eventsReasoningEvent.PipelineStepsealed class variantthought_startevents to signal pipeline resetUpdated
InteractScreen.kt: Passes pipeline state to graphpipelineStatefrom ViewModelLiveGraphBackgroundfor renderingImplementation Details
https://claude.ai/code/session_01V6SFhPJWn2SMncFyBP5cQW