Skip to content

[Feature]: Studio: add Orchestrate tab (parity with CLI / MCP) #181

@claytonlin1110

Description

@claytonlin1110

Problem or motivation

Summary

paperbanana orchestrate and the MCP tool orchestrate_figures plan and generate a full-paper figure package (plan JSON, figures.tex, captions.md, per-figure runs, resume/retry). PaperBanana Studio (paperbanana studio) currently exposes Diagram, Plot, Evaluate, Continue, Batch, Composite, and Runs, but does not expose the orchestration workflow, so users who prefer the Gradio UI cannot run the same end-to-end figure-package flow without dropping to CLI or MCP.

Motivation

Proposed behavior

  1. New Orchestrate (or Figure package) tab in paperbanana/studio/app.py (and supporting studio/runner.py glue if needed).
  2. Inputs mirroring important CLI flags, at minimum:
  • Paper upload or path: .txt / .md / .pdf (PDF behavior consistent with existing Studio/CLI expectations).
  • Optional data directory for auto-planned plots (CSV/JSON), when applicable.
  • --dry-run equivalent (plan only, no image generation).
  • Resume orchestration (ID or path) and optional retry-failed / max-retries / concurrency, consistent with CLI semantics.
  • Caps: max method figures, max plot figures; shared “Model & pipeline” settings where appropriate (iterations, auto, optimize, providers, output dir).
  1. Outputs: log text; links or paths to orchestrate_* directory; optional preview of orchestration_plan.json / figure_package.json similar to how Runs previews metadata.

Proposed solution

  • Add an Orchestrate tab in PaperBanana Studio that calls the existing run_orchestration_package helper in paperbanana/core/workflow_runner.py (same entry point as paperbanana orchestrate), with progress_callback feeding a text log.

  • Expose the main CLI controls in Gradio: paper file upload (or path), optional --data-dir, --dry-run, --resume-orchestrate, --retry-failed, --max-retries, --concurrency, --max-method-figures, --max-plot-figures, --pdf-pages (new runs only), plus the shared Model & pipeline accordion (config, providers, iterations, --auto, --optimize, format).

  • On completion, show the orchestration directory path and short previews of orchestration_plan.json / figure_package.json (same idea as the Runs tab). No new orchestration engine—UI + thin studio/runner.py wrapper only.

Area

Pipeline / agents

Alternatives considered

No response

Willingness to contribute

  • I'd be willing to submit a PR for this feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions