Skip to main content

Complete API index

This page is the map of the entire public callable surface. Slots are shown in zero-based ABI order. ROCK may append to V1 during pre-launch, but existing slots are not reordered or repurposed.

Capability names apply after consumer registration. A dash means the call has no per-owner capability check, though its feature/extent and runtime preconditions still apply.

Slots 0–17 · identity, frames, evidence

SlotFunctionPurposeCapabilityDetails
0getVersionReturn provider ABI version.Core
1getModVersionReturn diagnostic ROCK mod version string.Core
2isProviderReadyReport live provider initialization.Core
3registerFrameCallbackRegister an unowned legacy frame callback.Frames
4unregisterFrameCallbackRemove a legacy callback token.Frames
5getFrameSnapshotCopy the latest coherent aggregate frame.Frames
6queryWeaponContactAtPointResolve weapon evidence near a game-space point.Weapon parts
7clearExternalBodiesClear legacy owner-level body registrations.ExternalBodiesExternal bodies
8setOffhandInteractionReservationSet/release the legacy offhand reservation.OffhandReservationInput & offhand
9registerExternalBodiesV1Replace legacy owner-level body registrations.ExternalBodiesExternal bodies
10getWeaponEvidenceDetailCountV1Get current generated weapon evidence row count.Weapon data
11copyWeaponEvidenceDetailsV1Copy semantic weapon evidence rows.Weapon data
12getWeaponEvidenceDetailPointCountV1Get one evidence body's local point count.Weapon data
13copyWeaponEvidenceDetailPointsV1Copy one evidence body's local mesh points.Weapon data
14getBodyContactSnapshotV1Copy bounded semantic player-body contacts.Contacts
15getPrimaryHandV1Return ROCK's current primary/firing hand role.Frames
16getOffhandHandV1Return the opposite hand role.Frames
17getHandFrameV1Copy a root-flattened physics-authority hand frame.Frames

Slots 18–36 · ownership, commands, input, weapon parts

SlotFunctionPurposeCapabilityDetails
18registerConsumerV1Create a named owner and grant supported requested capabilities.Core
19unregisterConsumerV1Revoke an owner and all owner-bound resources.Registered ownerCore
20getGrantedCapabilitiesV1Read the current capability mask for an owner.Registered ownerCore
21getProviderLimitsV1Copy base feature and capacity limits.Core
22getExternalContactSnapshotForOwnerV1Copy retained legacy contacts for an owner.ExternalContactsExternal bodies
23requestForceGrabV1Queue a near force grab.InteractionCommandsCommands
24getInteractionCommandResultV1Read command lifecycle and terminal outcome.InteractionCommandsCommands
25requestForceReleaseV1Queue a gentle or velocity-authored release.InteractionCommandsCommands
26requestThrownDropV1Queue captured-motion or explicit-velocity thrown drop.InteractionCommandsCommands
27setHandInputSuppressionV1Publish/refresh a bounded per-hand suppression lease.HandInputSuppressionInput & offhand
28clearHandInputSuppressionV1Clear one or both caller suppression leases.HandInputSuppressionInput & offhand
29setWeaponPartTargetsV1Replace declarative weapon-part grip targets.WeaponPartInteractionWeapon parts
30clearWeaponPartTargetsV1Clear caller part targets.WeaponPartInteractionWeapon parts
31setWeaponPartDriveTargetsV1Replace leased weapon-part transform drives.WeaponPartInteractionWeapon parts
32clearWeaponPartDriveTargetsV1Clear caller part drives.WeaponPartInteractionWeapon parts
33queryEquippedWeaponClassificationV1Read class, keyword evidence, confidence, and provenance.Weapon data
34getWeaponPartGripStateV1Read per-hand semantic weapon grip state.Weapon parts
35getRawWandButtonStateV1Read sampled button level, availability, age, and sequence.Input & offhand
36isNativePipboyInputSuppressedV1Read effective native Pip-Boy action suppression.Input & offhand

Slots 37–53 · emitters, animation, handling, diagnostics

SlotFunctionPurposeCapabilityDetails
37getWeaponEmitterCountV1Get flashlight/laser/reticle emitter count.Weapon data
38copyWeaponEmittersV1Copy weapon-local emitter state and provenance.Weapon data
39setNativeAnimationAuthorityV1Acquire/refresh selective native animation authority.NativeAnimationAuthorityAnimation
40clearNativeAnimationAuthorityV1Release caller native animation authority.NativeAnimationAuthorityAnimation
41getNativeAnimationAuthorityStateV1Read effective authority and runtime capture health.Animation
42registerAnimationPhaseCallbackV1Register one owner animation-phase callback.AnimationPhasesAnimation
43unregisterAnimationPhaseCallbackV1Remove an owner animation-phase callback.AnimationPhasesAnimation
44getEquippedWeaponGripStateV1Read exact weapon and hand-in-weapon baselines.EquippedWeaponGripStateAnimation
45setHandVisualAuthorityV1Publish/refresh a hand-root and/or finger pose.HandVisualAuthorityAnimation
46clearHandVisualAuthorityV1Clear caller visual authority for one/both hands.HandVisualAuthorityAnimation
47publishNativeAnimationRuntimeV1Publish native hook/capture runtime health lease.NativeAnimationRuntimeProviderAnimation
48setEquippedWeaponHandlingAuthorityV1Acquire/refresh weapon handling policy authority.EquippedWeaponHandlingAuthorityHandling
49clearEquippedWeaponHandlingAuthorityV1Release caller handling authority.EquippedWeaponHandlingAuthorityHandling
50getEquippedWeaponHandlingStateV1Read effective owner, flags, expiry, and hand roles.Handling
51publishDebugOverlayV1Copy an expiring owner line/text publication.DebugOverlayPublicationDebug overlay
52clearDebugOverlayV1Remove caller overlay content.DebugOverlayPublicationDebug overlay
53getPresentedHandFrameV1Read final presented hand-root transform.Frames

Slots 54–63 · safe discovery, owner state, scoped contacts

SlotFunctionPurposeCapabilityDetails
54getProviderLimitsExtV1Copy the complete feature/capacity/lease contract.Core
55getPublicStructureSizeV1Return provider size for a public structure ID.Core
56registerFrameCallbackForOwnerV1Register a frame callback bound to a consumer.FrameSnapshotsFrames
57unregisterFrameCallbackForOwnerV1Remove one owner callback.FrameSnapshotsFrames
58getHandInteractionStateV1Read pointer-free per-hand selection/hold/release and surface-anchor state.HandInteractionStateFrames
59copyProviderEventsSinceV1Read owner/global provider events through a loss-aware cursor.ProviderEventsFrames
60getEquippedWeaponStateV1Read coherent weapon identity and transition outcome.FrameSnapshotsFrames
61registerExternalBodiesForScopeV1Transactionally replace one authenticated child scope.ExternalBodyScopesExternal bodies
62clearExternalBodiesForScopeV1Clear one authenticated child scope.ExternalBodyScopesExternal bodies
63copyExternalContactsSinceV1Read enriched scoped/wildcard contacts with loss metadata.ExternalBodyScopes + ExternalContactsExternal bodies

Slots 64–74 · part, optic, pose, contact, collider readback

SlotFunctionPurposeCapabilityDetails
64queryWeaponPartTargetResolutionV1Explain whitelist match, winning group/priority/owner.WeaponPartObservabilityWeapon parts
65copyWeaponPartPoseSnapshotV1Copy value-only current weapon-part poses.WeaponPartObservabilityWeapon parts
66copyWeaponPartDriveApplicationResultsV1Copy caller drive application outcomes.WeaponPartObservabilityWeapon parts
67getScopeSightStateV1Read scope/sight activation, anchor, bounds, and identity.ScopeSightStateWeapon data
68getWeaponCompositionStateV1Read composition signature and semantic coverage.WeaponCompositionWeapon data
69copyWeaponCompositionEntriesV1Copy active/disabled OMOD and attach-point rows.WeaponCompositionWeapon data
70getSelectedAuthoredGripPoseV1Read selected authored hand/finger pose.PoseReadbackAnimation
71getPresentedHandPoseV1Read final hand root plus 15 finger locals.PoseReadbackAnimation
72copySemanticHandContactsV1Copy begin/continued/end per-hand contacts.SemanticHandContactsContacts
73copyPlayerColliderDescriptorsV1Copy typed player hand/body collider descriptions.PlayerColliderDescriptorsContacts
74getHandCollisionAvailabilityV1Explain current hand collision usability.PlayerColliderDescriptorsContacts

