Summary
The C bridge (ewcalc_bridge.h / ewcalc_bridge.cpp) lives under frontend/macos/bridge/ despite being entirely platform-agnostic. It is tested from ewpresenter/tests/, not from the macOS frontend tests. Its current location misleads contributors into thinking it is macOS-specific and discourages its use from other frontends.
Proposed structure
Move the bridge to a dedicated top-level component, e.g.:
ewpresenter/
├── bridge/
│ ├── ewcalc_bridge.h
│ ├── ewcalc_bridge.cpp
│ └── CMakeLists.txt
or
bridge/
├── ewcalc_bridge.h
├── ewcalc_bridge.cpp
└── CMakeLists.txt
Action needed
- Move
frontend/macos/bridge/ files to the new location.
- Update
CMakeLists.txt at the root and in ewpresenter/tests/ to reference the new path.
- Update
frontend/macos/CMakeLists.txt to link against the bridge at its new location.
- Update
frontend/macos/app/BridgingHeader.h import path.
- Update
AGENTS.md and any README references to the bridge location.
- Verify CI passes on all platforms after the move.
Files
frontend/macos/bridge/ — source location
CMakeLists.txt (root)
ewpresenter/tests/CMakeLists.txt
frontend/macos/CMakeLists.txt
frontend/macos/app/BridgingHeader.h
AGENTS.md
Summary
The C bridge (
ewcalc_bridge.h/ewcalc_bridge.cpp) lives underfrontend/macos/bridge/despite being entirely platform-agnostic. It is tested fromewpresenter/tests/, not from the macOS frontend tests. Its current location misleads contributors into thinking it is macOS-specific and discourages its use from other frontends.Proposed structure
Move the bridge to a dedicated top-level component, e.g.:
or
Action needed
frontend/macos/bridge/files to the new location.CMakeLists.txtat the root and inewpresenter/tests/to reference the new path.frontend/macos/CMakeLists.txtto link against the bridge at its new location.frontend/macos/app/BridgingHeader.himport path.AGENTS.mdand any README references to the bridge location.Files
frontend/macos/bridge/— source locationCMakeLists.txt(root)ewpresenter/tests/CMakeLists.txtfrontend/macos/CMakeLists.txtfrontend/macos/app/BridgingHeader.hAGENTS.md