FOnline Engine Documentation
This directory contains maintained documentation for reusable engine behavior. It is the user-facing documentation hub for developers who embed or modify FOnline.
Start here
- GettingStarted.md — first route through the engine docs.
- EmbeddingProject.md — how a game repository should embed and own the engine.
- BuildWorkflow.md — build, presets, platform prerequisites, and validation strategy.
- DocumentationExpansionPlan.md — roadmap for researching the repository and expanding engine documentation.
- DocumentationBacklog.md — planned and verified documentation slices.
- DocumentationVerificationReport.md — source-check reports for recently verified slices.
- DocumentationResearchTemplate.md — checklist/template for source-grounded doc slices.
- DocumentationMaintenance.md — maintainer workflow for source-grounded docs, backlog/report updates, and validation.
- ../README.md — polished repository landing page.
- ../AGENTS.md — AI-maintainer entry point and working conventions.
Architecture and source navigation
- Architecture.md — engine layer map and runtime/build composition overview.
- SourceTree.md — source-directory guide for maintainers.
- Applications.md — executable/library entry points and CMake target ownership notes.
- Essentials.md — low-level platform, logging, memory, filesystem, serialization, sockets, and utility layer.
Build and generation
- BuildWorkflow.md — build, presets, platform prerequisites, and validation strategy.
- BuildToolsPipeline.md — staged CMake pipeline, hooks, helpers, and change routing.
- BakingPipeline.md — resource baking, baker classes, script compile adjacency, and validation.
- GeneratedApiAndMetadata.md — codegen, metadata registration, generated files, and property contracts.
- ConfigurationAndDataSources.md — config parsing, settings application, resource-pack data sources, file lookup, and caches.
Runtime model
- EntityModel.md — entity/property/prototype runtime model, holders, events, and serialization relationships.
- MapsMovementGeometry.md — map coordinates, geometry modes, path finding, line tracing, movement contexts, and map loading.
- Networking.md — network buffers, command packing, client/server transports, and ordered UDP.
- Persistence.md — server database facade, backend implementations, commit queue, and recovery logs.
Client, frontend, and platform runtime
- ClientRuntime.md — client lifecycle, server connection, view entities, resources, sprites, render-target bridge, and client tests.
- ServerRuntime.md — authoritative server lifecycle, managers, entity ownership, networking, persistence, movement, and updater backend.
- FrontendAndRendering.md — application abstraction, windows/input/audio, headless/stub modes, renderers, effects, and platform package boundaries.
- ClientUpdater.md — client host/runtime split, runtime ABI, updater protocol, and server-side updater backend.
- Debugging.md — native debugger support, stack traces, Visual Studio helpers, and client host/runtime validation.
- Scripting.md — script system lifecycle, AngelScript backend, native method exports, core scripts, and compile flow.
- ScriptMethodsMap.md — native
///@ ExportMethodfile map by runtime side and receiver family. - Nullability.md —
T?/FO_NULLABLEscript/native boundary contract and analyzers. - Tools.md — engine tool map: baker, AS compiler, mapper, editor, asset explorer, particle editor, and asset processors.
- MapperTools.md — mapper lifecycle, automation, native mapper helpers, and known headless-render workflows.
- WebDebugging.md — WebAssembly target preparation, package layout, and debug workflow.
- AndroidDebugging.md — Android target preparation, package layout, ADB workflow, and remote-scene debugging.
Source and tooling references
- ../Source/README.md — source-tree overview.
- Testing.md — maintained full test-suite map, generated test targets, coverage routing, and validation ownership.
- ../Source/Tests/README.md — short source-tree entry point for engine unit-test suites.
- ../BuildTools/README.md — build tooling notes.
- ../PUBLIC_API.md — public native API notes.
- ../TUTORIAL.md — tutorial material.
Documentation ownership
Use engine docs for reusable engine mechanics: runtime behavior, tool contracts, platform build/debug flows, generated API mechanics, updater protocol, mapper tooling, and script/native conventions.
Use the embedding project’s docs for concrete game content, product rules, quests, balance, text, maps, release policy, and project-specific commands.
Engine docs must not depend on embedding-project files, scripts, tests, CI, or generated artifacts as the proof of engine behavior. If a reusable helper or regression test is cited from an engine doc, it belongs in the engine repository.
Some docs may mention ../../... paths only as explicitly labelled embedding-project examples, for example Last Frontier. The owning procedure, validation, and source-of-truth documentation stay in the repository that owns the files.