Documentation Verification Report
This report records source-grounded documentation verification passes for the engine docs in this checkout. It is not a replacement for the backlog; it records what was checked and which limitations remain.
2026-05-18 — source-tree and runtime model slice
Scope:
Docs/SourceTree.mdDocs/EntityModel.mdDocs/MapsMovementGeometry.mdDocs/Persistence.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Applications/,Source/Client/,Source/Common/,Source/Server/,Source/Scripting/,Source/Tools/,Source/Frontend/,Source/Essentials/, andSource/Tests/for the source-tree routing page.Source/Common/Entity.*,EntityProperties.*,EntityProtos.*,Properties.*,PropertiesSerializator.*, andProtoManager.*for entity/property/prototype claims.Source/Common/Geometry.*,LineTracer.*,Movement.*,PathFinding.*,MapLoader.*, andSource/Tools/MapBaker.*for map/movement/geometry claims.Source/Server/DataBase.*,Source/Server/DataBase-*.cpp, andSource/Tests/Test_DataBase.cppfor persistence claims.
Results:
- Backticked source/build/doc path checks for this slice: no remaining missing paths after replacing the stale Docs/Testing.md future route in
SourceTree.mdand linking runtime map behavior to the now-presentServerRuntime.md/ClientRuntime.mdpages. - Symbol spot checks found the documented owners in current source:
EntityTypeDesc,FO_ENTITY_PROPERTY,ProtoEntity,PropertyRegistrator,GeometryHelper,FindPathInput,MovingContext,MapLoader,DataBaseImpl,RecoveryLogHandle, andCommitNextChange. - Current test inventory observed in this checkout: 79
Source/Tests/Test_*.cppfiles. - Promoted in
Docs/DocumentationBacklog.md:SourceTree.md,EntityModel.md,MapsMovementGeometry.md, andPersistence.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 client/frontend runtime slice below; continue next with
Docs/Networking.mdandDocs/ServerRuntime.md. - Docs/Testing.md, Docs/Essentials.md, Docs/ConfigurationAndDataSources.md, and Docs/DocumentationMaintenance.md are still planned in this checkout unless created in a later pass.
2026-05-18 — client/frontend runtime slice
Scope:
Docs/ClientRuntime.mdDocs/FrontendAndRendering.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Client/Client.*,Source/Client/ClientConnection.*,Source/Client/ResourceManager.*,Source/Client/MapView.*, client entity/view classes, sprite factories,Source/Client/RenderTarget.*,Source/Client/SpriteManager.*, andSource/Client/EffectManager.*for client runtime composition, network dispatch, view-entity ownership, resources, sprites, effects, input mapping, and render-target claims.Source/Frontend/Application*.cpp,Source/Frontend/Application.h,Source/Frontend/Rendering*.cpp,Source/Frontend/Rendering.h, andBuildTools/cmake/stages/Packages.cmakefor application services, headless/stub flows, renderer backends, package-boundary claims, and platform/frontend ownership.Source/Tests/Test_ClientEngine.cpp,Source/Tests/Test_ClientServerIntegration.cpp,Source/Tests/Test_ClientDataValidation.cpp,Source/Tests/Test_ClientRuntimeApi.cpp, andSource/Tests/Test_Rendering.cppfor the current engine-local validation surfaces named by the promoted pages.
Results:
- Backticked source/build/doc path checks for this slice: no missing paths after adding
Source/Tests/Test_Rendering.cppto the frontend/rendering page’s inspected sources. - Symbol spot checks found the documented owners and APIs in current source, including
ClientEngine,ClientConnection,GetClientResources,CreateNetworkConnection,TryFallbackToTcp, clientNet_On...handlers,MapView, client view classes, sprite/effect/render-target managers,Application,AppWindow,AppInput,AppAudio,Renderer,RenderEffect,Null_Renderer,OpenGL_Renderer,Direct3D_Renderer, andIsRenderTargetFlipped. - Current focused test inventory observed for this slice: four
Source/Tests/Test_Client*.cppfiles plusSource/Tests/Test_Rendering.cpp. - Promoted in
Docs/DocumentationBacklog.md:ClientRuntime.mdandFrontendAndRendering.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 networking/server runtime slice below; continue next with
Docs/ClientUpdater.mdand updater boundary checks.
2026-05-18 — networking/server runtime slice
Scope:
Docs/Networking.mdDocs/ServerRuntime.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Common/NetBuffer.*,Source/Common/NetCommand.*, andSource/Common/NetworkUdp.*for message framing, hash/debug-hash serialization, admin command packing, and ordered UDP behavior.Source/Client/NetworkClient*andSource/Server/NetworkServer*for transport-neutral client/server abstractions plus interthread, socket, UDP, ASIO, and WebSocket implementations.Source/Server/Server.*,Source/Server/EntityManager.*,MapManager.*,CritterManager.*,ItemManager.*,Player.*,Critter.*,Map.*,Location.*,Item.*,ClientDataValidation.*, andUpdaterBackend.*for authoritative server runtime ownership, entity/session flow, validation, managers, movement, persistence handoff, and updater hosting.Source/Tests/Test_NetworkUdp.cpp,Source/Tests/Test_NetworkClient.cpp,Source/Tests/Test_NetworkServer.cpp,Source/Tests/Test_ServerEngine.cpp,Source/Tests/Test_ServerItems.cpp,Source/Tests/Test_ServerMapOperations.cpp,Source/Tests/Test_ServerAdvancedOps.cpp,Source/Tests/Test_ServerScriptMethods.cpp,Source/Tests/Test_ClientServerIntegration.cpp,Source/Tests/Test_ClientDataValidation.cpp, andSource/Tests/Test_DataBase.cppfor the current validation surfaces named by the promoted pages.
Results:
- Added a
Source paths inspectedsection toDocs/Networking.mdand replaced its generic integration-test wording with the concrete currentSource/Tests/Test_ClientServerIntegration.cppreference. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source, including
NetBuffer,NetOutBuffer,NetInBuffer,PackNetCommand,NetworkClientConnection,NetworkServerConnection,NetworkServer,UdpOrderedChannel, UDP packet helpers,ServerEngine, server init/job methods, server events,EntityManager,MapManager,CritterManager,ItemManager,Player, inboundProcess_*handlers, client-data validation functions, movement helpers, andUpdaterBackend. - Current focused test inventory observed for this slice: three
Source/Tests/Test_Network*.cppfiles, fiveSource/Tests/Test_Server*.cppfiles, plusSource/Tests/Test_ClientServerIntegration.cpp,Source/Tests/Test_ClientDataValidation.cpp, andSource/Tests/Test_DataBase.cpp. - Promoted in
Docs/DocumentationBacklog.md:Networking.mdandServerRuntime.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 client updater slice below; continue next with platform debugging docs:
Docs/WebDebugging.md,Docs/AndroidDebugging.md, andDocs/Debugging.md.
2026-05-18 — client updater/runtime split slice
Scope:
Docs/ClientUpdater.md- updater-boundary references in
Docs/ServerRuntime.mdandDocs/ClientRuntime.md Docs/DocumentationBacklog.md
Source areas checked:
Source/Applications/ClientApp.cppandSource/Applications/ClientLib.cppfor host/runtime loading, fallback, staged binary promotion, reload results, and platform gating.Source/Client/ClientRuntimeApi.*,Source/Client/Updater.*,Source/Common/Common.h, andSource/Common/Settings-Include.hfor runtime ABI, updater protocol versioning, update targets, disk hashing/cache behavior, and updater settings.Source/Server/UpdaterBackend.*andSource/Server/Server.cppfor server-side descriptor generation, file serving, target-specific binaries, andUpdateFileMaxPortionSizeuse.BuildTools/cmake/stages/Applications.cmakeandBuildTools/package.pyfor client host/library build gates and runtime binary packaging/staging.Source/Tests/Test_ClientRuntimeApi.cppplus updater pipeline tests under../Tools/PipelineTests/for runtime ABI, binary update, staging promotion, resource pack, compatibility-outdated, updater-outdated, missing-payload, and smoke coverage.
Results:
- Added a
Source paths inspectedsection toDocs/ClientUpdater.md. - Replaced obsolete package-entry wording with the current
build_runtime_update_target_nameowner inBuildTools/package.py. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source, including
UpdaterBackend,LoadFromClientResources,ProcessUpdateFile,GetUpdateDescriptor,FO_CLIENT_RUNTIME_HOST_ABI_VERSION,ClientRuntimeMetadata,ClientRuntimeExports,ClientRuntimeResult,FO_QueryClientRuntimeExports,ApplyStagedBinaryUpdate,GetClientRuntimeLivePath,GetClientRuntimeStagingPath,RunClientFromLibrary,RunEmbeddedOrLoadedClient,ResolveRequestedClientRuntime,CanSelfUpdateNativeModules,FO_UPDATER_VERSION,UpdateFileTarget,ClientBinaries,ClientResources,GetCurrentBinaryUpdateTargetName,UpdateFileMaxPortionSize,UpdateFilesInMemory,PlatformBinaries, andbuild_runtime_update_target_name. - Promoted in
Docs/DocumentationBacklog.md:ClientUpdater.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 platform debugging slice below; continue next with
Docs/Architecture.mdandDocs/Applications.md.
2026-05-18 — platform debugging slice
Scope:
Docs/WebDebugging.mdDocs/AndroidDebugging.mdDocs/Debugging.mdDocs/DocumentationBacklog.md
Source areas checked:
BuildTools/buildtools.py,BuildTools/prepare-workspace.sh,BuildTools/prepare-win-workspace.ps1,ThirdParty/emscripten, parent.vscode/tasks.json, parent.vscode/launch.json, parentCMakePresets.json,LastFrontier.fomain,Scripts/Scenes.fos, andScripts/GameState.fosfor web build/package/launch and remote-scene debugging flow.BuildTools/android_device.py,BuildTools/package.py,BuildTools/android-project/,FOnlineActivity.java, Android SDK/NDK pins, parent VS Code tasks, package definitions, CI workflow, and project config for Android package/install/launch/resource-copy behavior.BuildTools/natvis/,BuildTools/cmake/stages/Finalize.cmake,BuildTools/cmake/helpers/Build.cmake,Source/Essentials/StackTrace.*,BaseLogging.*,ExceptionHandling.*,Source/Scripting/AngelScript/AngelScriptContext.cpp,Source/Frontend/ApplicationInit.cpp,Source/Tests/Test_StackTrace.cpp, andSource/Tests/Test_ExceptionHandling.cppfor native visualizers, stack traces, exception callbacks, logging/crash paths, and debugger routing.
Results:
- Added
Source paths inspectedsections to the web, Android, and native debugging docs. - Corrected stale stack/exception documentation from the previous context-object / deferred-log callback model to the current
CatchedStackTraceData,FormatStackTrace(const CatchedStackTraceData&),WriteLogMessage, andSafeWriteStackTracemodel. - Corrected the AngelScript provider name from the old stack-frame wording to current
CollectScriptStackLayers/ script-layer behavior. - Corrected web preset references to the parent
../../CMakePresets.jsonpath. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source/config, including
package-web-debug,prepare-host-workspace,Workspace/web-debug,package-android-debug,android-arm64,launch-game,FOnlineActivity,ClientNetwork.ServerHost,FO_STACK_TRACE_ENTRY,StackTraceData,CatchedStackTraceData,SetScriptStackTraceProvider,CollectScriptStackLayers,ResolveStackTrace,FormatStackTrace,SafeWriteStackTrace,GetStackTraceEntry,BaseEngineException,WriteLogMessage, andSetAsyncLogWriting. - Promoted in
Docs/DocumentationBacklog.md:WebDebugging.md,AndroidDebugging.md, andDebugging.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 architecture/applications slice below; continue next with the build/generation slice.
2026-05-18 — architecture/applications slice
Scope:
Docs/Architecture.mdDocs/Applications.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Applications/for all current app entry-point files.Source/Common/EngineBase.*,Source/Common/Entity.*,Source/Common/ScriptSystem.*,Source/Client/Client.h,Source/Server/Server.h,Source/Frontend/Application.h, andSource/Frontend/ApplicationInit.cppfor the architecture layer map.BuildTools/cmake/stages/Applications.cmakeandBuildTools/cmake/helpers/Build.cmakefor application target wiring and helper ownership.
Results:
- Added
Source paths inspectedsections to the architecture and applications docs. - Replaced stale future-doc wording with links to now-present
BuildToolsPipeline.md,Scripting.md,ServerRuntime.md,BakingPipeline.md, andGeneratedApiAndMetadata.md; kept testing routed toSource/Tests/README.mduntil a dedicated Docs/Testing.md exists. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol/path spot checks found all documented application entry points and app-wiring helpers in current source.
- Promoted in
Docs/DocumentationBacklog.md:Architecture.mdandApplications.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 build/generation slice below; continue next with the script-boundary slice.
2026-05-18 — build/generation slice
Scope:
Docs/BuildToolsPipeline.mdDocs/BakingPipeline.mdDocs/GeneratedApiAndMetadata.mdDocs/DocumentationBacklog.md
Source areas checked:
BuildTools/Init.cmake, all currentBuildTools/cmake/stages/*.cmake,BuildTools/cmake/helpers/*.cmake,BuildTools/codegen.py, andBuildTools/package.pyfor staged build/generation/package ownership.Source/Applications/BakerApp.cpp,Source/Applications/BakerLib.cpp,Source/Tools/Baker.*, all currentSource/Tools/*Baker.*implementations,BuildTools/cmake/stages/ScriptsAndBaking.cmake, and baker tests for baking behavior.BuildTools/cmake/stages/Codegen.cmake,BuildTools/cmake/stages/EngineSources.cmake, metadata helpers/state,BuildTools/codegen.py,Source/Common/MetadataRegistration.*,Source/Common/MetadataRegistration-Template.cpp,Source/Common/GenericCode-Template.cpp,Source/Common/Properties.*,Source/Common/Entity.*,Source/Tools/MetadataBaker.*, metadata/property tests, andPUBLIC_API.mdfor generated API and metadata behavior.
Results:
- Added
Source paths inspectedsections to the BuildTools, baking, and generated API/metadata docs. - Replaced remaining future-script-doc wording in build routing with a real link to the present
Scripting.mdpage. - Confirmed current built-in baker owners include
ModelMeshBaker/ModelInfoBakerunderSource/Tools/and current model-baker coverage inSource/Tests/Test_ModelBaker.cpp. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source, including
AddStageHook,AddExecutableApplication,AddSharedApplication,BakeResources,ForceBakeResources,CompileAngelScript,CompileMonoScripts,BaseBaker,SetupBakers,MasterBaker,MetadataBaker,CodeGeneration,ForceCodeGeneration,FO_SOURCE_META_FILES,FO_MONO_SOURCE,FO_ADDED_COMMON_HEADERS,FO_EMBEDDED_DATA_CAPACITY,FO_INTERNAL_CONFIG_CAPACITY,RegisterDynamicMetadata,MetadataRegistrationtemplates,GenericCode-Template, andPropertyRegistrator. - Promoted in
Docs/DocumentationBacklog.md:BuildToolsPipeline.md,BakingPipeline.md, andGeneratedApiAndMetadata.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 scripting/nullability slice below; continue next with the tools/mapper slice.
2026-05-18 — scripting/nullability slice
Scope:
Docs/Scripting.mdDocs/ScriptMethodsMap.mdDocs/Nullability.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Common/ScriptSystem.*,Source/Scripting/AngelScript/AngelScriptScripting.*,AngelScriptBackend.*,AngelScriptAttributes.cpp,AngelScriptCall.cpp,AngelScriptEntity.cpp,AngelScriptGlobals.cpp,AngelScriptRemoteCalls.cpp,AngelScriptReflection.cpp, engine core scripts, Mono/Native roots, andBuildTools/cmake/stages/ScriptsAndBaking.cmakefor scripting runtime/build flow.- All 18 current
Source/Scripting/*ScriptMethods.cppfiles for native exported method ownership and current export counts. Source/Scripting/AngelScript/AngelScriptAttributes.cpp,Source/Tools/MetadataBaker.cpp,BuildTools/codegen.py,Source/Common/ScriptSystem.h,Source/Essentials/BasicCore.h, nullable analyzer tools under../Tools/NullableEstimate/, parent VS Code/CI task wiring, and nullable/script tests for nullability contracts.
Results:
- Confirmed the current native script method map: 996
///@ ExportMethoddeclarations across 18 script method files. - Corrected stale nullability workflow wording: current nullable appliers preserve author-chosen markers and remove redundant guards; they do not own automatic contract inference.
- Replaced stale parent docs routes in
Nullability.mdwith current engine docs and the currentSource/Tests/README.mdtesting source of truth. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source, including
ScriptSystem,ScriptSystemBackend,RegisterBackend,MapScriptTypes,InitModules,FindFunc,CheckFunc,CallFunc,CallAdminFunc,NativeDataProvider,CheckArgNotNull,CheckReturnNotNull,InitAngelScriptScripting,CompileAngelScript,AngelScriptBackend,RegisterMetadata,CompileTextScripts,LoadBinaryScripts,StripNullableTypeSuffix,FO_NULLABLE, andis_validated_pointer_meta_type. - Promoted in
Docs/DocumentationBacklog.md:Scripting.md,ScriptMethodsMap.md, andNullability.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 tools/mapper slice below; continue next with the planned docs set.
2026-05-18 — tools/mapper slice
Scope:
Docs/Tools.mdDocs/MapperTools.mdDocs/DocumentationBacklog.md
Source areas checked:
- All current
Source/Tools/*.handSource/Tools/*.cppfiles, tool application entry points underSource/Applications/, and focused baker tests for reusable tool ownership. Source/Applications/MapperApp.cpp,Source/Tools/Mapper.*,Source/Scripting/MapperGlobalScriptMethods.cpp,Source/Scripting/CommonGlobalScriptMethods.cpp,Source/Client/MapView.*, andSource/Common/Geometry.cppfor mapper lifecycle, mapper automation helpers, screenshot/readback flow, and map/camera transform claims.- Embedding-project examples explicitly marked as examples:
../../Scripts/MapperRender.fos,../../Tools/MapPreview/generate_map_preview.py,../../Tools/MapPreview/map_preview_overrides.ini, and../../LastFrontier.fomain.
Results:
- Added
Source paths inspectedtoDocs/MapperTools.mdand kept project-specific map-preview/checkpoint details explicitly routed through../../...embedding-project paths. - Replaced stale parent-doc links in
MapperTools.mdwith engine-localArchitecture.md/Scripting.mdlinks where the owner now exists in engine docs; project-only build/checkpoint routes remain plain embedding-project paths. - Backticked source/build/doc path checks for this slice: no missing paths.
- Symbol spot checks found the documented owners and APIs in current source, including
MasterBaker,BaseBaker,SetupBakers,MapperEngine,MapperMainLoop,DrawMapperFrame,ProcessMapperInputEvent,LoadMapFromText,LoadMap,ShowMap,SaveCurrentMap,SaveMap,Mapper_Game_*exports,Common_Game_RequestQuit,MapView::SetScreenSize,MapView::InstantScrollTo,MapView::InstantZoom,WriteSimpleTga, andGetHexOffset. - Promoted in
Docs/DocumentationBacklog.md:Tools.mdandMapperTools.mdfromdraftedtoverified.
Follow-up:
- Completed by the later 2026-05-18 planned-docs completion slice below; the initial documentation backlog is now complete.
2026-05-18 — planned-docs completion slice
Scope:
Docs/Essentials.mdDocs/ConfigurationAndDataSources.mdDocs/Testing.mdDocs/DocumentationMaintenance.mdDocs/README.mdSource/Tests/README.mdAGENTS.mdDocs/DocumentationBacklog.md
Source areas checked:
Source/Essentials/*.h,Source/Essentials/*.cpp,BuildTools/cmake/stages/EngineSources.cmake, and essentials tests for the low-level foundation page.Source/Common/ConfigFile.*,Settings.*,Settings-Include.h,DataSource.*,FileSystem.*,CacheStorage.*,Source/Essentials/DiskFileSystem.*,Source/Client/ResourceManager.*, baker/config consumers, BuildTools generation/baking/package stages, and focused config/data-source/cache/filesystem tests for configuration/data-source routing.Source/Applications/TestingApp.cpp, all 79 currentSource/Tests/Test_*.cppfiles,FO_TESTS_SOURCEinBuildTools/cmake/stages/EngineSources.cmake, generated test/coverage target wiring inBuildTools/cmake/stages/Applications.cmake, coverage setup inBuildTools/cmake/stages/Init.cmake,BuildTools/codecoverage.py, and validator wrappers for the test-suite page.../AGENTS.md,README.md,Docs/README.md,Docs/DocumentationBacklog.md,Docs/DocumentationExpansionPlan.md,Docs/DocumentationResearchTemplate.md, and this report for documentation-maintenance workflow.
Results:
- Created the final four planned docs and linked them from
Docs/README.mdandAGENTS.mdwhere appropriate. - Updated
Source/Tests/README.mdfrom a partial stale inventory to a complete short source-tree entry point linked toDocs/Testing.md. - Confirmed the current test inventory is 79
Source/Tests/Test_*.cppsuites and listed every suite inDocs/Testing.mdandSource/Tests/README.md. - Promoted in
Docs/DocumentationBacklog.md:Essentials.md,ConfigurationAndDataSources.md,Testing.md, andDocumentationMaintenance.mdfromplannedtoverified. - Marked the initial documentation backlog plan complete. Future doc work should be driven by new source changes, stale findings, or explicit requests.
Follow-up:
- No backlog-planned docs remain. Re-run the documented checks whenever source or docs change.
2026-05-18 — build workflow completion slice
Scope:
Docs/BuildWorkflow.mdREADME.mdDocs/DocumentationExpansionPlan.mdDocs/DocumentationBacklog.md
Source areas checked:
../CMakeLists.txt,../BuildTools/README.md,../BuildTools/Init.cmake,../BuildTools/validate.sh,../BuildTools/validate.cmd,../BuildTools/buildtools.py, staged CMake files under../BuildTools/cmake/stages/, helpers under../BuildTools/cmake/helpers/,../Source/Applications/TestingApp.cpp, and../Source/Tests/README.md.
Results:
- Added source-inspection provenance and validation checklist to
BuildWorkflow.md. - Routed build validation to the newly created
Testing.md,Essentials.md, andConfigurationAndDataSources.mdwhere appropriate. - Added the final planned docs to the root
README.mddocumentation index and refreshedDocumentationExpansionPlan.mdcurrent-baseline list. - Promoted
BuildWorkflow.mdfromdraftedtoverified; no non-legendplanned,researching, ordraftedbacklog entries remain.
Follow-up:
- The initial documentation backlog remains complete; future work should be driven by source changes, stale findings, or new requested topics.