Files
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

70 lines
3.9 KiB
Markdown

# Solid atlas asset
`ERR_Atlas.blend` is the editable, locally authored model, generated by
`tools/build_atlas_model.py`. No third-party geometry is copied. Runtime/import
files and four materials live in `addons/core/Assets/Items/ERR_Atlas/`.
The replacement has a 10 mm page block, separate covers, visible page-edge seams
and a continuous 14-turn wire helix. These are mesh surfaces with real depth and
silhouettes, not UI circles. The stock character map grip is retained; the rigid
mesh is offset 15 mm right and 18 mm forward to fit that grip. The runtime map
texture is assigned only to the front printable sheet. Its UVs account for the
render target's vertical orientation and retain the existing layout gutter.
Rebuild from the repository root:
```sh
/home/jakub/devel/gabreta/build/toolchain/blender-4.5.3-linux-x64/blender \
--background --threads 2 --python tools/build_atlas_model.py
```
Then run the Workbench **Build atlas model** plugin, or rebuild
`Assets/Items/ERR_Atlas/ERR_Atlas.fbx` in Resource Manager. The existing XOB meta
file holds material assignments and collision settings. The `.blend` is outside
the addon; the source bundle includes the authored FBX/TXO and imported XOB.
The procedural model rebuild does not overwrite material or import settings.
## Page-turn animation
`AtlasTurn.agr`/`.agf` wrap the stock map holding graph. The attachment must
explicitly start at `ERRAtlasControl`; merely setting the AGR default does not
change the attachment's entry point. The right arm uses the engine's two-bone IK
solver with a target relative to `LeftHandProp`, preserving the existing left
hand grip, aiming, stance and idle poses. The target reaches, sweeps across the
paper and returns through native state-machine blends. Forward turns use command
argument 1; backward turns use 2 and reverse the hand path and sheet rotation.
Direction compares the previous and new printed page numbers, including cover,
index and numpad jumps. It does not depend on the delayed rendered page.
The native item-use command `CMD_HealSelf` is reinterpreted only inside this
atlas attachment. The atlas has no consumable component or healing effect.
`TryUseItemOverrideParams` manages the character action instead of writing
character bones or moving the whole held item. An item use rejected by the
engine falls back to changing the selected page without a forced character pose.
`ERR_AtlasLeaf.blend` is a separate, lightly curved sheet. Its local visual entity
has no replication, physics or collision component. A page update creates one
near the viewer, turns it about the binding, commits the new page after crossing,
and removes the sheet and timer. The shallow sweep avoids the first-person near
plane. No turn ticks run when idle or on a dedicated server. Stowing, opening the
interactive map, death and deletion clean up the temporary sheet. Late joiners
see the current page without replaying old turns.
Rebuild both `ERR_Atlas.fbx` and `ERR_AtlasLeaf.fbx` after changing their generator.
The native imported meshes and exact graph assets are admitted by the source
bundle validator; editable Blender files remain outside the addon.
Bohemia references: [attachment setup](https://community.bistudio.com/wiki/Arma_Reforger:Weapon_Components),
[state-machine timing](https://community.bistudio.com/wiki/Arma_Reforger:Animation_Editor:_State_Machine).
## Validation limits
Hidden, muted native Everon fixture: model import, standing held grip, correct
print orientation, page controls, capture ownership and ordinary-map coexistence.
The fixture also captures an oblique view to inspect binding and thickness.
The native hand-turn run verifies five repeated actions, actual hand positions,
return to idle and leaf cleanup; see
`docs/evidence/held-atlas-hand-turn-20261011/`.
This is not a dedicated-server/remote-holder or all-stance visual acceptance.
Nothing is deployed or published by the model builder.