"""SnapForm Job Server without Blender dependencies.""" from blendjob import JobServer from .model_manager import ModelManager, ModelSessionCache from .background import remove_background as _remove_background from .da3 import generate_da3 as _generate_da3 from .media import extract_frames as _extract_frames from .moge2 import generate_moge2 as _generate_moge2 server = JobServer("SnapForm Job Server") @server.resource("model_manager") def create_model_manager(job_server): return ModelManager(job_server.storage_root / "models") @server.job("download-model") def download_model(context, parameters): manager = context.resource("model_manager") return manager.download(context, parameters["model"]) @server.job("download-required-models") def download_required_models(context, parameters): manager = context.resource("model_manager") return manager.download_missing(context, parameters["models"]) @server.job("debug-ben2") @server.job("remove-background") def remove_background(context, parameters): return _remove_background(context, parameters) @server.job("extract-frames") def extract_frames(context, parameters): return _extract_frames(context, parameters) @server.job("debug-moge2") @server.job("generate-moge2-surface") @server.job("generate-moge2-depth") def generate_moge2(context, parameters): return _generate_moge2(context, parameters) @server.job("debug-da3") @server.job("generate-da3-surface") @server.job("generate-da3-depth") def generate_da3(context, parameters): return _generate_da3(context, parameters) __all__ = ("ModelManager", "ModelSessionCache", "server")