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
|
||||
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.
|
||||
- 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
|
||||
SDK types or forward declarations; retained Android asset-manager and asset
|
||||
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.
|
||||
`pp_platform_api::probe_asset_file_timestamp` now owns the retained asset mtime
|
||||
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
|
||||
app-core clipboard text decisions used by live clipboard get/set requests
|
||||
before retained platform clipboard bridges continue.
|
||||
|
||||
@@ -24,10 +24,15 @@ void LayoutManager::create()
|
||||
bool LayoutManager::load(const char* path)
|
||||
{
|
||||
auto abs_path = Asset::absolute(path);
|
||||
const auto file_load = pp::platform::plan_asset_file_load(
|
||||
abs_path,
|
||||
const auto platform_family = pp::platform::current_platform_family();
|
||||
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_file_last_write_time);
|
||||
m_file_last_write_time,
|
||||
file_probe);
|
||||
if (!file_load.should_read_file)
|
||||
return file_load.skipped_load_result;
|
||||
m_file_last_write_time = file_load.last_write_time;
|
||||
|
||||
Reference in New Issue
Block a user