Skip to content

Battery- and thermal-aware auto-downgrade (snapshot-first / reserve mode) #39

Description

@rayl15

Part of the power-management roadmap in #36.

Goal

Make OpenVision battery- and thermal-aware: automatically prefer lower-power behavior as battery drops or the device heats up.

Why

There is currently no reading of battery level or thermal state anywhere in the app. This is the highest-impact new capability from the proposal for real all-day wear.

Scope (first pass)

  • Read UIDevice.current.batteryLevel / .batteryState and ProcessInfo.processInfo.thermalState
  • At low battery / high thermal: prefer a single snapshot over live video, shorten inactivity timeouts, avoid continuous streaming without confirmation
  • A "Reserve mode" (voice-first, camera only on explicit request) below a configurable battery threshold
  • Thresholds configurable in Settings, not hard-coded

Out of scope for this issue: the full set of named power profiles (All-Day/Balanced/Performance) — those can follow once the sensing + auto-downgrade primitives exist.

Pointers

  • OpenVision/Models/AppSettings.swift — add threshold settings
  • OpenVision/Views/VoiceAgent/VoiceAgentView.swift — gate live-video / snapshot decisions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededpowerBattery, thermal, and power efficiency

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions