sc_relocation_v1_1.request_position
Admit a copied 48-byte position-only request with finite bounded coordinates, timeout 1..60000ms, a nonzero target ID and current spatial observation epoch. Requires an explicit verified position backend and fresh offline/player/session/known-equal-system authority. No quaternion or FullPose fallback; output ticket unchanged on refusal.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, const sc_relocation_position_request *, uint64_t *)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_relocation_v1_1.request_position |
| Record ID | sc-relocation-v1-1-request-position |
| Service | game.relocation |
| Table | sc_relocation_v1_1 |
| Version macro | SC_RELOCATION_VERSION_1_1 |
| Packed table version | 65537 |
| Since / availability | size >= 40; 1.1 |
| Complete member extent (x64 bytes) | 40 |
| Table size (x64 bytes) | 40 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*request_position)(sco_plugin* self, const sc_relocation_position_request* request, uint64_t* out_ticket);
Admit a copied 48-byte position-only request with finite bounded coordinates, timeout 1..60000ms, a nonzero target ID and current spatial observation epoch. Requires an explicit verified position backend and fresh offline/player/session/known-equal-system authority. No quaternion or FullPose fallback; output ticket unchanged on refusal.
Results and failures
Section titled “Results and failures”SCO_OK admitted, not arrived; SCO_BAD_ARG invalid request/live owner; SCO_UNAVAILABLE stale epoch, absent position backend or unknown/unsafe authority; SCO_TOO_MANY one global pending request or ticket exhaustion; wrong thread returns SCO_WRONG_THREAD. Outputs unchanged on refusal.
Absent capability
Section titled “Absent capability”game.relocation.position is OFF with the existing native/legacy backend. A valid request returns SCO_UNAVAILABLE; old hosts lack service 1.1.
Ownership
Section titled “Ownership”Local player only; owner-scoped opaque tickets. No arbitrary entity/pointer/owner writes. Copied request and caller-owned output. 32 retained terminal tickets; oldest terminal evicted at admission.
Thread affinity
Section titled “Thread affinity”Game thread only; wrong thread returns SCO_WRONG_THREAD without touching state.
Callback context
Section titled “Callback context”No callbacks; bounded tick-driven work.
Reentrancy
Section titled “Reentrancy”Non-reentrant.
Cleanup and cancellation
Section titled “Cleanup and cancellation”Shares one pending and 32 terminal owner-scoped tickets with FullPose. Completion requires a later fresh finite position in the admitted target frame within 0.05m, without rotation reads. Independent target-instance change fails TARGET; spatial epoch is checked only at admission. Owner/session/system/safety/fault guards, no retry/rollback and cancel/status lifetimes remain.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sc_relocation.h(*request_position) |
| cpp | direct | include/sc_relocation.h(*request_position) |
| csharp | unsupported | include/sc_relocation.hC# and Lua unsupported |
| lua | unsupported | include/sc_relocation.hC# and Lua unsupported |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
- tests/abi_relocation.c
- tests/test_relocation_position.cpp
- tests/game_contracts/relocation/test_position_provider.cpp
ABI pins prove layout, not semantic behavior or a live game session.