Add reusable local HTTP job service for Blender add-ons

- Implement JobClient for handling HTTP requests to the JobServer.
- Create ModalJobOperatorBase for managing Blender job lifecycle.
- Introduce JobContext and JobServer for job management and state handling.
- Add ServiceConnection and ServiceController for managing service processes.
- Implement job submission, cancellation, and resource management endpoints in the server.
- Ensure proper error handling and job state updates throughout the service.
This commit is contained in:
2026-08-16 21:04:10 +08:00
parent 0c8d3a8988
commit b3a07cde32
43 changed files with 2600 additions and 2671 deletions

View File

@@ -15,16 +15,29 @@ uv run python pack.py
├── src/
│ └── snapform/
│ ├── blender_manifest.toml
│ ├── service.py
│ ├── install_env.py
│ ├── models.py
│ ├── image_depth.py
│ ├── operators.py
│ ├── panel.py
│ ├── preferences.py
│ ├── properties.py
│ ├── client.py
│ └── worker.py
│ ├── blendjob/
│ │ ├── client.py
│ │ ├── operator.py
│ │ ├── service.py
│ │ └── server.py
│ ├── blender/
│ │ ├── depth_plane.py
│ │ └── surface.py
│ └── ai_service/
│ ├── server.py
│ ├── model_manager.py
│ ├── jobs.py
│ ├── ben2_onnx.py
│ ├── da3_onnx.py
│ ├── moge_onnx.py
│ └── onnx_runtime.py
└── tests/
```