Use explicit layout timestamp probe
This commit is contained in:
@@ -247,6 +247,11 @@ agent or engineer to remove them without reconstructing context from chat.
|
|||||||
and existing file coverage, and `plan_asset_file_load_for_platform` consumes
|
and existing file coverage, and `plan_asset_file_load_for_platform` consumes
|
||||||
that probe instead of owning the `stat` call inline. Injected file-watch or
|
that probe instead of owning the `stat` call inline. Injected file-watch or
|
||||||
storage services still need to own the live probe before the debt closes.
|
storage services still need to own the live probe before the debt closes.
|
||||||
|
- 2026-06-12: DEBT-0054 was narrowed again. `LayoutManager::load` now calls the
|
||||||
|
explicit timestamp probe only for platform families that use mtime reloads,
|
||||||
|
then passes the result into the pure `plan_asset_file_load_with_probe`
|
||||||
|
decision. The retained probe still uses local `stat` until injected storage
|
||||||
|
or file-watch services replace it.
|
||||||
- 2026-06-05: DEBT-0056 was narrowed. `src/asset.h` no longer exposes Android
|
- 2026-06-05: DEBT-0056 was narrowed. `src/asset.h` no longer exposes Android
|
||||||
SDK types or forward declarations; retained Android asset-manager and asset
|
SDK types or forward declarations; retained Android asset-manager and asset
|
||||||
handles are stored as opaque pointers and cast only inside `src/asset.cpp`,
|
handles are stored as opaque pointers and cast only inside `src/asset.cpp`,
|
||||||
|
|||||||
@@ -646,6 +646,9 @@ decision used by live canvas cursor requests before retained desktop platform
|
|||||||
cursor bridges continue.
|
cursor bridges continue.
|
||||||
`pp_platform_api::probe_asset_file_timestamp` now owns the retained asset mtime
|
`pp_platform_api::probe_asset_file_timestamp` now owns the retained asset mtime
|
||||||
probe used by layout reload planning, with missing/existing file coverage.
|
probe used by layout reload planning, with missing/existing file coverage.
|
||||||
|
`LayoutManager::load` now consumes that explicit probe plus the pure
|
||||||
|
`plan_asset_file_load_with_probe` decision instead of calling the probing
|
||||||
|
wrapper directly.
|
||||||
`pano_cli plan-clipboard-read` and `pano_cli plan-clipboard-write` expose the
|
`pano_cli plan-clipboard-read` and `pano_cli plan-clipboard-write` expose the
|
||||||
app-core clipboard text decisions used by live clipboard get/set requests
|
app-core clipboard text decisions used by live clipboard get/set requests
|
||||||
before retained platform clipboard bridges continue.
|
before retained platform clipboard bridges continue.
|
||||||
|
|||||||
@@ -24,10 +24,15 @@ void LayoutManager::create()
|
|||||||
bool LayoutManager::load(const char* path)
|
bool LayoutManager::load(const char* path)
|
||||||
{
|
{
|
||||||
auto abs_path = Asset::absolute(path);
|
auto abs_path = Asset::absolute(path);
|
||||||
const auto file_load = pp::platform::plan_asset_file_load(
|
const auto platform_family = pp::platform::current_platform_family();
|
||||||
abs_path,
|
const auto file_probe = pp::platform::platform_uses_asset_file_mtime_reload(platform_family)
|
||||||
|
? pp::platform::probe_asset_file_timestamp(abs_path)
|
||||||
|
: pp::platform::AssetFileTimestampProbe {};
|
||||||
|
const auto file_load = pp::platform::plan_asset_file_load_with_probe(
|
||||||
|
platform_family,
|
||||||
m_loaded,
|
m_loaded,
|
||||||
m_file_last_write_time);
|
m_file_last_write_time,
|
||||||
|
file_probe);
|
||||||
if (!file_load.should_read_file)
|
if (!file_load.should_read_file)
|
||||||
return file_load.skipped_load_result;
|
return file_load.skipped_load_result;
|
||||||
m_file_last_write_time = file_load.last_write_time;
|
m_file_last_write_time = file_load.last_write_time;
|
||||||
|
|||||||
Reference in New Issue
Block a user