Problem
The V8-enabled native package build fails while linking webscene_native_engine_tests because webscene_profile_clear_data_v1 is declared as a public C ABI function but its definition is nested inside the scene-acquisition anonymous namespace.
Observed in the exact package gate for PR #835 (run 35509963213, Linux job 106076080246):
undefined symbol: webscene_profile_clear_data_v1
referenced by test_durable_profile_restart_contract
The shared-library translation unit compiles, but the function has internal linkage, so consumers cannot resolve the advertised ABI.
Proposed fix
- close the scene helper anonymous namespace before defining
webscene_profile_clear_data_v1;
- keep the public function in the surrounding
extern "C" block;
- add a regression that verifies the compiled object exposes the public symbol and does not retain a local anonymous-namespace copy;
- run the focused native package/link gate on Linux and Windows.
Acceptance
webscene_native_engine_tests links with V8 enabled;
- durable profile restart/clear coverage passes;
- packaged native library exports
webscene_profile_clear_data_v1 on supported platforms;
- no change to the ABI signature or profile clearing behavior.
Problem
The V8-enabled native package build fails while linking
webscene_native_engine_testsbecausewebscene_profile_clear_data_v1is declared as a public C ABI function but its definition is nested inside the scene-acquisition anonymous namespace.Observed in the exact package gate for PR #835 (run 35509963213, Linux job 106076080246):
The shared-library translation unit compiles, but the function has internal linkage, so consumers cannot resolve the advertised ABI.
Proposed fix
webscene_profile_clear_data_v1;extern "C"block;Acceptance
webscene_native_engine_testslinks with V8 enabled;webscene_profile_clear_data_v1on supported platforms;