Route default canvas resolution through platform services
This commit is contained in:
@@ -776,7 +776,10 @@ Known warnings after the current CMake app build:
|
||||
- `pp_legacy_paint_document` is an object-library containment boundary for
|
||||
retained action, bezier, brush, canvas, canvas-layer, and event code. It
|
||||
should shrink as app painting and document behavior consume `pp_paint` and
|
||||
`pp_document` directly.
|
||||
`pp_document` directly. Shared `canvas.h` no longer owns the platform
|
||||
`CANVAS_RES` macro; default canvas allocation now asks `PlatformServices`,
|
||||
preserving the WebGL 512 default in the legacy fallback while DEBT-0057
|
||||
tracks moving that policy into an injected Web platform service.
|
||||
- `pp_legacy_engine` intentionally contains retained legacy runtime shell
|
||||
sources for now, so it concentrates existing legacy tablet, video, HMD, log,
|
||||
and low-level utility warnings until those paths move to cleaner component
|
||||
|
||||
@@ -74,6 +74,7 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
| DEBT-0054 | Open | Modernization | Layout XML file read/reload decisions now consume `pp_platform_api::plan_asset_file_load`, but that helper still encodes the retained compile-time platform policy: Windows/macOS use `stat` mtime reload checks, while other platforms treat already-loaded layouts as successful no-op loads | Preserve current layout hot-reload and mobile/Web single-load behavior while removing platform guards from the shared `LayoutManager` parser | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug -R pp_platform_api_tests`; Windows app build | Layout reload decisions are owned by injected platform storage/file-watch services or an asset manager boundary with platform-specific file watching removed from compile-time helpers |
|
||||
| DEBT-0055 | Open | Modernization | `src/app.h` now forward-declares retained iOS/macOS/Android/Linux/Web platform handles instead of including platform SDK headers, and full SDK includes are isolated in `src/platform_legacy/legacy_platform_services.cpp`, but the `App` singleton still stores those platform handles directly | Reduce central header platform coupling incrementally without rewriting non-Windows platform entrypoints before Phase 6 | Windows app build; Apple/Android/Linux/Web package smoke once platform root builds are active | Platform handles are owned by injected `pp_platform_*` shell state or services, and `App` has no platform SDK handle fields or platform conditional members |
|
||||
| DEBT-0056 | Open | Modernization | `src/asset.h` now forward-declares Android asset-manager types and uses `Asset::set_android_asset_manager` instead of public mutable manager state, but retained `Asset` still stores Android asset handles and `src/asset.cpp` still performs Android `AAssetManager` reads directly; the current `android-arm64` root preset is headless and does not expose `pp_legacy_assets_io` | Reduce legacy asset I/O header coupling without rewriting Android asset loading before the asset manager/storage boundary exists | Windows app build; `cmake --build --preset android-arm64 --target pp_assets`; Android package smoke once package builds consume shared targets | Android asset loading is owned by injected asset storage/platform services or `pp_assets` file providers, with no static Android asset manager on `Asset` |
|
||||
| DEBT-0057 | Open | Modernization | Default canvas allocation size now dispatches through `PlatformServices::default_canvas_resolution`, removing the `CANVAS_RES` platform macro from `src/canvas.h`, but WebGL's retained 512 default still lives in `src/platform_legacy/legacy_platform_services.cpp` until the Web shell owns injected services | Preserve WebGL memory behavior while moving canvas creation policy out of shared canvas headers and into the platform boundary | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug -R pp_platform_api_tests`; Windows app build; WebGL package smoke once root Web build exists | Default canvas resolution is owned by injected `pp_platform_*` services for every supported platform, with no WebGL branch in the legacy fallback |
|
||||
|
||||
## Closed Debt
|
||||
|
||||
|
||||
@@ -667,6 +667,11 @@ hides the Android asset handles behind `Asset::set_android_asset_manager`, and
|
||||
keeps concrete Android asset-manager headers in `asset.cpp`/the Android
|
||||
entrypoint. This reduces legacy asset I/O header coupling while the actual
|
||||
Android asset-reader implementation remains inside `pp_legacy_assets_io`.
|
||||
Default canvas allocation size now dispatches through `PlatformServices`, so
|
||||
`NodeCanvas` and command-line conversion creation paths preserve the desktop
|
||||
1536 and WebGL 512 defaults without carrying the old `CANVAS_RES` platform
|
||||
macro in `canvas.h`; DEBT-0057 tracks moving the retained WebGL policy branch
|
||||
out of the legacy fallback when the Web shell owns injected services.
|
||||
Prepared-file save/download handoff is now also part of the service contract,
|
||||
so iOS/Web export completion routes through `PlatformServices` after the app
|
||||
writes the temporary/exported payload.
|
||||
|
||||
Reference in New Issue
Block a user