Skip to content

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:
  • eb7bc2b feat: add EventDisplayPanel to monitor.py
  • 7d65d63 refactor: redesign EventDisplayPanel with detector structure visualization
  • bc2a5b6 refactor: update EventDisplayPanel to show latest event only
  • 5e1236b bump: 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