Scope
Pyright/Pylance reports vehicle-state diagnostics in the UAV vehicle layer:
- nullable UAV position/yaw state is used before narrowing
- payload runtime node extensions are accessed through the base ROS
Node type
- vision node helper names/services are read dynamically from
object
Acceptance
- Focused Pyright is clean for
uav/vehicles/UAV.py, uav/vehicles/Payload.py, and uav/vehicles/Vehicle.py
- Vehicle state access is guarded before use instead of relying on unchecked nullable fields
- Payload runtime node extensions are represented with a structural type
- Ruff check and format pass for touched files
Part of #201
Scope
Pyright/Pylance reports vehicle-state diagnostics in the UAV vehicle layer:
NodetypeobjectAcceptance
uav/vehicles/UAV.py,uav/vehicles/Payload.py, anduav/vehicles/Vehicle.pyPart of #201