1.8 KiB
1.8 KiB
Lane C log — append-only, newest at bottom
Format per session:
## <date> session N
DONE: …
DECISIONS: …
BLOCKED/REQUESTS: …
NEXT: …
2026-07-18 session 1
DONE: M1 code-complete. Commit bb85eef.
requirements.txt(fastapi, uvicorn only);.gitignore+=.venv/.scenegod/server.pysingle file: statics (/no-store placeholder,/web/{path}short-cache, path-guarded),/assets/tree(5s cache, per-category grouping),/assets/file(traversal-guarded),/scenesCRUD with atomic write + slugify +validate_scene, render endpoints (begin/frame accept + save; end/status/out 501 until M3).scripts/test_server.py: 5 groups green (tree grouping, file stream, 4 traversal attempts rejected, scene round-trip w/ slugify, 5 validation failures + 1 fade-overlap-allowed).OK: 5 test groups passed. DECISIONS:- System python3 is 3.14 (fastapi present but pydantic missing); made a
.venvon python3.11 per CLAUDE.md stack rule. Tests + server use.venv/bin/python..venv/gitignored. web/is underscenegod/web/per PLAN §2 (not repo root) —WEBpoints there; Lane A/B statics resolve via/web/{path}.- Asset grouping: per-category primary ext set (models for chars/anims/
props, images for backdrops, audio for audio). Non-primary image sharing
a stem →
thumb, not aformat.pathprefers glb else first model. Entries with no primary format dropped (thumb-only stems aren't assets). - Clip-overlap check: violation if
next.start < a.end - a.fade, wherea.end = start + (out-in)*loop. Fade-region overlap allowed. BLOCKED/REQUESTS: none. NEXT: M2 (when unlocked): scene-validation hardening + asset thumbnails endpoint. M3 render pipeline (ffmpeg encode + web/render.js) is designed in C-server.md §C5, endpoints already stubbed — implement at SYNC-2/M3.