sc_world_control_v1.camera_release
Restore exact pre-acquire shared camera/input/mode state before relinquishing own lease. Foreign owner FAILED; stale/zero token NOT_FOUND. Restore failure FAILED retains provider state and latches restart-required; owner cleanup/release can retry restoration, never re-enable mutations. Recovery release allowed after service stop.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, uint64_t)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_world_control_v1.camera_release |
| Record ID | sc-world-control-v1-camera-release |
| Service | game.world.control |
| Table | sc_world_control_v1 |
| Version macro | SC_WORLD_CONTROL_VERSION_1_0 |
| Packed table version | 65536 |
| Since / availability | size >= 40; 1.0 |
| Complete member extent (x64 bytes) | 40 |
| Table size (x64 bytes) | 40 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*camera_release)(sco_plugin* self, uint64_t lease);
Restore exact pre-acquire shared camera/input/mode state before relinquishing own lease. Foreign owner FAILED; stale/zero token NOT_FOUND. Restore failure FAILED retains provider state and latches restart-required; owner cleanup/release can retry restoration, never re-enable mutations. Recovery release allowed after service stop.
Results and failures
Section titled “Results and failures”BAD_ARG invalid owner/input; WRONG_THREAD; UNAVAILABLE absent verified adapter or restart-required; FAILED foreign owner/provider refusal; NOT_FOUND stale lease/no hit. See method-specific output contract.
Absent capability
Section titled “Absent capability”Absent service: query_service NOT_FOUND; present disabled operation: UNAVAILABLE.
Ownership
Section titled “Ownership”Live owner required; call-only copied inputs, host-session borrowed table. No allocation or engine pointers cross boundary. Camera lease exclusive; no steal.
Thread affinity
Section titled “Thread affinity”Game thread only; WRONG_THREAD without provider access.
Callback context
Section titled “Callback context”No plugin callbacks. Host-only provider callbacks synchronous, bounded, nonthrowing.
Reentrancy
Section titled “Reentrancy”Recursive calls refused with FAILED; no waits or async work.
Cleanup and cancellation
Section titled “Cleanup and cancellation”No persisted ray filter. Ordinary owner unload/service stop restores camera before dropping lease; failure retains backing state and requires restart. Fault-retained native provider cleanup not promised.
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_world_control.h(*camera_release) |
| cpp | typed-wrapper | include/scosdk/game/world_control.hppt_->camera_release( |
| csharp | unsupported | docs/design/world-control.mdC# and sandboxed Lua: unsupported |
| lua | unsupported | docs/design/world-control.mdC# and sandboxed Lua: unsupported |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
ABI pins prove layout, not semantic behavior or a live game session.