v0.3.11 - EventDisplayPanel for Real-Time Detector Visualization (2025-12-23)¶
What Changed?¶
This release adds a new EventDisplayPanel to the monitor TUI that displays real-time detector hit information with visual layer indicators. The monitor now provides three complementary views of detector data: real-time event visualization, accumulated statistics, and event stream history. The feature maintains backward compatibility with all existing monitor functionality.
What's New¶
Main Feature: EventDisplayPanel - Real-Time Detector Visualization¶
What it does: EventDisplayPanel displays the latest detected event with a visual representation of which detector layers (top/mid/btm) registered a hit. Each event shows its hit_type value and highlights the active layers using color-coded indicators (cyan for top, yellow for mid, magenta for btm).
How to use it: The EventDisplayPanel appears automatically in the monitor TUI on the left side of the screen. As events arrive from stdin or files, the display updates in real-time to show the most recent event's detector structure. No special configuration is needed - it works with all existing monitor workflows.
Example display:
Type: 7
|-----|
| top | ! |
|-----|
| mid | ! |
|-----|
| btm | ! |
|-----|
Installation¶
Quick Start¶
# Get the release
git checkout v0.3.11
# Setup
uv sync
# Run monitor with stdin
uv run kazunoko generate 100 | uv run examples/monitor.py
# Or watch a directory
uv run examples/monitor.py --watch /path/to/data
What's Different from the Last Version?¶
✅ Added¶
- EventDisplayPanel class: New panel displaying latest event with detector structure visualization
- Real-time detector layer visualization using color-coded
!indicators - Immediate event-by-event updates via improved
update_ui()function - Three-column layout: Statistics (top), EventDisplay (left), EventStream+Files (right)
🔧 Changed¶
- Monitor layout refactored from 2-column to optimized 3-panel design
- EventStreamPanel now shows last 10 events (reference/history view)
- Statistics panel focus changed to accumulated aggregate data only
- Event update flow optimized for real-time responsiveness
🐛 Fixed¶
- Removed duplicate EventDisplayPanel updates in
_update_display()that prevented real-time refresh - Fixed event update synchronization between EventStreamPanel and EventDisplayPanel
Is It Safe to Upgrade?¶
Backward Compatible: Yes
- All existing CLI commands and workflows unchanged
- No breaking changes to public APIs
- Monitor functionality enhanced with new visualization (additive only)
- Existing scripts and integrations continue to work without modification
Tests Passed¶
- ✅ Builds without errors
- ✅ Pre-commit hooks pass
- ✅ Conventional commit validation passed
- ✅ Monitor starts and displays all panels
Release Details¶
- Date: 2025-12-23
- Version: v0.3.11
- Files Changed: 2 (examples/monitor.py, CHANGELOG.md)
- Commits:
eb7bc2bfeat: add EventDisplayPanel to monitor.py7d65d63refactor: redesign EventDisplayPanel with detector structure visualizationbc2a5b6refactor: update EventDisplayPanel to show latest event only5e1236bbump: version 0.3.10 → 0.3.11
Next Steps¶
- User feedback on visual detector representation
- Potential enhancements: event history visualization, rate-of-change indicators, threshold highlighting
- Performance profiling for high-frequency event monitoring