Skip to content

0.6.0: depend on formbridge; keep only Qt code; Qt half of the UI bridge - #23

Merged
trissim merged 5 commits into
mainfrom
refactor/U4-formbridge
Oct 12, 2026
Merged

trissim merged 5 commits into
mainfrom
refactor/U4-formbridge

Conversation

@trissim

@trissim trissim commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

OpenHCS consolidation surface U4. 0.6.0 because it removes public API.

Moved to formbridge (OpenHCSDev/formbridge#1), no re-exports here: every Qt-free module (about 10.8k lines in 64 modules), with the same path under formbridge. — the form model (forms.parameter_form_service, parameter_info_types, parameter_type_utils, …), help documents and parameter help, the function-pattern and window code documents, scope tokens, the pattern data manager, the Qt-free protocols registries, strategies, preview formatters, path cache, log utilities, the system-metrics sampler, ZMQ server scanning, flash_trace, pattern_metadata, weak_events; the Qt-free manager hooks (now formbridge.managers) and the scope colour strategy (now formbridge.theming). The unused animation.flash_trace shim is deleted.

Changed

  • UiThreadDispatcher is the Qt delivery of formbridge's MainThreadDispatcher; its errors are formbridge's.
  • services.window_snapshot keeps the Qt capture service; request, frame-condition and receipt types are formbridge's. Each capture scope and frame-observation kind has a registered Qt implementation (QtCaptureScope, QtFrameObservation) instead of a callable stored in an enum member.
  • AbstractManagerWidget takes formbridge's UiHostServices (the colour-scheme protocol OpenHCS's adapter implements).
  • parameter_ops_service imports the performance monitor directly (the ImportError stub fallback is gone).
  • docutils and pyzmq leave the dependencies with the modules that used them.

Added: bridge.windows, bridge.object_state_documents, bridge.host — the Qt window, widget-tree and snapshot projections and the ObjectState code-document providers of formbridge's running-UI bridge, moved from OpenHCS. An application's main window mixes in UiBridgeHostWindow.

Tests: tests of moved modules moved to formbridge; new tests/test_only_qt_code.py (every module imports a Qt binding, directly or through the package; every capture scope and observation kind has a Qt implementation). requirements-ci.txt installs formbridge from its branch head until 0.1.0 is on PyPI; remove that line before releasing.

Release order (owner): formbridge 0.1.0 → pyqt-reactive 0.6.0 → OpenHCS repin. Not tagged here.

🤖 Generated with Claude Code

trissim and others added 2 commits October 11, 2026 13:11
Every module that needs no Qt moves to formbridge with its path; consumers
import it from there (no re-exports). UiThreadDispatcher keeps only Qt
delivery over formbridge's MainThreadDispatcher. The unused
animation.flash_trace re-export shim is deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The window, widget-tree and snapshot projections and the ObjectState
code-document window providers of the UI bridge move here from OpenHCS
(bridge.windows, bridge.object_state_documents) over formbridge's DTOs and
contracts; an application's main window mixes in bridge.host.UiBridgeHostWindow.

services.window_snapshot keeps the Qt capture service; the request, frame
condition and receipt types are formbridge's, and each capture scope and
frame-observation kind has a registered Qt implementation instead of a
callable stored in an enum member. AbstractManagerWidget takes formbridge's
UiHostServices.

pyqt-reactive now holds only Qt code (test_only_qt_code); docutils and pyzmq
leave its dependencies with the modules that used them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 11, 2026 18:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…nch head

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
trissim and others added 2 commits October 11, 2026 15:42
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit 4991fc7 into main Oct 12, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants