Skip to content

Phase 3: Integrate with audio pipeline and replace WebView #26

@poodle64

Description

@poodle64

Overview

Connect native renderer to audio pipeline, remove IPC events, and make it the default indicator.

Tasks

  • Modify audio/preview.rs to call native renderer directly instead of emitting events
  • Remove indicator_window_ready() command (no longer needed)
  • Remove recording-audio-level event emission
  • Update show_recording_indicator() to use native window
  • Update hide_recording_indicator() to use native window
  • Add feature flag native-indicator (enabled by default)
  • Keep WebView fallback behind !native-indicator feature
  • Update tests to work with native rendering
  • Performance testing (CPU, memory, latency)

Acceptance Criteria

  • Native renderer is default
  • No IPC events for audio levels
  • <1% CPU usage during recording
  • Indicator shows within 50ms of recording start
  • WebView fallback still works when feature disabled
  • All existing tests pass

Dependencies

Estimated Effort

Medium (6-8 hours)

Milestone

Native Rendering for Recording Indicator

References

  • Current integration: src-tauri/src/audio/preview.rs
  • Architecture doc: docs/architecture/native-indicator-renderer.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:highImportant, blocks functionality

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions