Files
hao-ai-lab-FastVideo/docs/contributing/dreamverse-development.md
T
6d925d5333 [feat] dreamverse-monorepo: Phase 1 — skeleton + tooling
Establish the apps/dreamverse/ subfolder + monorepo tooling per
.agents/memory/dreamverse-integration/integration-plan.md Phase 1.
No Dreamverse content moved yet — that's Phase 2/3.

* Add apps/dreamverse/{README.md, pyproject.toml, server/__init__.py,
  server/tests/__init__.py}.
* Add docs/contributing/dreamverse-development.md with local dev commands.
* Root pyproject.toml: add [tool.uv.workspace] members = ["apps/dreamverse"];
  add apps* to setuptools exclude; add gpu pytest marker.
* .pre-commit-config.yaml: exclude ^apps/dreamverse/web/.
* .gitignore: scope Node artifacts + unignore product assets.
* uv.lock: regenerated by `uv lock` to include the new workspace member.

Co-authored-by: Junda (David) Su <90978028+Davids048@users.noreply.github.com>
Co-authored-by: Matthew Noto <99706358+RandNMR73@users.noreply.github.com>
Co-authored-by: XOR-op <17672363+XOR-op@users.noreply.github.com>
Co-authored-by: Zhang Peiyuan <42993249+jzhang38@users.noreply.github.com>
2026-05-07 13:37:25 -07:00

1.8 KiB

Dreamverse Development

Dreamverse lives under apps/dreamverse/ as a product app inside the FastVideo monorepo. Backend code uses the local FastVideo workspace package; frontend tooling remains standalone under apps/dreamverse/web/.

Backend tests

Run CPU-safe backend tests from the FastVideo repository root:

uv run --locked --package dreamverse --extra test pytest apps/dreamverse/server/tests/ -m 'not gpu' -q

Frontend build and tests

Run frontend commands from the standalone web app:

cd apps/dreamverse/web
pnpm install --frozen-lockfile
pnpm run build
pnpm run test

Playwright is intentionally run against a live backend as part of the GPU4 manual verification flow, not in the Phase 3 migration gate.

Local GPU4 verification hook

Use physical GPU 4 for migration smoke tests. CUDA_VISIBLE_DEVICES=4 makes that GPU appear as logical GPU 0 inside the process, preserving the previous Dreamverse deployment behavior.

CUDA_VISIBLE_DEVICES=4 uv run --locked --package dreamverse \
  fastvideo serve --config apps/dreamverse/serve_configs/streaming_demo.yaml \
  --host 0.0.0.0 --port 8009

In another shell, verify the service:

curl -s http://localhost:8009/health

Phase 4 adds the public /healthz, /readyz, /status, /prompt-system-config, and /curated-presets route coverage needed for the full Playwright suite.

Phase 0 production-equivalent prerequisites

For the production-equivalent NVFP4 path, install these optional dependencies in the FastVideo .venv before GPU4 smoke tests:

.venv/bin/pip install flashinfer-python flash-attn --no-build-isolation

flashinfer-python is required for NVFP4 quantization. flash-attn is optional but recommended; without it, attention falls back to Torch SDPA.