Files
Viano-Core/doc/clientless/group-follow-spacing-flight.md
T

3.9 KiB

Group gathering, road spacing and human-led flight follow

Prepared 2026-10-29 after commit 54d77d1e4d. The user is recording native transport routes and explicitly requested no installation or server restart. These changes are source/build only and have not been accepted in-game.

Changes

  • Five-minute gathering retains a six-yard meeting neighborhood. The existing positioning helper selects available, supported MMAP-reachable places within five yards of the anchor, considering nearby units and reservations. A spacing walk is allowed to finish; waiting positions refresh their reservation. If no safe free place exists, the bot may share the available space.
  • Ground-follow spline reuse now requires its destination to be within 0.75yd of the newly assigned formation position, rather than 3yd (the entire walking row spacing). Recorded road rows keep their separation during short stops while the leader is still executing a route, and the distance window scales with long mounted formations. Native taxi/transport boarding releases that road wait. Exact portal and boarding endpoints remain unchanged.
  • When a human leader equips a native flight-capable mount, eligible followers prepare their learned profile flight mount even before the leader takes off and while holding formation. Native capability, outdoor, combat, water, transport, casting and battlefield restrictions apply. Grounded preparation retries are limited to once per five seconds. A valid equipped flight mount is retained during takeoff instead of being removed and cast again.
  • An owned ground catch-up route cannot indefinitely prevent switching to the leader's flight. Queued recorded portal/taxi/transport transitions still have precedence. Same-map/phase group following does not depend on the leader remaining in ordinary visual detection range; path, area and separation checks still apply.
  • Stationary aerial formation explicitly publishes MOVEMENTFLAG_FLYING and AnimTier::Fly through the native movement update packet. Idle updates are emitted only when stopping or restoring changed flags/animation, avoiding repeated idle broadcasts. Verified regular touchdown restores Ground tier.

Verification and pending installation

Existing Debug CMake configuration is unchanged. Initial complete build passed; final complete build also passed, log: /tmp/vcore-group-follow-fixes-final-build.log. Eleven focused executable harnesses passed; summary: /tmp/vcore-group-fixes-tests.json (per-test logs share that prefix). These include real production gathering/follow/road/mount/hover adapters, flight admission and handoff, flight policy/geometry, generic shared routes, group policy and group planning. Doubles do not establish actual client visual behavior or real-world route completion.

No SQL/profile/plan edits, console commands, installation, restart, or commit were performed for this task. The existing worldserver PID317961 remained running. Install only after the user finishes recording and permits the planned interruption, then run normal startup verification. In-game acceptance should check Gilded Rose gathering, a larger mounted group at roads/taxi transitions, Lunna's mount switch and following a human leader, stationary griffon animation, and normal landing/dismount behavior. Native taxi routes may naturally overlap; these changes do not create separate flight-master taxi trajectories.

Installation completed

The user subsequently authorized interruption. Installed successfully with existing CMake configuration, after full process exit. Fresh worldserver328503 under gdb/tmux reached ready (12s initialization); process and8085/8087 checked. Install log /tmp/vcore-group-follow-fixes-install.log, startup console /tmp/vcore-group-follow-fixes-start-20261029.log. The old shutdown again hit the known OutdoorPvP destructor fault; its gdb trace is preserved in the old console. No live visual/group acceptance is claimed by startup verification.