Difference between revisions of "SDK 6.3"
(Rust section: CubiOS Rust SDK + EXPERIMENTAL (WowBot)) |
(Link public CubiOS Rust SDK repo (WowBot)) |
||
| Line 43: | Line 43: | ||
== Rust API == | == Rust API == | ||
| − | '''EXPERIMENTAL, supported track''' — APIs may change; the primary track is C++. Two-crate '''CubiOS Rust SDK''' (<code>cubios-sys</code> raw + <code>cubios</code> high-level), 1:1 parity with C++ 6.3, 533 public functions. | + | '''EXPERIMENTAL, supported track''' — APIs may change; the primary track is C++. Two-crate '''[https://github.com/wowcube/CubiOS_Rust_SDK CubiOS Rust SDK]''' (public GitHub) (<code>cubios-sys</code> raw + <code>cubios</code> high-level), 1:1 parity with C++ 6.3, 533 public functions. |
* [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules <code>application</code> and <code>cubios</code> | * [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules <code>application</code> and <code>cubios</code> | ||
* [[SDK 6.3/Rust#Application trait|Application trait]] — <code>on_init / on_tick / on_render / on_timer</code>, timers | * [[SDK 6.3/Rust#Application trait|Application trait]] — <code>on_init / on_tick / on_render / on_timer</code>, timers | ||
Latest revision as of 10:41, 26 July 2026
The current WOWCube SDK. Applications can be written in PAWN, C++, or Rust.
PAWN API
Legacy: supported, but no longer actively developed (last PAWN additions — SDK 6.2; 6.3 only removed deprecated calls). For new projects use the C++ API. One page per module:
- SDK 6.3/PAWN/Core — application lifecycle, state, time, RNG, packets
- SDK 6.3/PAWN/Graphics — drawing, images, text, shaders (GFX)
- SDK 6.3/PAWN/Topology — cube geometry, facelets, twists
- SDK 6.3/PAWN/Sound — sound playback
- SDK 6.3/PAWN/Motion Sensor — accelerometer / gyroscope, taps
- SDK 6.3/PAWN/Leaderboard — scores and achievements
- SDK 6.3/PAWN/Splash Screen — splash screens
- SDK 6.3/PAWN/Physics — 2D physics helpers
- SDK 6.3/PAWN/Network — inter-module messaging
- SDK 6.3/PAWN/Save — persistence
- SDK 6.3/PAWN/Scramble — cube scramble
- SDK 6.3/PAWN/Logging — debug logging
- SDK changelog — what changed in 5.1 / 6.0 / 6.2 / 6.3
C++ API
C/C++ cubeapps run via WebAssembly: the same engine functions as PAWN, plus an object-oriented framework and a retained scene graph. This is the primary development track.
Native engine ABI — SDK 6.3/C++/Native API (all 64 functions with full descriptions):
- Core — time, RNG, packets, BLE, saves, user, version, logging
- Graphics — drawing, images, text, shaders, QR, render targets
- Topology — facelets, faces, twists, orientation
- Sound — playback and caching
- Motion Sensors — accelerometer / gyroscope per display
- Leaderboard — scores and rankings
- Types & data structures — structs, enums, constants
Application framework — SDK 6.3/C++/Application:
- Entry point · callbacks (on_Tick, on_Render, on_Twist, …) · timers, networking, saves, AppManager
GFX Engine (scene graph) — SDK 6.3/C++/GFX Engine (56 documented methods + official-sample code):
- The canonical pattern — how real games are structured
- Scene · SceneObject · Screen
- Sprite · AnimatedSprite · SpriteAtlas · Background · Text · QRCode · OffscreenRenderTarget
- Sound / SoundCollection · NetworkMessage / SaveMessage · Scramble · Splashscreen · Math
Rust API
EXPERIMENTAL, supported track — APIs may change; the primary track is C++. Two-crate CubiOS Rust SDK (public GitHub) (cubios-sys raw + cubios high-level), 1:1 parity with C++ 6.3, 533 public functions.
- Crate layout — modules
applicationandcubios - Application trait —
on_init / on_tick / on_render / on_timer, timers - Entry points —
on_init(cid)/run() - FFI types — topology, leaderboard, particles, enums
- Examples — three buildable projects in the DevKit
See also: all SDK 6.3 pages.