Own Linux platform services and narrow legacy fallback

This commit is contained in:
2026-06-17 15:32:29 +02:00
parent 3edb6617d0
commit 9750c418bc
9 changed files with 432 additions and 82 deletions

View File

@@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat.
## Reductions
- 2026-06-17: `DEBT-0016`/`DEBT-0017`/`DEBT-0051` were narrowed again.
`src/platform_linux/linux_platform_services.*` now owns the concrete Linux
`PlatformServices` implementation and `linux/src/main.cpp` now binds that
owned service directly, so `src/platform_legacy/legacy_platform_services.*`
no longer carries the touched Linux storage-path, GLFW render-context,
app-close, desktop picker, default-render-target, or FPS-reporting branches.
- 2026-06-17: `DEBT-0016`/`DEBT-0017` were narrowed again.
`src/platform_android/android_platform_services.*` now owns the concrete
Android `PlatformServices` implementation and

View File

@@ -70,6 +70,19 @@ What is already real:
- `pp_app_core`
Latest slice:
- `src/platform_linux/linux_platform_services.*` now owns the concrete Linux
`PlatformServices` implementation and `create_platform_services(...)`
instead of leaving the live Linux execution surface inside
`platform_legacy`.
- `linux/src/main.cpp` now binds that owned Linux `PlatformServices` instance
into `App` directly at the Linux entrypoint.
- The touched Linux storage-path setup, GLFW render-context acquire/present,
app-close dispatch, default render-target binding, desktop file picking, and
FPS reporting now route through `src/platform_linux/linux_platform_services.*`
instead of the cross-platform fallback adapter.
- `src/platform_legacy/legacy_platform_services.*` no longer carries the
touched Linux method branches, so the retained fallback adapter is narrower
again and now focused on the Web path plus generic fallback policy.
- `src/platform_android/android_platform_services.*` now owns the concrete
Android `PlatformServices` implementation and `create_platform_services()`
instead of leaving the live Android execution surface inside
@@ -82,8 +95,7 @@ Latest slice:
cross-platform fallback adapter.
- `src/platform_legacy/legacy_platform_services.*` no longer carries the
Android bridge/configuration surface or the touched Android method branches,
so the retained fallback adapter is narrower again and now focused on the
Linux/Web path plus generic fallback policy.
so the retained fallback adapter was narrowed again before the Linux cut.
- `src/platform_apple/apple_platform_services.*` now owns the concrete Apple
`PlatformServices` implementation plus the `create_apple_platform_services()`
factory instead of leaving the live Apple execution surface inside

View File

@@ -52,8 +52,10 @@ Completed, blocked, and superseded task history moved to
`src/platform_apple/apple_platform_services.*`, and the live Apple
`PlatformServices` surface now binds directly from those Apple-owned files,
and Android now also binds directly from
`src/platform_android/android_platform_services.*`, but the broader
non-Windows fallback adapter still exists for Linux/Web
`src/platform_android/android_platform_services.*`, and Linux now also
binds directly from `src/platform_linux/linux_platform_services.*`, but the
broader non-Windows fallback adapter still exists for Web plus generic
fallback policy
- `platform_legacy` is still part of the live app shell
- The app runtime boundary is not finished:
- render/UI queues are static `App` state
@@ -81,6 +83,18 @@ Completed, blocked, and superseded task history moved to
the queue is now ordered by code movement instead.
Current slice:
- `src/platform_linux/linux_platform_services.*` now owns the concrete Linux
`PlatformServices` implementation and `create_platform_services(...)`
instead of leaving the live Linux execution surface in `platform_legacy`.
- `linux/src/main.cpp` now binds that owned Linux `PlatformServices` instance
into `App` directly at the Linux entrypoint.
- The touched Linux storage-path setup, GLFW render-context acquire/present,
app-close dispatch, default render-target binding, desktop file picking, and
FPS reporting now route through `src/platform_linux/linux_platform_services.*`
instead of the cross-platform fallback adapter.
- `src/platform_legacy/legacy_platform_services.*` no longer carries the
touched Linux method branches, so the retained fallback adapter is narrower
again and now focused on the Web path plus generic fallback policy.
- `src/platform_android/android_platform_services.*` now owns the concrete
Android `PlatformServices` implementation and `create_platform_services()`
instead of leaving the live Android execution surface in
@@ -93,8 +107,7 @@ Current slice:
cross-platform fallback adapter.
- `src/platform_legacy/legacy_platform_services.*` no longer carries the
Android bridge/configuration surface or the touched Android method branches,
so the retained fallback adapter is narrower again and now focused on the
Linux/Web path plus generic fallback policy.
so the retained fallback adapter was narrowed again before the Linux cut.
- `src/platform_apple/apple_platform_services.*` now owns the concrete Apple
`PlatformServices` implementation plus the `create_apple_platform_services()`
factory instead of leaving the live Apple execution surface in