FOnline Engine
Current master GitHub
Documentation Docs/en/reference/particle-format/validation.md

Particle Validation Contract

Generated reference. Do not edit this page directly. Update BuildTools/ParticleFormatInterface.json, then run python BuildTools/docs_particle_format.py --write.

Reference index Source rules Formats and backends Rendering Tooling Runtime Integration Validation Canonical JSON model Guide Authoring tools
Stable ID Gate Requirement Why Source
particle-format.validation.documentation Documentation contract Run docs_particle_format.py –check and its focused unit test after changing particle formats, backends, tools, or integrations. The manifest validates every source anchor and generated page. BuildTools/ParticleFormatInterface.json
particle-format.validation.baker-tests Particle baker tests Run the ParticleBaker unit tests after changing source formats, transforms, path checks, compiler output, or dependency invalidation. The native suite exercises both backend bake boundaries. Source/Tests/Test_ParticleBaker.cpp
particle-format.validation.effekseer-runtime Effekseer runtime tests Run the focused Effekseer runtime tests after changing compiler/runtime geometry, sorting, batching, textures, seed, or scale. The suite checks deterministic callback geometry and supported runtime behavior. Source/Tests/Test_EffekseerParticleRuntime.cpp
particle-format.validation.project-bake Embedding-project bake Rebake an affected embedding project and reject authored .spk/.efk, malformed sources, missing dependencies, and stale generated resources. Only the project bake sees its complete resource graph and feature selection. Source/Tools/ParticleBaker.cpp
particle-format.validation.visible-scene Visible runtime validation Inspect every affected backend and integration route in Mapper and a representative client scene, including depth, clipping, lifetime, transforms, and performance. Successful compilation cannot prove visual correctness or gameplay timing. Source/Tools/ParticleEditor.cpp
particle-format.validation.render-routes Both render routes Visibly check atlas particles and direct-scene particles at their real draw order, camera angle, scale, depth occluders, and supported renderer backends. Headless parsing cannot prove framing, alpha, blend, depth, orientation, or world-scale behavior. Source/Client/ParticleSprites.cpp
Source/Client/SparkExtension.cpp
particle-format.validation.model-route Model attachment route For AttachParticles or Critter.RunParticle changes, visibly verify the target bone, offset, active layer lifetime, animation, and FO_ENABLE_3D profile. ParticleSprite tests do not exercise model-bone ownership or projection. Source/Tests/Test_ModelBaker.cpp
Source/Client/ModelInstance.cpp

Validation commands

python BuildTools\docs_particle_format.py --check
python -m unittest BuildTools.tests.test_docs_particle_format
cmake --build <build-dir> --config RelWithDebInfo --target RunUnitTests

An embedding project must also rebake its resources and visibly inspect every affected backend and integration route.

Start typing to search.