feat(api): /api/work_plane/{fit,save,get,delete} endpoints

POST /fit returns a candidate WorkPlane + a downsampled CV-frame cloud
preview, without writing to disk. POST /save persists the plane. GET
returns the current saved plane (or null). DELETE clears it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal PastroandClaude Opus 4.7 committed 2026-05-11 17:00:24 +02:00
1 parent 2478e9201c
commit 565c3df2f4
2 files changed
+125

No files matched your search

+2
View File
@@ -19,6 +19,7 @@ from .api import (
posture_routes,
robot_routes,
wrist_routes,
work_plane_routes,
)
from .clients import G1StatusError
from .config import load_config
@@ -42,6 +43,7 @@ app.include_router(grasp_routes.router, prefix="/api/grasp", tags=["grasp"])
app.include_router(wrist_routes.router, prefix="/api/wrist", tags=["wrist"])
app.include_router(posture_routes.router, prefix="/api/posture", tags=["posture"])
app.include_router(robot_routes.router, prefix="/api/robot", tags=["robot"])
app.include_router(work_plane_routes.router, prefix="/api/work_plane", tags=["work_plane"])
WEB_DIR = Path(__file__).resolve().parents[2] / "web"
if WEB_DIR.exists():