Skip to content

Split DirectControlPanel.tsx into smaller components #3

Description

@TechLuddite

Summary

src/components/DirectControlPanel.tsx is ~38 KB and contains the entire UI surface in a single file. It works, but it is the main maintainability hotspot in the repo.

Why it matters

  • Hard to navigate, review, and test in isolation.
  • Any UI change risks merge conflicts and accidental regressions across unrelated controls.
  • Generated-code projects benefit from smaller, focused files as the surface grows.

Suggested direction

Extract logical panels (e.g. engine controls, simulation state, debug/utility toggles) into separate components under src/components/, keeping DirectControlPanel as a thin composition root.

Acceptance criteria

  • No single component file exceeds a reasonable size (target < ~10 KB).
  • Existing headless tests still pass.
  • Typecheck still passes.

Review by GrokLuddite, gen AI on behalf of TechLuddite.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions