35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
---
|
|
id: TASK-132
|
|
title: PWA — transport abstraction (simulator + serial + BLE)
|
|
status: Done
|
|
assignee: []
|
|
created_date: '2026-03-29 20:52'
|
|
labels:
|
|
- pwa
|
|
- transport
|
|
milestone: m-2
|
|
dependencies: []
|
|
priority: high
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Write transport.js (GaiaTransport base class, SerialTransport via Web Serial, BLETransport via Web Bluetooth NUS, SimulatorTransport) and simulator.js (virtual pan/tilt panel with crosshair + LED indicator).
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [ ] #1 Base class with connect/disconnect/send/onMessage/isConnected
|
|
- [ ] #2 SerialTransport: Web Serial 115200 baud, JSON lines
|
|
- [ ] #3 BLETransport: NUS UUIDs, TX notify subscription, 20-byte MTU chunking
|
|
- [ ] #4 SimulatorTransport: passes to Simulator.update()
|
|
- [ ] #5 Simulator: floating panel with crosshair dot + LED circle + readout
|
|
<!-- AC:END -->
|
|
|
|
## Final Summary
|
|
|
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
|
transport.js: 3 implementations + factory. simulator.js: DOM panel with crosshair grid, LED indicator, angle readout. ?transport=simulator URL param works.
|
|
<!-- SECTION:FINAL_SUMMARY:END -->
|