Skip to content

Code Quality: Complete dock.gd decomposition by extracting File I/O, Visgroups, and Signal Wiring #22

Description

@saworbit

Context

While the tab handler split extracted the 4 tab controllers (\dock_brush_handler.gd, \dock_paint_handler.gd, \dock_entity_handler.gd, \dock_manage_handler.gd), \dock.gd\ remains ~6,000 lines long.

Remaining Responsibilities in \dock.gd\

  • File I/O & Export Dialogs: .hflevel, .map\ import/export, .glb\ export, and autosave dialog workflows.
  • Visgroup Operations: Visgroup creation, deletion, visibility toggles, and membership sync.
  • Cordon Controls & UV Alignment: Cordon bounds editing, UV reproject/justify signal handlers.
  • Signal Wiring: Over 100 signal connections between dock UI controls, LevelRoot signals, and subsystem events.
  • Schema Builders: Shared property dispatch between entity properties and external tool settings.

Proposed Solution

  1. Extract file I/O and dialog management into \dock_file_handler.gd.
  2. Extract visgroup management into \dock_visgroup_handler.gd.
  3. Move signal connections setup into \dock_connections.gd.
  4. Target a minimal, readable \dock.gd\ orchestrator (~1,200–1,500 lines).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: architectureSubsystem structure, decomposition, code qualityenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions