Skip to content

Strut V4 cleanup: provider pruning, preview/UI rewrite, and generation-quality architecture #4

Description

@amaansyed27

Goal

Stabilize Strut by stopping unstable provider patching and rewriting the generation/preview path around validated semantic plans, local compilation, and visual QA.

Immediate cleanup already started

  • Retire unstable BYOK providers from UI selection.
  • Remove dedicated provider-specific router registration.
  • Keep BYOK focused on OpenAI, Gemini, and OpenAI-compatible/local endpoint.

Rewrite scope

  1. Provider contract

    • Providers return compact semantic plans only.
    • No provider should be trusted to emit full final UI/animation documents directly.
    • Add deterministic local compilation from semantic plan to editable StrutDocument.
  2. Visual quality gate

    • Reject outputs with missing requested text marks.
    • Reject tiny/mostly-empty subjects.
    • Reject shadow/blob-only results.
    • Reject timelines without active visible motion.
    • Reject state visibility mistakes where required layers disappear.
  3. Preview/runtime

    • Remove white nested-card feel from artboard preview.
    • Make preview state playback obvious and default to a useful animation frame/playback, not a dead edge-view frame.
    • Improve stage scaling, background toggles, and visible subject bounds.
  4. UI cleanup

    • Reduce container stacking and visual clutter.
    • Make provider state, generation state, and preview state clear.
    • Hide or disable broken/unsupported provider paths.
  5. CLI providers

    • Move CLIs to the same compact-plan contract.
    • Parse/validate locally; do not let CLI prose or pseudo-documents pass.

Non-goals

  • No animation-specific hardcoding such as coin/dice/pet special cases.
  • No more prompt-only patching as a replacement for architecture changes.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions