Documentation
Docs/en/reference/particle-format/integration.md
Particle Integration Contract
Generated reference. Do not edit this page directly. Update
BuildTools/ParticleFormatInterface.json, then runpython 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 | Rule | Requirement | Why | Source |
|---|---|---|---|---|
particle-format.integration.sprite |
Sprite integration | Load particle sprites through ParticleSpriteFactory and let the backend choose atlas or direct-scene rendering. | The factory exposes enabled runtime extensions and constructs ParticleSprite from ParticleManager. | Source/Client/ParticleSprites.cpp |
particle-format.integration.model |
Model attachment | Use AttachParticles with a baked runtime resource and a valid model bone, then verify transforms and lifetime in a visible scene. | The model baker verifies the resource and runtime creates the particle at the target joint. | Source/Tools/ModelInfoBaker.cpp Source/Client/ModelInstance.cpp |
particle-format.integration.client-script |
Client script controls | Use the client API for seeded playback, prewarm, scale, or live critter-bone effects and handle a false result where the API reports one. | The exported methods narrow generic sprites to particle sprites before applying backend-neutral controls. | Source/Scripting/ClientGlobalScriptMethods.cpp Source/Scripting/ClientCritterScriptMethods.cpp |
particle-format.integration.project-boundary |
Embedding-project ownership | Keep particle catalogs, visual policy, backend selection, resource provenance, performance budgets, and acceptance scenes in project documentation. | The Engine documents reusable mechanics but cannot define a game’s assets or production targets. | Source/Client/ParticleRuntime.h |
particle-format.integration.critter-run-particle |
Critter model particle | Critter.RunParticle creates a named particle on a model bone only in FO_ENABLE_3D builds; the export is a no-op otherwise. | The script method depends on an active ModelInstance and is not a 2D critter-sprite fallback. | Source/Scripting/ClientCritterScriptMethods.cpp |
particle-format.integration.model-attachment |
.fo3d AttachParticles | A layer/value-selected .fo3d link stores a global baked .spk or .efk path and requires a valid target bone; it lives only while the selected link remains active. | ModelInfoBaker validates the resource and bone, and runtime creates/removes the particle with model composition. | Source/Tools/ModelInfoBaker.cpp Source/Client/ModelInstance.cpp |