Skip to content

Anuva Python Server API Brain Dump

Created: 2026-05-21 13:30 UTC

Raw Notes

The Anuva Python Server system is described in docs/AnuvaPythonServer_SystemDescription.md.

Build the API contract required for this system.

Identify where the PresentationConfig JSON fits in.

Most probably it belongs in the RenderJobPackage payload as part of the config object.

Reference Context

  • The Python worker is expected to call a dedicated worker-facing Web App API.
  • The most important contract objects are RenderJob, RenderJobSummary, RenderJobPackage, WorkerHeartbeat, and UploadedMedia.
  • The current repo already has video_generation_jobs plus /api/render-jobs routes, but that surface is narrower than the proposed worker contract.
  • The current render job creation path stores configSnapshot.publicConfig, which is a strong signal that the renderer-facing PresentationConfig belongs inside the package payload rather than being fetched through a second API.

Context Diagram

flowchart LR
  webapp["Anuva Web App / Payload backend"] --> api["Worker-facing API contract"]
  api --> worker["Anuva Python Server"]
  worker --> unity["Unity renderer"]

  config["PresentationConfig JSON"] --> package["RenderJobPackage.config"]
  package --> worker
  worker --> local["Local rewritten config + localhost asset URLs"]
  local --> unity