wsy182
e86c2301ec
Remove env var overrides, config.yaml is single source of truth
...
- Stripped _ENV_MAP and _apply_env_overrides from configs/load.py
- Cleaned up unused imports in video_receiver.py
- Restored MediaPipe env suppressors in app/main.py
- Removed .env.example (replaced by config.yaml)
2026-06-10 10:26:48 +08:00
wsy182
ae52578ed7
Separate config models from loader
...
- configs/models.py: AppConfig and all section dataclasses
- configs/load.py: pure loading logic (yaml, env overrides)
- config = load_config() singleton for consumers
2026-06-10 10:24:45 +08:00
wsy182
f9384f7bc1
Parse config.yaml into typed AppConfig dataclass
...
- ServerConfig, VideoConfig, ModelConfig, DeadBugConfig,
AudioConfig, LoggingConfig as nested dataclasses
- Consumers use config.server.host, config.model.resolved_path etc.
- env var overrides preserved via _apply_env_overrides()
2026-06-10 10:23:51 +08:00
wsy182
c8fd057129
Centralize configuration into config.yaml
...
- All settings moved to config.yaml
- configs/load.py reads from config.yaml with env var overrides
- Environment variables still work for backward compatibility
- Added pyyaml to requirements
2026-06-10 10:19:41 +08:00
wsy182
4485cbf702
Refactor into modular app structure
...
Split monolithic files into focused modules:
- app/core: settings, logging, lifecycle
- app/signaling: websocket server, ICE parser, message models
- app/webrtc: peer session, video receiver, frame source
- app/vision: pose landmarker wrapper, model config, pose types
- app/exercises/dead_bug: detector, metrics, rules, state machine, types
- app/rendering: skeleton renderer, status overlay, window display
- app/audio: rep announcer
- app/diagnostics: perf timer, crash handler
- configs: environment-based settings
- tests: unit tests for rules, state machine, ICE parser
- run.py: entry point
2026-06-10 10:14:43 +08:00
wsy182
8b878cb9e5
Optimize pose server processing
2026-06-09 23:07:48 +08:00
wsy182
a16b3e2d77
Pin mediapipe to 0.10.21 to remove clearcut telemetry
2026-06-02 09:53:31 +08:00
wsy182
a4b62d930b
Switch to LIVE_STREAM mode for real-time async inference
2026-06-02 09:40:22 +08:00
wsy182
be4a691fb5
Disable MediaPipe Clearcut telemetry
2026-06-02 09:32:56 +08:00
wsy182
fde0e0383d
Add dead bug pose detection
2026-06-02 00:59:41 +08:00
wsy182
feb456261c
Delete posefit-andrid
2026-06-01 23:59:43 +08:00
wsy182
02d7c48557
服务端改用 aiortc 实现 WebRTC 视频流接收
...
- handle_client.py: 替换原始 JPEG WebSocket 为 aiortc RTCPeerConnection
- 实现 SDP offer/answer 协商和 ICE candidate 交换
- 通过 track.recv() 接收 RTP 视频帧并 cv2.imshow 显示
- 服务端口改为 8765 匹配 Android 端
- 新增 requirements.txt: aiortc, websockets, opencv-python 等
- .gitignore 添加 __pycache__
2026-06-01 23:51:30 +08:00
hjwang
b48a521b63
删除 .gitmodules
2026-06-01 22:28:29 +08:00
wsy182
855ca7c938
添加posefit-andrid子模块
2026-06-01 21:34:07 +08:00
wsy182
debc511312
保存当前更改
2026-06-01 21:33:00 +08:00
wsy182
1cfc72956e
chore: 移除 .idea/ 目录的 Git 追踪并更新 .gitignore
2026-06-01 19:10:26 +08:00
wsy182
51dcc83e92
chore(project): 添加 IDE 配置文件到忽略列表
...
- 添加 .idea 目录到 .gitignore 文件
- 保持虚拟环境目录忽略配置
2026-06-01 18:13:01 +08:00
wsy182
644486445f
first commit
2026-06-01 18:10:42 +08:00