Slots 75–81 · cancellation, observability, leases, cleanup

SlotFunctionPurposeCapabilityDetails
75cancelInteractionCommandV1Cancel a still-queued command.InteractionCommandsCommands
76getHandInputSuppressionStateV1Read effective/caller flags, expiry, and invalidation.InputObservabilityInput & offhand
77acquireOffhandReservationV1Acquire a generation-guarded offhand lease.OffhandReservationInput & offhand
78renewOffhandReservationV1Refresh the caller's existing lease.OffhandReservationInput & offhand
79releaseOffhandReservationV1Explicitly release the caller's lease.OffhandReservationInput & offhand
80getOffhandReservationStateV1Read effective owner, mode, expiry, and generations.OffhandReservationInput & offhand
81clearNativeAnimationRuntimeV1Explicitly clear caller runtime-health publication.NativeAnimationRuntimeProviderAnimation

Slots 82–89 · touch mechanisms, exact-hand control, world tools

SlotFunctionPurposeCapabilityDetails
82setTouchGrabTargetsForScopeV1Replace one scope of fixed-anchor, hinge, or prismatic touch targets.TouchGrabTargetsTouch & world tools
83clearTouchGrabTargetsForScopeV1Clear one caller-owned touch-target scope.TouchGrabTargetsTouch & world tools
84copyTouchGrabStatesForScopeV1Copy owner-scoped target phase, body, hand, mesh/collision anchor, and coordinate state.TouchGrabTargetsTouch & world tools
85requestTouchGrabYieldV1Stop acquisition and asynchronously yield a target to another motion owner.TouchGrabTargetsTouch & world tools
86requestEquippedWeaponHandV1Arm canonical right/left carry for the current weapon under handling authority.EquippedWeaponHandlingAuthorityHandling
87queryWorldRaycastV1Run one bounded provider-filtered closest-hit world raycast.WorldRaycastsTouch & world tools
88setColliderVisualizationOverrideV1Focus ROCK's complete collider overlay on one current weapon body.ColliderVisualizationOverrideDebug overlay
89clearColliderVisualizationOverrideV1Restore the unchanged config-driven collider overlay.ColliderVisualizationOverrideDebug overlay

DLL exports

ExportUse
ROCKAPI_GetDescriptorV1Preferred immutable descriptor-first entry point. RockProviderApi::initialize uses it automatically.
ROCKAPI_GetProviderApiLegacy direct table accessor. Safe only when no appended extent is required.
ROCKAPI_GetApiCompatibility alias declared by ROCKApi.h; returns the same table.

Normal consumers should call RockProviderApi::initialize, not resolve these exports themselves.

Header-only callables

The public header also provides these consumer-side functions:

  • initialization: RockProviderApi::initialize;
  • safe limit queries: queryProviderLimitsV1, queryProviderLimitsExtV1;
  • extent/feature primitives: providerApiTableSupportsV1, providerSupportsFeature2V1;
  • bit tests: hasLifecycleFlag, hasConsumerCapabilityV1, hasFeatureBitV1, hasFeatureBit2V1, hasHandInputSuppressionFlagV1, hasWeaponPartTargetFlagV1, hasWeaponKeywordFlagV1, hasNativeAnimationAuthorityFlagV1, and hasEquippedWeaponHandlingFlagV1;
  • named supports…V1 helpers listed in Discovery and capabilities.

The helpers execute in the consumer DLL. The 90 slots above execute through the ROCK-owned table.