Owner-thread climbing planner and executor for one character. 更多...
#include <Climbing.h>
Public 成员函数 | |
| ClimbingRuntime ()=default | |
| Climbing runtime. | |
| ClimbingRuntime (const ClimbingRuntime &)=delete | |
| ClimbingRuntime & | operator= (const ClimbingRuntime &)=delete |
| ClimbingRuntime (ClimbingRuntime &&) noexcept=default | |
| Climbing runtime. | |
| ClimbingRuntime & | operator= (ClimbingRuntime &&) noexcept=default |
| Operator =. | |
| ~ClimbingRuntime () noexcept | |
| Releases any live anchor reservation before runtime storage is destroyed. | |
| eve::Result< void > | setProfile (ClimbingProfile profile) |
| Replaces the runtime profile after validating all dimensions and action definitions. | |
| eve::Result< void > | reloadProfile (ClimbingProfile profile) |
| Atomically publishes a validated profile while pinning any active execution to its old snapshot. | |
| eve::Result< void > | setProfileJson (std::string_view json) |
| Parses and installs a canonical profile JSON document transactionally. | |
| eve::Result< void > | reloadProfileJson (std::string_view json) |
| Parses and hot-reloads a canonical profile JSON document transactionally. | |
| eve::Result< void > | upsertAction (ClimbingActionDefinition action) |
| Adds or replaces one action definition by stable id. | |
| eve::Result< void > | validateAnimationBinding (std::string_view actionId, const animation::AnimClip &clip) |
| Validates and records an action's clip notify contract without retaining the clip. | |
| eve::Result< ClimbingCandidateSet > | probe (physics::World3D &world, const ClimbingPose &pose) const |
| Probes, validates, and deterministically sorts all matching candidates. | |
| eve::Result< void > | probeInto (physics::World3D &world, const ClimbingPose &pose, ClimbingCandidateSet &output, eve::SimulationTick tick=eve::SimulationTick::zero()) const |
| Probe into caller-retained fixed storage; successful calls atomically replace output. | |
| eve::Result< ClimbingCandidate > | tryBegin (physics::World3D &world, const ClimbingPose &pose, eve::SimulationTick tick) |
| Begins the best current candidate atomically, or returns NotFound without mutation. | |
| eve::Result< ClimbingPredictionDecision > | tryBeginPredicted (physics::World3D &world, const ClimbingPose &pose, const ClimbingPredictionRequest &request, eve::SimulationTick serverTick, std::uint64_t maxClientTickLead) |
| Re-probes authoritative state and commits only the exact server-matched predicted candidate. | |
| eve::Result< ClimbingCandidate > | tryBeginAnchor (physics::World3D &world, ClimbingAnchorGraphHandleRef graph, const ClimbingAnchorNodeRef &node, ClimbingAnchorAgentId agentId, std::string_view actionId, const ClimbingPose &pose, eve::SimulationTick tick) |
| Begins an authored graph anchor using the same authoritative execution lifecycle. | |
| eve::Result< void > | transitionAnchor (physics::World3D &world, const ClimbingAnchorNodeRef &target, ClimbingAnchorEdgeKind edgeKind, std::string_view actionId, eve::SimulationTick tick) |
| Atomically moves a hanging graph execution to a reserved adjacent node. | |
| eve::Result< ClimbingAdvance > | advance (physics::World3D &world, eve::SimulationStep step) |
| Advances the active trajectory through the world's capsule mover. | |
| eve::Result< ClimbingAdvance > | advance (physics::World3D &world, eve::SimulationStep step, const ClimbingMotionInput &motion) |
| Advances with an authored root-motion delta before warp and capsule collision. | |
| eve::Result< void > | drop (eve::SimulationTick tick) |
| Enters an explicit physics-constrained drop from a hanging pose. | |
| eve::Result< void > | climbUp (eve::SimulationTick tick) |
| Branches from hanging into the best compatible mantle/climb-up definition. | |
| eve::Result< void > | cancel (ClimbingCancelReason reason, eve::SimulationTick tick) |
| Cancels an active execution with an injected tick and stable, strongly typed reason. | |
| eve::Result< std::vector< ClimbingEvent > > | drainEvents () |
| Atomically takes all events queued by simulation operations in stable production order. | |
| std::size_t | pendingEventCount () const noexcept |
| Number of undelivered events currently owned by this runtime. | |
| ClimbingDebugSnapshot | inspect () const |
| Captures the latest bounded owning diagnostics without querying Physics. | |
| ClimbingRuntimeCounters | counters () const noexcept |
| Return allocation-free counters for the latest probe or active execution workload. | |
| const ClimbingTelemetryBuffer & | telemetry () const noexcept |
| Return the runtime-owned fixed profiler ring. | |
| ClimbingLocomotionPolicy | locomotionPolicy () const noexcept |
| Return an owning ordinary-locomotion policy snapshot safe across later profile reloads. | |
| void | clearTelemetry () noexcept |
| Clear profiler samples without affecting simulation state or diagnostic evidence. | |
| void | recordOrdinaryTick (eve::SimulationTick tick, std::uint32_t queryCount=0, std::uint32_t moverIterations=0, std::uint64_t elapsedNanoseconds=0) noexcept |
| Record one ordinary locomotion tick and its bounded Physics mover work. | |
| void | setDebugCapture (ClimbingDebugCapture capture) noexcept |
| Enables or disables bounded diagnostic capture; disabling immediately releases captured data. | |
| eve::Result< eve::Value > | snapshot () const |
| Captures deterministic runtime state; debug candidates and final bone poses are excluded. | |
| eve::Result< std::string > | snapshotJson () const |
| Serializes the canonical runtime snapshot as JSON. | |
| eve::Result< void > | restore (const eve::Value &value, physics::World3D &world) |
| Restores a fully parsed candidate atomically after revalidating all process-local Physics links. | |
| eve::Result< void > | restoreJson (std::string_view json, physics::World3D &world) |
| Parses and atomically restores a canonical runtime snapshot JSON document. | |
| ClimbingPhase | phase () const noexcept |
| Current lifecycle phase. | |
| ClimbingExecutionId | executionId () const noexcept |
| Current execution identity, or zero when no execution is active or retained. | |
| std::uint64_t | definitionGeneration () const noexcept |
| Current monotonically increasing profile/action definition generation. | |
| eve::Result< ClimbingAnchorNodeRef > | currentAnchor () const |
| Returns the current graph node reference, or NotFound when execution is probe-only. | |
静态 Public 属性 | |
| static constexpr std::string_view | SnapshotSchemaId = "evengine.climbing-runtime" |
| Stable schema id for owning runtime snapshots. | |
| static constexpr std::int64_t | SnapshotSchemaVersion = 4 |
| Current runtime snapshot version; v3 is N-1 and historical v2/v1/v0 remain migratable. | |
| static constexpr std::size_t | PendingEventCapacity = 64 |
| Hard bound for undelivered post-simulation events owned by one runtime. | |
友元 | |
| class | ClimbingSelectionSystem |
| class | ClimbingServiceSelectionSystem |
详细描述
Owner-thread climbing planner and executor for one character.
The runtime owns definitions and execution state, but never retains a World3D pointer. Every physics call accepts a borrowed world for that synchronous call and validates its runtime handle.
在文件 Climbing.h 第 653 行定义.
构造及析构函数说明
◆ ClimbingRuntime() [1/3]
|
default |
Climbing runtime.
◆ ClimbingRuntime() [2/3]
|
delete |
◆ ClimbingRuntime() [3/3]
|
defaultnoexcept |
Climbing runtime.
◆ ~ClimbingRuntime()
|
noexcept |
Releases any live anchor reservation before runtime storage is destroyed.
在文件 ClimbingAnchorExecution.cpp 第 144 行定义.
成员函数说明
◆ advance() [1/2]
| eve::Result< ClimbingAdvance > eve::climbing::ClimbingRuntime::advance | ( | physics::World3D & | world, |
| eve::SimulationStep | step | ||
| ) |
Advances the active trajectory through the world's capsule mover.
- 参数
-
world Borrowed for this synchronous owner-thread call only; never retained. step Injected deterministic simulation step; duplicate/non-increasing ticks are rejected.
在文件 ClimbingExecution.cpp 第 8 行定义.
引用了 advance(), step , 以及 world.
被这些函数引用 advance().
◆ advance() [2/2]
| eve::Result< ClimbingAdvance > eve::climbing::ClimbingRuntime::advance | ( | physics::World3D & | world, |
| eve::SimulationStep | step, | ||
| const ClimbingMotionInput & | motion | ||
| ) |
Advances with an authored root-motion delta before warp and capsule collision.
在文件 ClimbingExecution.cpp 第 12 行定义.
引用了 eve::climbing::ClimbingAdvance::actionId, eve::climbing::Active, eve::climbing::ClimbingQueryBudgets::Active, eve::climbing::runtime_detail::activeBranchComboTag(), eve::climbing::runtime_detail::activeBranchWindow(), eve::climbing::runtime_detail::activeContactWeight(), eve::climbing::runtime_detail::activeWarpChannels(), eve::climbing::Aligning, eve::climbing::AnchorReached, eve::climbing::ApplyActionWarp, eve::climbing::Balanced, eve::climbing::BarSwing, eve::climbing::BeamBalance, eve::climbing::runtime_detail::boundedDebugPush(), eve::climbing::BranchClose, eve::climbing::BranchOpen, eve::climbing::ClimbingProfileDefinition::cameraCueProfile, eve::climbing::Cancelled, eve::climbing::ClimbingProfileDefinition::capsuleHeight, eve::climbing::ClimbingProfileDefinition::capsuleRadius, channels, eve::climbing::runtime_detail::clampMagnitude(), eve::climbing::Climbing, eve::climbing::ClimbUp, eve::climbing::Collide, eve::climbing::CollisionCompact, eve::climbing::ClimbingProfileDefinition::compactCapsuleHeight, eve::climbing::Completed, eve::Conflict, eve::physics::CapsuleMove3D::constrained, eve::climbing::ContactLeftHand, eve::climbing::ContactRightHand, eve::physics::CapsuleMove3D::deltaX, eve::physics::CapsuleMove3D::deltaY, eve::physics::CapsuleMove3D::deltaZ, eve::climbing::Dropping, eve::climbing::Enabled, eve::climbing::runtime_detail::epsilon, eve::Diagnostic::error(), eve::climbing::ClimbingMotionInput::facing, eve::climbing::Failed, eve::Result< T >::failure(), filter, eve::climbing::runtime_detail::finalWarpWindowEnd(), eve::physics::Body3D::getLinearVelocityX(), eve::physics::Body3D::getLinearVelocityY(), eve::physics::Body3D::getLinearVelocityZ(), graph, eve::physics::CapsuleMove3D::grounded, eve::climbing::Hanging, eve::climbing::ClimbingMotionInput::hasRootMotion, eve::physics::QueryFilter3D::ignoredBodyId, eve::climbing::IgnoreTraversedShape, eve::InvalidArgument, eve::climbing::runtime_detail::isActivePhase(), eve::climbing::runtime_detail::isAnchorHangEnd(), eve::climbing::runtime_detail::isFinite(), eve::physics::CapsuleMove3D::iterations, eve::climbing::LadderDismount, eve::climbing::Land, eve::climbing::Landed, eve::climbing::Landing, eve::climbing::Launching, eve::climbing::LedgeGrab, eve::climbing::LeftFoot, eve::climbing::LeftHand, length, eve::physics::Body3D::localToWorldPointOwned(), eve::climbing::ClimbingProfileDefinition::maxPelvisDeviation, eve::climbing::ClimbingProfileDefinition::maxPlatformSpeed, eve::climbing::ClimbingProfileDefinition::maxTotalWarpBudget, eve::climbing::ClimbingProfileDefinition::maxWarpResidual, eve::climbing::ClimbingRuntimeCounters::moverIterations, eve::climbing::None, eve::climbing::ClimbingMotionInput::notifies, eve::climbing::ClimbingMotionInput::obstacleCollision, output, eve::climbing::Pelvis, eve::climbing::ClimbingMotionInput::pelvisOffset, eve::climbing::PoleSwing, eve::PreconditionViolation, eve::climbing::PreserveSuppliedDelta, eve::climbing::ClimbingRuntimeCounters::queryBudget, eve::climbing::ClimbingRuntimeCounters::queryCount, eve::climbing::ClimbingProfileDefinition::queryFilter, eve::climbing::Recovering, eve::climbing::Climbing::resolveAnchorGraph(), eve::climbing::RightFoot, eve::climbing::RightHand, eve::climbing::ClimbingMotionInput::rootMotionPolicy, eve::climbing::ClimbingMotionInput::rootTranslation, eve::climbing::ClimbingMotionInput::rootYawRadians, scale, eve::climbing::ClimbingRuntimeCounters::selectedCost, eve::climbing::runtime_detail::signedHorizontalAngle(), eve::climbing::ClimbingProfileDefinition::skin, eve::StaleHandle, step, eve::Result< T >::success(), eve::climbing::Swinging, t, eve::climbing::runtime_detail::terminalVelocityFor(), eve::climbing::ClimbingMotionEvidence::tick, eve::climbing::detail::trajectoryPoint(), eve::climbing::WallRun, eve::climbing::ClimbingRuntimeCounters::warpResidual, eve::climbing::ClimbingRuntimeCounters::workload, world, eve::climbing::Vec3::x, eve::climbing::Vec3::y , 以及 eve::climbing::Vec3::z.
◆ cancel()
| eve::Result< void > eve::climbing::ClimbingRuntime::cancel | ( | ClimbingCancelReason | reason, |
| eve::SimulationTick | tick | ||
| ) |
Cancels an active execution with an injected tick and stable, strongly typed reason.
- 参数
-
reason Authoritative terminal reason. tick Simulation tick recorded on the queued cancellation event.
在文件 Climbing.cpp 第 728 行定义.
引用了 action, eve::climbing::AnchorStale, eve::Applied, eve::climbing::Cancelled, eve::Conflict, eve::climbing::Dropping, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::climbing::Hanging, eve::climbing::runtime_detail::isActivePhase(), eve::climbing::LinkStale, eve::climbing::MotionBlocked, eve::NotFound, eve::PreconditionViolation, eve::StaleHandle, eve::Status::success(), eve::Result< T >::success(), t, tick , 以及 eve::climbing::WarpBudgetExceeded.
◆ clearTelemetry()
|
inlinenoexcept |
Clear profiler samples without affecting simulation state or diagnostic evidence.
在文件 Climbing.h 第 783 行定义.
◆ climbUp()
| eve::Result< void > eve::climbing::ClimbingRuntime::climbUp | ( | eve::SimulationTick | tick | ) |
Branches from hanging into the best compatible mantle/climb-up definition.
在文件 Climbing.cpp 第 682 行定义.
引用了 action, eve::climbing::ClimbingProfileDefinition::actions, eve::Applied, eve::climbing::ClimbUp, eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::climbing::Hanging, eve::climbing::Launching, eve::NotFound, eve::PreconditionViolation, eve::StaleHandle, eve::Status::success(), eve::Result< T >::success(), tick , 以及 eve::Duration::zero().
◆ counters()
|
inlinenoexcept |
Return allocation-free counters for the latest probe or active execution workload.
在文件 Climbing.h 第 777 行定义.
◆ currentAnchor()
| eve::Result< ClimbingAnchorNodeRef > eve::climbing::ClimbingRuntime::currentAnchor | ( | ) | const |
Returns the current graph node reference, or NotFound when execution is probe-only.
在文件 ClimbingAnchorExecution.cpp 第 175 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::NotFound , 以及 eve::Result< T >::success().
◆ definitionGeneration()
|
inlinenoexcept |
Current monotonically increasing profile/action definition generation.
在文件 Climbing.h 第 809 行定义.
◆ drainEvents()
| eve::Result< std::vector< ClimbingEvent > > eve::climbing::ClimbingRuntime::drainEvents | ( | ) |
Atomically takes all events queued by simulation operations in stable production order.
- 返回
- Owning event batch; callbacks and scripts may be invoked only after this method returns. @thread Call on the runtime owner thread after the simulation phase. @reentrancy The returned batch is detached before user code can run; events produced reentrantly remain queued.
在文件 Climbing.cpp 第 86 行定义.
引用了 eve::Applied, code, events, eve::NoOp , 以及 eve::Status::success().
◆ drop()
| eve::Result< void > eve::climbing::ClimbingRuntime::drop | ( | eve::SimulationTick | tick | ) |
Enters an explicit physics-constrained drop from a hanging pose.
在文件 Climbing.cpp 第 654 行定义.
引用了 eve::Applied, eve::Conflict, eve::climbing::ClimbingProfileDefinition::dropInitialSpeed, eve::climbing::Dropped, eve::climbing::Dropping, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::climbing::Hanging, eve::climbing::None, eve::NotFound, eve::PreconditionViolation, eve::StaleHandle, eve::Status::success(), eve::Result< T >::success() , 以及 tick.
◆ executionId()
|
inlinenoexcept |
Current execution identity, or zero when no execution is active or retained.
在文件 Climbing.h 第 805 行定义.
被这些函数引用 restore() , 以及 tryBeginAnchor().
◆ inspect()
| ClimbingDebugSnapshot eve::climbing::ClimbingRuntime::inspect | ( | ) | const |
Captures the latest bounded owning diagnostics without querying Physics.
在文件 Climbing.cpp 第 766 行定义.
引用了 eve::climbing::ClimbingRuntimeCounters::broadPhaseHitCount, eve::climbing::ClimbingRuntimeCounters::broadPhaseQueryCount, eve::climbing::ClimbingDebugSnapshot::phase , 以及 snapshot().
◆ locomotionPolicy()
|
noexcept |
Return an owning ordinary-locomotion policy snapshot safe across later profile reloads.
在文件 Climbing.cpp 第 97 行定义.
引用了 eve::climbing::ClimbingProfileDefinition::airControl, eve::climbing::ClimbingProfileDefinition::coyoteTicks, eve::climbing::ClimbingProfileDefinition::gravity, eve::climbing::ClimbingProfileDefinition::groundAcceleration, eve::climbing::ClimbingProfileDefinition::groundBraking, eve::climbing::ClimbingProfileDefinition::jumpSpeed , 以及 eve::climbing::ClimbingProfileDefinition::queryFilter.
◆ operator=() [1/2]
|
defaultnoexcept |
Operator =.
◆ operator=() [2/2]
|
delete |
◆ pendingEventCount()
|
inlinenoexcept |
Number of undelivered events currently owned by this runtime.
在文件 Climbing.h 第 773 行定义.
◆ phase()
|
inlinenoexcept |
Current lifecycle phase.
在文件 Climbing.h 第 803 行定义.
被这些函数引用 eve::climbing::ClimbingControl::availableGameplayActions() , 以及 eve::climbing::ClimbingControl::observeGameplay().
◆ probe()
| eve::Result< ClimbingCandidateSet > eve::climbing::ClimbingRuntime::probe | ( | physics::World3D & | world, |
| const ClimbingPose & | pose | ||
| ) | const |
Probes, validates, and deterministically sorts all matching candidates.
- 参数
-
world Borrowed for this synchronous owner-thread call only; never retained.
- 返回
- Owning candidate vector sorted by score and stable action id. @thread Call on the runtime and physics world's shared simulation thread. @reentrancy Does not invoke callbacks or scripts.
在文件 Climbing.cpp 第 166 行定义.
引用了 eve::Result< T >::failure(), output, pose, probeInto(), eve::Result< T >::success() , 以及 world.
被这些函数引用 tryBeginPredicted().
◆ probeInto()
| eve::Result< void > eve::climbing::ClimbingRuntime::probeInto | ( | physics::World3D & | world, |
| const ClimbingPose & | pose, | ||
| ClimbingCandidateSet & | output, | ||
| eve::SimulationTick | tick = eve::SimulationTick::zero() |
||
| ) | const |
Probe into caller-retained fixed storage; successful calls atomically replace output.
- 备注
- Reusing output avoids candidate-container and action-id allocation after warmup.
在文件 Climbing.cpp 第 174 行定义.
引用了 action, eve::climbing::ClimbingProfileDefinition::actions, eve::climbing::ClimbingCandidateSet::begin(), body, eve::physics::RayHit3D::body, eve::physics::RayHit3D::bodyId, eve::climbing::ClimbingCandidate::bodyLocalLanding, eve::climbing::ClimbingCandidate::bodyLocalTop, eve::climbing::runtime_detail::boundedDebugPush(), eve::climbing::Braced, eve::climbing::ClimbingRuntimeCounters::broadPhaseHitCount, eve::climbing::ClimbingRuntimeCounters::broadPhaseQueryCount, eve::climbing::ClimbingRuntimeCounters::budgetState, eve::climbing::CandidateProbe, eve::climbing::ClimbingQueryBudgets::CandidateProbe, eve::climbing::ClimbingProfileDefinition::capsuleHeight, eve::climbing::ClimbingProfileDefinition::capsuleRadius, eve::climbing::ClimbingCandidateSet::clear(), eve::climbing::ClimbingCandidate::clearanceHeight, eve::climbing::ClimbingProfileDefinition::compactCapsuleHeight, eve::climbing::ClimbingCandidateSet::considerWithActionId(), eve::climbing::ClimbingCandidate::curvature, eve::climbing::ClimbingCandidate::definitionGeneration, distance, eve::climbing::ClimbingCandidateSet::empty(), eve::climbing::Enabled, end, eve::climbing::ClimbingCandidateSet::end(), eve::climbing::runtime_detail::epsilon, eve::Diagnostic::error(), eve::climbing::Exceeded, eve::Result< T >::failure(), filter, eve::climbing::Free, eve::climbing::ClimbingCandidateSet::front(), eve::climbing::ClimbingCandidate::frontPoint, eve::climbing::ClimbingCandidate::gapDistance, height, hit, eve::physics::RayHit3D::hit, eve::climbing::ClimbingCandidate::ignoredBodyId, eve::physics::QueryFilter3D::ignoredBodyId, eve::InvalidArgument, eve::climbing::runtime_detail::isActionEnabledForPose(), eve::climbing::runtime_detail::isFinite(), eve::climbing::runtime_detail::isObstacleProbeKind(), eve::climbing::runtime_detail::isProbeRecipeMatchingKind(), eve::climbing::runtime_detail::isRuntimeProbeKind(), eve::climbing::runtime_detail::isSupportSelectorMatch(), eve::climbing::ClimbingCandidate::kind, eve::climbing::ClimbingCandidate::landingFeet, eve::climbing::LedgeGrab, eve::climbing::ClimbingCandidate::leftHandAnchor, eve::climbing::runtime_detail::lengthSquared(), eve::physics::RayHit3D::materialId, eve::climbing::ClimbingProfileDefinition::maxCandidates, eve::climbing::ClimbingProfileDefinition::maxObstacleHeight, eve::climbing::ClimbingProfileDefinition::maxProbeDistance, eve::climbing::ClimbingProfileDefinition::minTopNormalY, eve::climbing::None, normal, eve::climbing::runtime_detail::normalizedHorizontal(), eve::physics::RayHit3D::normalX, eve::physics::RayHit3D::normalY, eve::physics::RayHit3D::normalZ, eve::climbing::ClimbingCandidate::obstacleBody, eve::climbing::ClimbingCandidate::obstacleBodyId, eve::climbing::ClimbingCandidate::obstacleDepth, eve::climbing::ClimbingCandidate::obstacleHeight, eve::climbing::ClimbingCandidate::obstacleShape, eve::climbing::ClimbingCandidate::obstacleShapeId, offset, output, pose, eve::climbing::ClimbingCandidate::probeRecipe, eve::climbing::ClimbingProfileDefinition::probeSectors, eve::climbing::runtime_detail::quantizeMillimeters(), eve::climbing::ClimbingRuntimeCounters::queryBudget, eve::climbing::ClimbingRuntimeCounters::queryCount, eve::climbing::ClimbingProfileDefinition::queryFilter, eve::climbing::ClimbingRuntimeCounters::rejectCount, eve::climbing::ClimbingCandidate::rightHandAnchor, score, eve::climbing::ClimbingCandidate::score, eve::climbing::ClimbingRuntimeCounters::selectedCost, eve::climbing::runtime_detail::selectionCost(), shape, eve::physics::RayHit3D::shape, eve::physics::RayHit3D::shapeId, eve::physics::RayHit3D::shapeTag, sides, eve::climbing::ClimbingProfileDefinition::skin, eve::climbing::Slide, eve::climbing::ClimbingCandidate::slopeRadians, eve::climbing::ClimbingCandidateSet::sortAndLimit(), eve::StaleHandle, eve::Result< T >::success(), eve::climbing::ClimbingCandidate::support, eve::climbing::ClimbingCandidate::supportMaterialId, eve::climbing::ClimbingCandidate::supportShapeTag, eve::climbing::ClimbingCandidate::surfaceNormal, eve::climbing::ClimbingCandidate::surfaceTangent, eve::climbing::ClimbingCandidateSet::swap(), tangent, tick, top, eve::climbing::ClimbingCandidate::topPoint, valid, eve::climbing::validateClimbingProfileDefinition(), eve::climbing::WallRun, eve::climbing::ClimbingRuntimeCounters::workload, eve::climbing::ClimbingCandidate::world, world, eve::climbing::Vec3::x, eve::physics::RayHit3D::x, eve::climbing::Vec3::y, eve::physics::RayHit3D::y, eve::climbing::Vec3::z , 以及 eve::physics::RayHit3D::z.
被这些函数引用 probe().
◆ recordOrdinaryTick()
|
noexcept |
Record one ordinary locomotion tick and its bounded Physics mover work.
在文件 Climbing.cpp 第 794 行定义.
引用了 eve::climbing::Exceeded, eve::climbing::Ordinary, eve::climbing::ClimbingQueryBudgets::Ordinary , 以及 tick.
◆ reloadProfile()
| eve::Result< void > eve::climbing::ClimbingRuntime::reloadProfile | ( | ClimbingProfile | profile | ) |
Atomically publishes a validated profile while pinning any active execution to its old snapshot.
- 返回
- Applied on publication; failure leaves both the active execution and current profile unchanged.
在文件 ClimbingPersistence.cpp 第 11 行定义.
被这些函数引用 reloadProfileJson().
◆ reloadProfileJson()
| eve::Result< void > eve::climbing::ClimbingRuntime::reloadProfileJson | ( | std::string_view | json | ) |
Parses and hot-reloads a canonical profile JSON document transactionally.
在文件 ClimbingPersistence.cpp 第 23 行定义.
引用了 eve::climbing::decodeClimbingProfileDefinition(), eve::Result< T >::failure(), eve::Value::fromJson(), reloadProfile() , 以及 value.
◆ restore()
| eve::Result< void > eve::climbing::ClimbingRuntime::restore | ( | const eve::Value & | value, |
| physics::World3D & | world | ||
| ) |
Restores a fully parsed candidate atomically after revalidating all process-local Physics links.
- 参数
-
value Owning schema v4, N-1 v3, or migratable historical v2/v1/v0 snapshot payload. world Borrowed synchronously for link validation and never retained.
在文件 ClimbingSnapshot.cpp 第 439 行定义.
引用了 action, anchor, eve::Applied, eve::Conflict, eve::climbing::decodeClimbingActionDefinition(), eve::climbing::decodeClimbingProfileDefinition(), eve::Diagnostic::error(), executionId(), eve::Result< T >::failure(), eve::Duration::fromNanoseconds(), eve::RuntimeHandle< Tag >::fromPacked(), eve::Value::getIf(), graph, eve::InvariantViolation, eve::Value::isNull(), nodeId, eve::NotFound, eve::ParseError, eve::climbing::Climbing::resolveAnchorGraph(), root, SnapshotSchemaId, SnapshotSchemaVersion, eve::StaleHandle, state, eve::Status::success(), eve::Result< T >::success(), eve::UnknownVersion, eve::detail::StrongUint64< Tag >::value(), value , 以及 world.
被这些函数引用 restoreJson().
◆ restoreJson()
| eve::Result< void > eve::climbing::ClimbingRuntime::restoreJson | ( | std::string_view | json, |
| physics::World3D & | world | ||
| ) |
Parses and atomically restores a canonical runtime snapshot JSON document.
在文件 ClimbingPersistence.cpp 第 37 行定义.
引用了 eve::Result< T >::failure(), eve::Value::fromJson(), restore(), value , 以及 world.
◆ setDebugCapture()
|
noexcept |
Enables or disables bounded diagnostic capture; disabling immediately releases captured data.
在文件 Climbing.cpp 第 784 行定义.
◆ setProfile()
| eve::Result< void > eve::climbing::ClimbingRuntime::setProfile | ( | ClimbingProfile | profile | ) |
Replaces the runtime profile after validating all dimensions and action definitions.
在文件 Climbing.cpp 第 93 行定义.
被这些函数引用 setProfileJson().
◆ setProfileJson()
| eve::Result< void > eve::climbing::ClimbingRuntime::setProfileJson | ( | std::string_view | json | ) |
Parses and installs a canonical profile JSON document transactionally.
在文件 ClimbingPersistence.cpp 第 15 行定义.
引用了 eve::climbing::decodeClimbingProfileDefinition(), eve::Result< T >::failure(), eve::Value::fromJson(), setProfile() , 以及 value.
◆ snapshot()
| eve::Result< eve::Value > eve::climbing::ClimbingRuntime::snapshot | ( | ) | const |
Captures deterministic runtime state; debug candidates and final bone poses are excluded.
在文件 ClimbingSnapshot.cpp 第 393 行定义.
引用了 action, eve::climbing::encodeClimbingActionDefinition(), eve::climbing::encodeClimbingProfileDefinition(), eve::Result< T >::failure(), root, SnapshotSchemaId, SnapshotSchemaVersion, state , 以及 eve::Result< T >::success().
被这些函数引用 inspect(), eve::climbing::ClimbingControl::observeGameplay(), snapshotJson() , 以及 tryBeginPredicted().
◆ snapshotJson()
| eve::Result< std::string > eve::climbing::ClimbingRuntime::snapshotJson | ( | ) | const |
Serializes the canonical runtime snapshot as JSON.
在文件 ClimbingPersistence.cpp 第 31 行定义.
引用了 eve::Result< T >::failure(), snapshot() , 以及 value.
◆ telemetry()
|
inlinenoexcept |
Return the runtime-owned fixed profiler ring.
在文件 Climbing.h 第 779 行定义.
◆ transitionAnchor()
| eve::Result< void > eve::climbing::ClimbingRuntime::transitionAnchor | ( | physics::World3D & | world, |
| const ClimbingAnchorNodeRef & | target, | ||
| ClimbingAnchorEdgeKind | edgeKind, | ||
| std::string_view | actionId, | ||
| eve::SimulationTick | tick | ||
| ) |
Atomically moves a hanging graph execution to a reserved adjacent node.
- 参数
-
world Borrowed synchronously for target resolution and capsule clearance. target Current-generation destination reference from the same graph. edgeKind Required authored edge semantic. actionId Registered graph-only action definition matching the edge. tick New simulation tick for the branch commit.
在文件 ClimbingAnchorExecution.cpp 第 250 行定义.
引用了 action, eve::climbing::AnchorTransitionStarted, eve::Applied, eve::climbing::Balanced, eve::Conflict, edge, edges, eve::climbing::runtime_detail::epsilon, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::climbing::runtime_detail::findAction(), graph, eve::climbing::Hanging, eve::InvalidArgument, eve::climbing::Launching, length, eve::NotFound, path, pose, eve::PreconditionViolation, eve::climbing::Climbing::resolveAnchorGraph(), scale, eve::StaleHandle, eve::Status::success(), eve::Result< T >::success(), eve::climbing::Swinging, target, tick, world , 以及 eve::Duration::zero().
◆ tryBegin()
| eve::Result< ClimbingCandidate > eve::climbing::ClimbingRuntime::tryBegin | ( | physics::World3D & | world, |
| const ClimbingPose & | pose, | ||
| eve::SimulationTick | tick | ||
| ) |
Begins the best current candidate atomically, or returns NotFound without mutation.
在文件 ClimbingSelection.cpp 第 183 行定义.
引用了 eve::Applied, eve::Result< T >::failure(), pose, eve::Status::success(), eve::Result< T >::success(), tick , 以及 world.
◆ tryBeginAnchor()
| eve::Result< ClimbingCandidate > eve::climbing::ClimbingRuntime::tryBeginAnchor | ( | physics::World3D & | world, |
| ClimbingAnchorGraphHandleRef | graph, | ||
| const ClimbingAnchorNodeRef & | node, | ||
| ClimbingAnchorAgentId | agentId, | ||
| std::string_view | actionId, | ||
| const ClimbingPose & | pose, | ||
| eve::SimulationTick | tick | ||
| ) |
Begins an authored graph anchor using the same authoritative execution lifecycle.
- 参数
-
graph Module-owned generation-qualified graph instance. node Current-generation anchor node reference. agentId Stable non-zero character identity used for occupancy arbitration. actionId Registered ledge-grab or ladder-mount definition used to approach the anchor.
在文件 ClimbingAnchorExecution.cpp 第 183 行定义.
引用了 action, eve::Applied, eve::Conflict, eve::climbing::runtime_detail::epsilon, eve::Diagnostic::error(), executionId(), eve::Result< T >::failure(), eve::climbing::runtime_detail::findAction(), graph, eve::InvalidArgument, eve::detail::StrongUint64< Tag >::isZero(), path, pose, eve::PreconditionViolation, eve::climbing::Climbing::resolveAnchorGraph(), eve::StaleHandle, eve::Status::success(), eve::Result< T >::success(), tick, eve::detail::StrongUint64< Tag >::value() , 以及 world.
◆ tryBeginPredicted()
| eve::Result< ClimbingPredictionDecision > eve::climbing::ClimbingRuntime::tryBeginPredicted | ( | physics::World3D & | world, |
| const ClimbingPose & | pose, | ||
| const ClimbingPredictionRequest & | request, | ||
| eve::SimulationTick | serverTick, | ||
| std::uint64_t | maxClientTickLead | ||
| ) |
Re-probes authoritative state and commits only the exact server-matched predicted candidate.
- 参数
-
pose Server-owned character pose; no pose or target position is read from the request. serverTick Authoritative execution tick used for commit and snapshot. maxClientTickLead Maximum accepted positive client tick lead.
- 返回
- A protocol decision with an authoritative snapshot; transport/probe/serialization faults fail Result.
在文件 ClimbingPrediction.cpp 第 347 行定义.
引用了 eve::climbing::Accepted, eve::climbing::ClimbingPredictionDecision::authoritativeCandidate, eve::climbing::CandidateMismatch, eve::climbing::ClimbingPredictionDecision::clientTick, eve::climbing::Corrected, eve::climbing::ClimbingPredictionDecision::disposition, eve::Result< T >::failure(), index, eve::climbing::InvalidRequest, eve::climbing::makeClimbingCandidateKey(), eve::climbing::NoCandidate, eve::climbing::None, pose, probe(), eve::climbing::ClimbingPredictionDecision::reason, eve::climbing::Rejected, request, eve::climbing::RuntimeBusy, eve::climbing::ClimbingPredictionDecision::sequence, eve::climbing::ClimbingPredictionDecision::serverTick, size, snapshot(), state, eve::Result< T >::success(), eve::climbing::TickTooFarAhead, eve::detail::StrongUint64< Tag >::value(), value , 以及 world.
◆ upsertAction()
| eve::Result< void > eve::climbing::ClimbingRuntime::upsertAction | ( | ClimbingActionDefinition | action | ) |
Adds or replaces one action definition by stable id.
在文件 Climbing.cpp 第 126 行定义.
引用了 action, eve::climbing::ClimbingProfileDefinition::actions, eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::PreconditionViolation, eve::Status::success(), eve::Result< T >::success(), valid , 以及 eve::climbing::validateClimbingActionDefinition().
◆ validateAnimationBinding()
| eve::Result< void > eve::climbing::ClimbingRuntime::validateAnimationBinding | ( | std::string_view | actionId, |
| const animation::AnimClip & | clip | ||
| ) |
Validates and records an action's clip notify contract without retaining the clip.
- 参数
-
actionId Registered stable definition id. clip Borrowed synchronously; the runtime stores only validation evidence.
在文件 Climbing.cpp 第 145 行定义.
引用了 action, eve::Applied, clip, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::climbing::runtime_detail::findAction(), eve::NotFound, eve::PreconditionViolation, eve::Status::success() , 以及 eve::Result< T >::success().
友元及相关函数文档
◆ ClimbingSelectionSystem
|
friend |
在文件 Climbing.h 第 814 行定义.
◆ ClimbingServiceSelectionSystem
|
friend |
在文件 Climbing.h 第 815 行定义.
类成员变量说明
◆ PendingEventCapacity
|
staticconstexpr |
Hard bound for undelivered post-simulation events owned by one runtime.
在文件 Climbing.h 第 660 行定义.
◆ SnapshotSchemaId
|
staticconstexpr |
Stable schema id for owning runtime snapshots.
在文件 Climbing.h 第 656 行定义.
被这些函数引用 restore() , 以及 snapshot().
◆ SnapshotSchemaVersion
|
staticconstexpr |
Current runtime snapshot version; v3 is N-1 and historical v2/v1/v0 remain migratable.
在文件 Climbing.h 第 658 行定义.
被这些函数引用 restore() , 以及 snapshot().
该类的文档由以下文件生成:
- src/modules/climbing/Climbing.h
- src/modules/climbing/Climbing.cpp
- src/modules/climbing/ClimbingAnchorExecution.cpp
- src/modules/climbing/ClimbingExecution.cpp
- src/modules/climbing/ClimbingPersistence.cpp
- src/modules/climbing/ClimbingPrediction.cpp
- src/modules/climbing/ClimbingSelection.cpp
- src/modules/climbing/ClimbingSnapshot.cpp