Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions api/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse
from fastapi import HTTPException

from routers import generation, model, optimize, status, settings, extensions, export

Expand Down Expand Up @@ -41,6 +42,11 @@ async def lifespan(app: FastAPI):
app.include_router(extensions.router, prefix="/extensions")
app.include_router(export.router, prefix="/export")

# Serve generated GLB files from workspace
from services.generator_registry import WORKSPACE_DIR
app.mount("/workspace", StaticFiles(directory=str(WORKSPACE_DIR)), name="workspace")
# Serve generated files from workspace — dynamic so path changes take effect immediately
@app.get("/workspace/{full_path:path}")
async def serve_workspace_file(full_path: str):
import services.generator_registry as reg
file_path = reg.WORKSPACE_DIR / full_path
if not file_path.exists() or not file_path.is_file():
raise HTTPException(status_code=404, detail="File not found")
return FileResponse(str(file_path))
1 change: 1 addition & 0 deletions api/services/generator_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,7 @@ def update_paths(self, models_dir: Optional[Path], workspace_dir: Optional[Path]
import services.generator_registry as _self_module

if models_dir is not None:
self.unload_all()
models_dir.mkdir(parents=True, exist_ok=True)
_self_module.MODELS_DIR = models_dir
for model_id, gen in self._generators.items():
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "modly",
"version": "0.1.4",
"version": "0.1.5",
"description": "Local AI-powered 3D mesh generation from images",
"main": "./out/main/index.js",
"author": "Modly",
Expand Down