Difference between revisions of "SDK 6.3"
(Link SDK changelog from portal (WowBot)) |
(Link public CubiOS Rust SDK repo (WowBot)) |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
== PAWN API == | == 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|C++ API]]. | ||
One page per module: | One page per module: | ||
* [[SDK 6.3/PAWN/Core]] — application lifecycle, state, time, RNG, packets | * [[SDK 6.3/PAWN/Core]] — application lifecycle, state, time, RNG, packets | ||
| Line 21: | Line 22: | ||
== C++ API == | == 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): | ||
| + | * [[SDK 6.3/C++/Core|Core]] — time, RNG, packets, BLE, saves, user, version, logging | ||
| + | * [[SDK 6.3/C++/Graphics|Graphics]] — drawing, images, text, shaders, QR, render targets | ||
| + | * [[SDK 6.3/C++/Topology|Topology]] — facelets, faces, twists, orientation | ||
| + | * [[SDK 6.3/C++/Sound|Sound]] — playback and caching | ||
| + | * [[SDK 6.3/C++/Motion Sensors|Motion Sensors]] — accelerometer / gyroscope per display | ||
| + | * [[SDK 6.3/C++/Leaderboard|Leaderboard]] — scores and rankings | ||
| + | * [[SDK 6.3/C++/Native API#Types and data structures|Types & data structures]] — structs, enums, constants | ||
| + | |||
| + | '''Application framework''' — [[SDK 6.3/C++/Application]]: | ||
| + | * [[SDK 6.3/C++/Application#Entry point|Entry point]] · [[SDK 6.3/C++/Application#class Cubios::Application|callbacks (on_Tick, on_Render, on_Twist, …)]] · timers, networking, saves, [[SDK 6.3/C++/Application#class Cubios::AppManager|AppManager]] | ||
| + | |||
| + | '''GFX Engine (scene graph)''' — [[SDK 6.3/C++/GFX Engine]] (56 documented methods + official-sample code): | ||
| + | * [[SDK 6.3/C++/GFX Engine#The canonical pattern|The canonical pattern]] — how real games are structured | ||
| + | * [[SDK 6.3/C++/GFX Engine#Scene|Scene]] · [[SDK 6.3/C++/GFX Engine#SceneObject|SceneObject]] · [[SDK 6.3/C++/GFX Engine#Screen|Screen]] | ||
| + | * [[SDK 6.3/C++/GFX Engine#Gfx::Sprite|Sprite]] · [[SDK 6.3/C++/GFX Engine#Gfx::AnimatedSprite|AnimatedSprite]] · [[SDK 6.3/C++/GFX Engine#Gfx::SpriteAtlas|SpriteAtlas]] · [[SDK 6.3/C++/GFX Engine#Gfx::Background|Background]] · [[SDK 6.3/C++/GFX Engine#Gfx::Text|Text]] · [[SDK 6.3/C++/GFX Engine#Gfx::QRCode|QRCode]] · [[SDK 6.3/C++/GFX Engine#Gfx::OffscreenRenderTarget|OffscreenRenderTarget]] | ||
| + | * [[SDK 6.3/C++/GFX Engine#Sound and SoundCollection|Sound / SoundCollection]] · [[SDK 6.3/C++/GFX Engine#NetworkMessage and SaveMessage|NetworkMessage / SaveMessage]] · [[SDK 6.3/C++/GFX Engine#Scramble|Scramble]] · [[SDK 6.3/C++/GFX Engine#Splashscreen|Splashscreen]] · [[SDK 6.3/C++/GFX Engine#Math|Math]] | ||
== Rust API == | == Rust API == | ||
| − | '' | + | '''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#Application trait|Application trait]] — <code>on_init / on_tick / on_render / on_timer</code>, timers | ||
| + | * [[SDK 6.3/Rust#Entry points|Entry points]] — <code>on_init(cid)</code> / <code>run()</code> | ||
| + | * [[SDK 6.3/Rust#FFI types|FFI types]] — topology, leaderboard, particles, enums | ||
| + | * [[SDK 6.3/Rust#Examples|Examples]] — three buildable projects in the DevKit | ||
---- | ---- | ||
See also: [[:Category:SDK 6.3|all SDK 6.3 pages]]. | See also: [[:Category:SDK 6.3|all SDK 6.3 pages]]. | ||
[[Category:SDK 6.3]] | [[Category:SDK 6.3]] | ||
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.