Own Web platform services directly

This commit is contained in:
2026-06-17 16:02:26 +02:00
parent d80289665d
commit b5d3bc131d
9 changed files with 461 additions and 19 deletions

View File

@@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat.
## Reductions
- 2026-06-17: `DEBT-0017`/`DEBT-0050`/`DEBT-0053`/`DEBT-0057` were narrowed
again. `webgl/src/main.cpp` now binds a concrete
`src/platform_web/web_platform_services.*` `PlatformServices` instance
directly, so the live WebGL entrypoint no longer depends on
`src/platform_legacy/legacy_platform_services.*` for render-context,
prepared-file, picker, app-close, or default-canvas behavior.
- 2026-06-17: `DEBT-0003` was narrowed again.
`src/platform_windows/windows_runtime_shell.cpp` now binds a local
`MainWindowSession` object for the live Win32 session, and the window handle,

View File

@@ -70,6 +70,22 @@ What is already real:
- `pp_app_core`
Latest slice:
- `src/platform_web/web_platform_services.*` now owns the concrete WebGL
`PlatformServices` implementation as well as the narrower
`WebPlatformServices` helper surface.
- `webgl/src/main.cpp` now binds that owned concrete Web `PlatformServices`
instance directly instead of constructing the cross-platform
`platform_legacy` adapter around Web-specific injections.
- The touched Web render-context acquire/present, app-close dispatch,
file/image picker routing, prepared-file handoff, default render-target
binding, and default canvas / prepared-file policy path now route through
`src/platform_web/web_platform_services.*` instead of the fallback adapter.
- `pp_platform_api_tests` now compiles and exercises the concrete Web platform
service surface on the Windows host build, so the Web platform target is no
longer only indirectly covered through the narrower helper interface.
- `src/platform_legacy/legacy_platform_services.*` no longer has a live
platform-entrypoint consumer; it remains only as generic fallback scaffolding
still linked into the retained app target graph.
- `src/platform_web/web_platform_services.*` now owns the concrete Web
`PlatformServices` implementation and `webgl/src/main.cpp` now binds that
owned service directly at the WebGL entrypoint.

View File

@@ -139,6 +139,16 @@ Current slice:
document-service provider/configuration surface or the touched Apple method
branches, so the retained fallback adapter is narrower and now focused on the
Android/Linux/Web path.
- `src/platform_web/web_platform_services.*` now owns the concrete WebGL
`PlatformServices` surface in addition to the narrower helper interface used
by `pp_platform_api` tests.
- `webgl/src/main.cpp` now binds that owned Web `PlatformServices` instance
directly instead of constructing the retained `platform_legacy` adapter.
- The touched Web render-context acquire/present, app-close dispatch,
file/image picker routing, prepared-file handoff, and default render-target
binding now route through `src/platform_web/web_platform_services.*`.
- `src/platform_legacy/legacy_platform_services.*` no longer has a live
platform-entrypoint consumer and is now down to generic fallback scaffolding.
- The previous Web narrowing step had already moved WebGL
publish/flush/default-canvas/save-prepared-file behavior off the old
`try_*legacy_web*` fallback path before this concrete Web service cut.