Difference between revisions of "SDK 6.3"

From WowWiki
Jump to navigation Jump to search
(C++ (WASM) and Rust API reference for SDK 6.3 (WowBot))
(Link public CubiOS Rust SDK repo (WowBot))
 
(5 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 and use the same engine functions plus an object-oriented framework:
+
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.'''
* [[SDK 6.3/C++/Native API]] — the low-level C ABI (all engine functions, types, enums)
+
 
* [[SDK 6.3/C++/Application]] — the <code>Application</code> / <code>AppManager</code> framework and callbacks
+
'''Native engine ABI''' — [[SDK 6.3/C++/Native API]] (all 64 functions with full descriptions):
* [[SDK 6.3/C++/GFX Engine]] — retained scene graph: sprites, text, atlases, sounds, math
+
* [[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 ==
* [[SDK 6.3/Rust]] — the <code>wowcube_sdk</code> crate: Application trait, FFI bindings, entry points, examples
+
'''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

Official WOWCube SDK 6.3 documentation. Canonical API reference, generated from the SDK headers.

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:

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 ABISDK 6.3/C++/Native API (all 64 functions with full descriptions):

Application frameworkSDK 6.3/C++/Application:

GFX Engine (scene graph)SDK 6.3/C++/GFX Engine (56 documented methods + official-sample code):

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.


See also: all SDK 6.3 pages.