autocal layout first design

This commit is contained in:
ykcheungab
2026-09-20 21:15:39 +08:00
parent 07d7c3bad6
commit e276b5de0f
92 changed files with 18071 additions and 64 deletions
+22 -5
View File
@@ -2,18 +2,35 @@
Desktop applications that consume the Orisys SDK.
| App | Status |
|-----|--------|
| `apps/studio` | Scaffold shell (theme / locale / prefs / logging) |
| `apps/internal` | Stub for future calibration & automated testing |
| App | Status | Qt binding |
|-----|--------|-----------|
| `apps/studio` | Scaffold shell (theme / locale / prefs / logging) | PyQt5 |
| `apps/autocal` | Internal 5-axis calibration platform control | **PySide6** |
| `apps/internal` | Stub, superseded by `apps/autocal` | — |
The two shipped apps use different Qt bindings on purpose. PyQt5's free option
is **GPLv3-or-commercial**; PySide6 is **LGPLv3**, which is why the internal
closed-source tool uses PySide6 and why `shared/` must import neither binding.
Migrating `apps/studio` to PySide6 is a separate, build-validated change.
## Layout
- `shared/` — common paths, prefs, theme, i18n, logging
- `shared/` — common paths, prefs, theme, i18n, logging, and the ZMotion client
- `shared/resources/zmotion/` — vendored ZMotion runtime DLLs (internal use only)
- `apps/studio/config/` — locales, default prefs, editable `sensors/` copies
- `apps/studio/outputs/` — generated logs and calibration exports (gitignored)
- `apps/autocal/` — internal platform control; see `apps/autocal/README.md`
- `build/` — Windows PyInstaller packaging (`build/studio/build.ps1`)
### Selecting which app's paths resolve
`orisys_app_shared.paths` reads `ORISYS_APP_ID` (an `apps/` directory name) to
decide which product's `config/`, `preference.json` and `outputs/` a process
owns. Each app's launcher sets it before importing the shared package; when it
is unset the studio is assumed, which keeps existing callers working unchanged.
A named app whose `config/` is missing raises rather than silently resolving
another product's tree.
## Run (studio shell)
```powershell