Commit Graph

5 Commits

Author SHA1 Message Date
m3ultra
9004ce64bc fix(trellis ops): drop manifest python pins — remote dispatch to m1 broke on missing venv path
Remote runs exec the repo-relative manifest python via bash with no
existence check ('vendor/trellis2-mlx/.venv/bin/python: No such file'),
killing trellis2_mlx on the validated m1 lane (its fork lives at
~/trellis2-mlx). Both run.py launchers are stdlib-only and already
resolve the per-box fork checkout + venv themselves — run them on the
server/system python instead. trellis_mac/run.py now resolves its vendor
venv explicitly (sys.executable was only correct under the old pin).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 16:27:46 +10:00
m3ultra
b1d37b1629 feat(trellis_mac): close the fal quality gap — RAM-sized bake cap + forced-opaque alpha
Local GLBs were crushed to exactly 94,535 faces (fal ships ~495k) by the
200k laptop mtlbvh guard + o_voxel cleanup, and noisy baked alpha flipped
materials to BLEND (speckle-veil hair, 'broken face'). Neither was the
diffusion — local decode was already 2.2M tris.

- run.py: default TRELLIS2_MAX_BAKE_FACES by node RAM (>=96GB -> 500k,
  else 200k laptop-safe); pass max_bake_faces/alpha_mode/steps/baker
  params through (server forwards only client-sent params — manifest
  defaults are UI-only)
- manifest: new params, quality defaults
- BENCHMARKS.md: 2026-07-22 entry — 500k cap verified crash-free on M3
  Ultra, 351,898-face GLB, bake 7s->14s, farm-path e2e verified

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 19:04:23 +10:00
MODELBEAST
210d80484c runner: resolve relative operator python paths against repo root (multi-node portability)
Manifest "python" can now be a repo-relative path (venvs/mflux/bin/python) that
resolves against db.ROOT, so the same operator code runs on any machine/checkout
(M3 Ultra, M1 Ultra worker). All 6 venv operators switched to relative paths.
Prep for the M1 Ultra second node.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 11:47:39 +10:00
MODELBEAST
764ae3faf5 trellis_mac: unblock — dinov3 lvd1689m granted; add HF_HUB_DISABLE_XET + OMP guards
dinov3-vitl16-pretrain-lvd1689m access granted (the natural-image variant TRELLIS.2
needs — note the approval email named the sat493m satellite variant, but lvd1689m
came through too). Added HF_HUB_DISABLE_XET=1 (same xet download bug as flux) +
KMP_DUPLICATE_LIB_OK/OMP_NUM_THREADS=1 guards (torch + Metal-kernel omp). First
local TRELLIS.2 generation now running.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 09:44:13 +10:00
MODELBEAST
605b1ae347 Phase 1 + framework: settings/secrets, queue lanes, job mgmt, inbox, 8 new operators
Framework:
- server/settings.py: key/value settings + secrets, env-injected into operator
  subprocesses, secret values masked in API and redacted from job logs
- runner: gpu/cpu/net concurrency lanes, job cancel/retry/delete, multi-input,
  graceful 'not installed' error when a tool venv is missing
- db: settings table, asset_ids column (migrated), MODELBEAST_DATA test override
- main: settings + job-action endpoints, inbox watch folder auto-ingest
- store: operators can tag output asset kind (splat, colmap_dataset)

Operators (11 total):
- fal_trellis/trellis2/hunyuan3d/rodin via shared _lib/fal_common.py (verified
  params + endpoint ids; recursive result-URL extractor handles per-endpoint keys)
- sf3d, trellis_mac: local MPS image-to-3D, installed with Metal kernels built,
  gated on owner HuggingFace auth
- colmap_poses (COLMAP 4.x + GLOMAP global mapper), brush_train (native Metal 3DGS)
- Scan pipeline validated end-to-end through the UI: frames -> colmap (48/48
  registered, 0.6px) -> brush -> splat.ply -> in-app SplatViewer

Frontend:
- Settings modal, operator gating (lock + disabled run when requires_env unmet),
  job cancel/retry/delete, Compare grid (multi-select side-by-side viewers),
  SplatViewer (gaussian-splats-3d, Ply format forced for extensionless URLs)

Tooling: scripts/install_{colmap,brush,sf3d,trellis_mac}.sh; vendor/ + venvs/
gitignored; tests/smoke.sh (12 checks passing); BENCHMARKS.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 21:42:27 +10:00