<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>WowWiki  - Recent changes [en]</title>
		<link>https://wiki.wowcube.com/wiki/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.43.9</generator>
		<lastBuildDate>Sat, 15 Aug 2026 09:55:19 GMT</lastBuildDate>
		<item>
			<title>About</title>
			<link>https://wiki.wowcube.com/index.php?title=About&amp;diff=16985&amp;oldid=16919</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=About&amp;diff=16985&amp;oldid=16919</guid>
			<description>&lt;p&gt;Publications: add DOI links, two 2025 papers (incl. Peric/Kicikovs/Filin), WOWCube Lab; move category to bottom (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:02, 13 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;President&amp;amp;Founder   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;President&amp;amp;Founder   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039; Savva Osipov&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Savva Osipov&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Idea Creator, Evangelist&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Idea Creator, Evangelist&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039; Semyon Orlov&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Semyon Orlov&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chief Engineer. (Died as a result of unsuccessful heart surgery at the age of 38)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chief Engineer. (Died as a result of unsuccessful heart surgery at the age of 38)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Max Filin&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Max Filin&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CEO&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CEO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l75&quot;&gt;Line 75:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Publications ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Publications ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V. (2017). &amp;lt;b&amp;gt;Cubios Transreality Puzzle as a Mixed Reality Object&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;International Journal of Virtual and Augmented Reality (IJVAR)&amp;lt;/i&amp;gt;, 1(2), 1-17.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V. (2017). &amp;lt;b&amp;gt;Cubios Transreality Puzzle as a Mixed Reality Object&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;International Journal of Virtual and Augmented Reality (IJVAR)&amp;lt;/i&amp;gt;, 1(2), 1-17. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://doi.org/10.4018/ijvar.2017070101 doi:10.4018/ijvar.2017070101]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V. (2017). &amp;lt;b&amp;gt;Transreality puzzle as new genres of entertainment technology&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;arXiv preprint arXiv:1705.03973&amp;lt;/i&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V. (2017). &amp;lt;b&amp;gt;Transreality puzzle as new genres of entertainment technology&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;arXiv preprint arXiv:1705.03973&amp;lt;/i&amp;gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://arxiv.org/abs/1705.03973 arxiv.org/abs/1705.03973]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., &amp;amp; Nikulchev, E. (2018, November). &amp;lt;b&amp;gt;WOWCube Puzzle: A Transreality Object of Mixed Reality.&quot;&amp;lt;/b&amp;gt; In &amp;lt;i&amp;gt;Proceedings of the Future Technologies Conference. Springer&amp;lt;/i&amp;gt;, Cham.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., &amp;amp; Nikulchev, E. (2018, November). &amp;lt;b&amp;gt;WOWCube Puzzle: A Transreality Object of Mixed Reality.&quot;&amp;lt;/b&amp;gt; In &amp;lt;i&amp;gt;Proceedings of the Future Technologies Conference. Springer&amp;lt;/i&amp;gt;, Cham. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://doi.org/10.1007/978-3-030-02683-7_3 doi:10.1007/978-3-030-02683-7_3]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., Nikulchev, E., Egoryshkin, I., &amp;amp; Orlov, S. (2018). &amp;lt;b&amp;gt;Gamification Device Wowcube: Design And Program Environment.&amp;lt;/b&amp;gt; In &amp;lt;i&amp;gt;ICPE 2018-International Conference on Psychology and Education&amp;lt;/i&amp;gt; (pp. 496-505).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., Nikulchev, E., Egoryshkin, I., &amp;amp; Orlov, S. (2018). &amp;lt;b&amp;gt;Gamification Device Wowcube: Design And Program Environment.&amp;lt;/b&amp;gt; In &amp;lt;i&amp;gt;ICPE 2018-International Conference on Psychology and Education&amp;lt;/i&amp;gt; (pp. 496-505). &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://doi.org/10.15405/epsbs.2018.11.02.55 doi:10.15405/epsbs.2018.11.02.55]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., &amp;amp; Nikulchev, E. (2018). &amp;lt;b&amp;gt;Review puzzles and construction sets falling under the category of augmented reality games&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;In ITM Web of Conferences (Vol. 18, p. 02003). EDP Sciences.&amp;lt;/i&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Osipov, I. V., &amp;amp; Nikulchev, E. (2018). &amp;lt;b&amp;gt;Review puzzles and construction sets falling under the category of augmented reality games&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;In ITM Web of Conferences (Vol. 18, p. 02003). EDP Sciences.&amp;lt;/i&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://doi.org/10.1051/itmconf/20181802003 doi:10.1051/itmconf/20181802003]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Orlov, S. O., Egoryshkin, I. S., &amp;amp; Nikulchev, E. V. (2020). &amp;lt;b&amp;gt;Development of a game application for a custom eight-processor device with a tangible interface&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;International Journal of Open Information Technologies&amp;lt;/i&amp;gt;, 8(3), 40-46. [https://www.researchgate.net/publication/339602583 ResearchGate]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Peric, N., Kicikovs, M., &amp;amp; [[Max Filin|Filin, M.]] (2025). &amp;lt;b&amp;gt;Internet-of-Things Integration: Sensor-Driven Gameplay on WowCube&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;From Pixels to Play — The Art and Science of Video Games&amp;lt;/i&amp;gt;. IntechOpen. [https://doi.org/10.5772/intechopen.1011908 doi:10.5772/intechopen.1011908]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Osipov, I. V. (2025). &amp;lt;b&amp;gt;Gamification in Education Using the WOWCube®: A Tangible Mixed-Reality Learning Device&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;ELEARNING2025&amp;lt;/i&amp;gt; (pp. 266-276). [https://doi.org/10.46793/elearning2025.266o doi:10.46793/elearning2025.266o]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See also the [https://www.researchgate.net/lab/WOWCube-Lab-Ilya-V-Osipov WOWCube Lab] on ResearchGate.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Orlov, S. O., Egoryshkin, I. S., &amp;amp; Nikulchev, E. V. (2020). &amp;lt;b&amp;gt;Development of a game application for a custom eight-processor device with a tangible interface&amp;lt;/b&amp;gt;. In &amp;lt;i&amp;gt;International Journal of Open Information Technologies&amp;lt;/i&amp;gt;, 8(3), 40-46.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:WOWCube_Team]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Milestones ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Milestones ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l98&quot;&gt;Line 98:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;2025&amp;#039;&amp;#039;&amp;#039; — public debut of the Rubik&amp;#039;s® WOWCube® at New York Comic Con (October 15, 2025); retail orders open October 28, 2025 (US$299), with deliveries before Christmas 2025.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;2025&amp;#039;&amp;#039;&amp;#039; — public debut of the Rubik&amp;#039;s® WOWCube® at New York Comic Con (October 15, 2025); retail orders open October 28, 2025 (US$299), with deliveries before Christmas 2025.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;2026&amp;#039;&amp;#039;&amp;#039; — CES 2026 appearance; the system enters the collection of The Strong National Museum of Play; the first community-developed games are published in the official store.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;2026&amp;#039;&amp;#039;&amp;#039; — CES 2026 appearance; the system enters the collection of The Strong National Museum of Play; the first community-developed games are published in the official store.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:WOWCube_Team]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 13 Aug 2026 19:02:20 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:About</comments>
		</item>
		<item>
			<title>Max Filin</title>
			<link>https://wiki.wowcube.com/index.php?title=Max_Filin&amp;diff=16983&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=Max_Filin&amp;diff=16983&amp;oldid=0</guid>
			<description>&lt;p&gt;Create Max Filin page (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Max Filin (official name &amp;#039;&amp;#039;&amp;#039;Maxim Filin&amp;#039;&amp;#039;&amp;#039;) is the chief executive officer (CEO) of [https://wowcube.com Cubios Inc.], the company behind the WOWCube® Entertainment System.&lt;br /&gt;
&lt;br /&gt;
Max joined inventors [[Ilya Osipov]] and [[Savva Osipov]] in the early stages of the project — alongside [[Semyon Orlov]] and other team members — and has led the company&amp;#039;s operations and commercialization as CEO since January 2019. He has about 15 years of experience in production and market launch of consumer electronic devices.&lt;br /&gt;
&lt;br /&gt;
He holds Bachelor&amp;#039;s and Master&amp;#039;s degrees in engineering («Automation of technological processes and production») from the National University of Science and Technology MISIS (Moscow Institute of Steel and Alloys).&lt;br /&gt;
&lt;br /&gt;
During his tenure the WOWCube® Entertainment System was named one of &amp;#039;&amp;#039;Time&amp;#039;&amp;#039; magazine&amp;#039;s «100 Best Inventions of 2021»; in 2024 Cubios announced a partnership with Spin Master, owner of the Rubik&amp;#039;s brand, and in October 2025 the officially licensed &amp;#039;&amp;#039;&amp;#039;Rubik&amp;#039;s® WOWCube®&amp;#039;&amp;#039;&amp;#039; reached retail (see [[About#Milestones|Milestones]]).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/maxfilin/ linkedin.com/in/maxfilin]&lt;br /&gt;
* Interview: [https://valiantceo.com/max-filin-wowcube/ ValiantCEO — WOWCube: A Mixed-Reality Entertainment System]&lt;br /&gt;
* Video: [https://www.youtube.com/watch?v=W7f8lssLPJQ Cubios Inc&amp;#039;s CEO Max Filin talks about WOWCube® system]&lt;br /&gt;
* Crunchbase: [https://www.crunchbase.com/person/max-filin crunchbase.com/person/max-filin]&lt;br /&gt;
* [https://wowcube.com/story/ WOWCube — Story]&lt;br /&gt;
&lt;br /&gt;
[[Category:WOWCube_Team]]&lt;/div&gt;</description>
			<pubDate>Thu, 13 Aug 2026 00:07:54 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:Max_Filin</comments>
		</item>
		<item>
			<title>User:KaterynaPrudka</title>
			<link>https://wiki.wowcube.com/wiki/User:KaterynaPrudka</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/wiki/User:KaterynaPrudka</guid>
			<description>&lt;p&gt;User account &lt;a href=&quot;/index.php?title=User:KaterynaPrudka&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:KaterynaPrudka (page does not exist)&quot;&gt;&lt;bdi&gt;KaterynaPrudka&lt;/bdi&gt;&lt;/a&gt; was created by &lt;a href=&quot;/wiki/User:Ilya000&quot; class=&quot;mw-userlink&quot; title=&quot;User:Ilya000&quot;&gt;&lt;bdi&gt;Ilya000&lt;/bdi&gt;&lt;/a&gt;&lt;/p&gt;
</description>
			<pubDate>Mon, 27 Jul 2026 18:58:59 GMT</pubDate>
			<dc:creator>Ilya000</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/User_talk:KaterynaPrudka</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16981&amp;oldid=16975</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16981&amp;oldid=16975</guid>
			<description>&lt;p&gt;Link full API reference subpages (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l94&quot;&gt;Line 94:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Build: &amp;lt;code&amp;gt;cargo build --release --target wasm32-unknown-unknown&amp;lt;/code&amp;gt; (the workspace config adds &amp;lt;code&amp;gt;--allow-undefined&amp;lt;/code&amp;gt; so engine functions become WASM imports). Package and install like a C++ cubeapp via the [https://marketplace.visualstudio.com/items?itemName=cubios-inc.WOWCubeSDK WOWCube SDK extension for VS Code].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Build: &amp;lt;code&amp;gt;cargo build --release --target wasm32-unknown-unknown&amp;lt;/code&amp;gt; (the workspace config adds &amp;lt;code&amp;gt;--allow-undefined&amp;lt;/code&amp;gt; so engine functions become WASM imports). Package and install like a C++ cubeapp via the [https://marketplace.visualstudio.com/items?itemName=cubios-inc.WOWCubeSDK WOWCube SDK extension for VS Code].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Full API reference ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Complete, generated from the repository sources:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust/cubios-sys]] — raw layer: every FFI binding and safe wrapper (14 modules)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust/cubios]] — high-level layer: every type and method (scene, screens, sprites, text, sound, splash, 142 colors)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Conventions ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Conventions ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:45:18 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust/cubios-sys</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios-sys&amp;diff=16980&amp;oldid=16978</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios-sys&amp;diff=16980&amp;oldid=16978</guid>
			<description>&lt;p&gt;Fix array-type signatures (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called every frame. `cur_time` is current time in ms, `delta_time` is ms since last tick.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called every frame. `cur_time` is current time in ms, `delta_time` is ms since last tick.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Application::fn on_render(&amp;amp;mut self, screens: &amp;amp;mut [Screen&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Application::fn on_render(&amp;amp;mut self, screens: &amp;amp;mut [Screen&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; 3]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called to render the current frame. `screens` contains the 3 screens for this module.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called to render the current frame. `screens` contains the 3 screens for this module.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Application::fn on_phys_tick(&amp;amp;mut self, screens: &amp;amp;[Screen&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Application::fn on_phys_tick(&amp;amp;mut self, screens: &amp;amp;[Screen&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; 3]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called on physics tick. `screens` contains the 3 screens for this module.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Called on physics tick. `screens` contains the 3 screens for this module.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l93&quot;&gt;Line 93:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 93:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Mappable::fn get_place( &amp;amp;self, module: u32, screen: u32, orientation: TopologyOrientation, ) -&amp;amp;gt; Result&amp;amp;lt;(u32, u32), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Mappable::fn get_place( &amp;amp;self, module: u32, screen: u32, orientation: TopologyOrientation, ) -&amp;amp;gt; Result&amp;amp;lt;(u32, u32), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Packable::fn to_pkt(&amp;amp;self, module: u8, screen: u8) -&amp;amp;gt; [u8&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Packable::fn to_pkt(&amp;amp;self, module: u8, screen: u8) -&amp;amp;gt; [u8&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; 4]&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Packable::fn from_pkt(pkt: [u8&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Packable::fn from_pkt(pkt: [u8&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; 4]) -&amp;amp;gt; (Self, u8, u8)&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;fn new(val: T) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;fn new(val: T) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Broadcastable::fn broadcast(&amp;amp;mut self, delay: usize) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Broadcastable::fn broadcast(&amp;amp;mut self, delay: usize) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Broadcastable::fn recv(&amp;amp;mut self, pkt: [u8&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Broadcastable::fn recv(&amp;amp;mut self, pkt: [u8&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; 4]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Shuffable::fn rotate(&amp;amp;mut self, dir: &amp;amp;RotationDir) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; &amp;lt;code&amp;gt;Shuffable::fn rotate(&amp;amp;mut self, dir: &amp;amp;RotationDir) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:45:16 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust/cubios-sys</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust/cubios</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios&amp;diff=16979&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios&amp;diff=16979&amp;oldid=0</guid>
			<description>&lt;p&gt;Full Rust API reference: cubios-sys + cubios, every pub fn with docs (WowBot)&lt;/p&gt;
&lt;a href=&quot;https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios&amp;amp;diff=16979&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:44:43 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust/cubios</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust/cubios-sys</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios-sys&amp;diff=16978&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust/cubios-sys&amp;diff=16978&amp;oldid=0</guid>
			<description>&lt;p&gt;Full Rust API reference: cubios-sys + cubios, every pub fn with docs (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, Rust API — &amp;#039;&amp;#039;&amp;#039;EXPERIMENTAL&amp;#039;&amp;#039;&amp;#039; (supported; APIs may change). Generated from the [https://github.com/wowcube/CubiOS_Rust_SDK CubiOS_Rust_SDK] sources — the repository is authoritative; do not edit by hand.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/Rust|Rust]] / cubios-sys (raw layer)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Complete reference of the &amp;#039;&amp;#039;&amp;#039;raw layer&amp;#039;&amp;#039;&amp;#039; crate [https://github.com/wowcube/CubiOS_Rust_SDK/tree/main/crates/cubios-sys &amp;lt;code&amp;gt;cubios-sys&amp;lt;/code&amp;gt;]: FFI bindings to the CubiOS engine ABI, thin safe wrappers and the application event loop. Signatures and descriptions are extracted from the crate sources. Engine-function semantics match the [[SDK 6.3/C++/Native API|C++ native API]] one-to-one.&lt;br /&gt;
&lt;br /&gt;
== ffi::application ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; trait (11 callbacks), &amp;lt;code&amp;gt;ApplicationContext&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimerController&amp;lt;/code&amp;gt;, the event loop (&amp;lt;code&amp;gt;application_init&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;application_run&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;Anim&amp;amp;lt;T&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AppErr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;enum AppErr&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;enum AppPkt&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;enum RotationDir&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct Anim&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct Timer&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Application&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Assetable&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Mappable&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Packable&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct MapBase&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct SceneSwitch&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Broadcastable&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;trait Shuffable&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct TimerController&amp;lt;/code&amp;gt; · &amp;lt;code&amp;gt;struct ApplicationContext&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;49 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn app_context_mut(&amp;amp;mut self) -&amp;amp;gt; &amp;amp;mut ApplicationContext&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn set_timer(&amp;amp;mut self, id: u8, delay: u32, suspended: bool) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn start_timer(&amp;amp;mut self, id: u8) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn stop_timer(&amp;amp;mut self, id: u8) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn kill_timer(&amp;amp;mut self, id: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_init(&amp;amp;mut self) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called once when the application initializes.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_tick(&amp;amp;mut self, cur_time: u32, delta_time: u32) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called every frame. `cur_time` is current time in ms, `delta_time` is ms since last tick.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_render(&amp;amp;mut self, screens: &amp;amp;mut [Screen&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called to render the current frame. `screens` contains the 3 screens for this module.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_phys_tick(&amp;amp;mut self, screens: &amp;amp;[Screen&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called on physics tick. `screens` contains the 3 screens for this module.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_twist(&amp;amp;mut self, twist: &amp;amp;TopologyTwistInfo) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a twist event occurs.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_tap(&amp;amp;mut self, count: u32) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a tap event occurs. `count` is the number of taps.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_pat(&amp;amp;mut self, count: u32) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a pat event occurs. `count` is the number of pats.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_message(&amp;amp;mut self, msg_type: u32, data: &amp;amp;[u8]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a network message is received from another module.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_external_message(&amp;amp;mut self, data: &amp;amp;[u8]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when an external message is received via BLE.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_timer(&amp;amp;mut self, timer_id: u8) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a timer fires.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn on_close(&amp;amp;mut self) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when the application is closing.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn get_time(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns current time in milliseconds.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn get_time_seconds(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns current time in seconds.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn is_master_module(&amp;amp;self) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns true if this module is the master (module 0).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn send_network_message(&amp;amp;self, msg_type: u32, data: &amp;amp;[u8])&amp;lt;/code&amp;gt;&lt;br /&gt;
: Sends a network message to other modules.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn save_state(&amp;amp;self, data: &amp;amp;[u8])&amp;lt;/code&amp;gt;&lt;br /&gt;
: Saves game state to persistent storage.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn load_state(&amp;amp;self, id: &amp;amp;mut u32, data: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Loads game state from persistent storage. Returns the number of bytes read, or negative on error.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn send_external_message(&amp;amp;self, msg_type: u32, data: &amp;amp;mut [u8])&amp;lt;/code&amp;gt;&lt;br /&gt;
: Sends an external message via BLE.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn show_fps_counter(&amp;amp;self, show: bool)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Shows or hides the FPS counter overlay.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn get_image_assets_count(&amp;amp;self) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the number of image assets available.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Application::fn get_sound_assets_count(&amp;amp;self) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the number of sound assets available.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Assetable::fn get_asset_id(asset: &amp;amp;&amp;#039;static str) -&amp;amp;gt; Result&amp;amp;lt;u32, AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Mappable::fn get_place( &amp;amp;self, module: u32, screen: u32, orientation: TopologyOrientation, ) -&amp;amp;gt; Result&amp;amp;lt;(u32, u32), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Packable::fn to_pkt(&amp;amp;self, module: u8, screen: u8) -&amp;amp;gt; [u8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Packable::fn from_pkt(pkt: [u8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(val: T) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Broadcastable::fn broadcast_part(&amp;amp;mut self, _module: u8, _screen: u8, _delay: usize) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Broadcastable::fn broadcast(&amp;amp;mut self, delay: usize) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Broadcastable::fn recv(&amp;amp;mut self, pkt: [u8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Shuffable::fn rotate(&amp;amp;mut self, dir: &amp;amp;RotationDir) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;Shuffable::fn shuffle(&amp;amp;mut self, algo: &amp;amp;[RotationDir]) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(scenes: &amp;amp;&amp;#039;static [usize], start_time: usize) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn next_scene(&amp;amp;mut self)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_scene(&amp;amp;mut self, id: u8) -&amp;amp;gt; Result&amp;amp;lt;(), AppErr&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn animate(&amp;amp;mut self)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new TimerController with no active timers.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_timer(&amp;amp;mut self, id: u8, delay: u32, suspended: bool) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn start_timer(&amp;amp;mut self, id: u8) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn stop_timer(&amp;amp;mut self, id: u8) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn kill_timer(&amp;amp;mut self, id: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn delta_time(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new ApplicationContext.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn application_init&amp;amp;lt;T: Application&amp;amp;gt;(app: &amp;amp;mut T, cid: u32)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn application_run&amp;amp;lt;T: Application&amp;amp;gt;(app: &amp;amp;mut T)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ffi::comm ==&lt;br /&gt;
&lt;br /&gt;
Inter-module packets and UART lines, BLE external data, time, user name, state save/load, RNG, logging (&amp;lt;code&amp;gt;log_a&amp;lt;/code&amp;gt;…&amp;lt;code&amp;gt;log_v&amp;lt;/code&amp;gt;), tap.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;22 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn send_message(line: u32, pkt: *const u8, size: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn send_message_to(line: u32, dest: u32, pkt: *const u8, size: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn recv_message( line: u32, size: u32, pkt_info: *mut u32, pkt: *mut u8, rx_size: *mut u32, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn send_packet(packet_type: u32, pkt: &amp;amp;[u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Send a packet (new API in SDK 6.3)&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn recv_packet(size: u32, packet_type: *mut u32, pkt: *mut u8) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Receive a packet (new API in SDK 6.3)  Returns the number of bytes received, or negative on error. The packet type is written to `packet_type`.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_time() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_user_name(buffer: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn toggle_debug_info() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn save_state(data: &amp;amp;[u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn load_state(id: &amp;amp;mut u32, data: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Load saved state  Returns the number of bytes loaded, or negative on error. The save ID is written to `id`.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn load_state_legacy(data: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Load saved state (legacy API without ID)  Note: This ignores the save ID. Use `load_state` for full functionality.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn random_range(min: u32, max: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_app_version() -&amp;amp;gt; AppVersion&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the application version&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_a(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_e(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_w(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_i(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_d(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log_v(text: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_tap() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn send_ble_data(data_type: u32, pkt: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Send BLE data&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn recv_ble_data(pkt: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Receive BLE data&lt;br /&gt;
&lt;br /&gt;
== ffi::gfx ==&lt;br /&gt;
&lt;br /&gt;
Immediate-mode drawing: clear, primitives, text, images, baked images, sub-images, shaders, QR, render target, cache.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;26 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_asset_id(sprite_name: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn clear(color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_text( x: i32, y: i32, scale: u32, angle: u32, align: TextAlign, color: u32, text: &amp;amp;str, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_point(x: i32, y: i32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_circle(x: u32, y: u32, radius: u32, width: u32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_solid_circle(x: u32, y: u32, radius: u32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Deprecated: use `set_fill_shader` + `draw_circle` instead&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_arc( x: i32, y: i32, radius: u32, width: u32, angle0: u32, angle1: u32, color: u32, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_sector(x: i32, y: i32, radius: u32, angle0: u32, angle1: u32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_line(x0: i32, y0: i32, x1: i32, y1: i32, thickness: u32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_rectangle(x: i32, y: i32, w: i32, h: i32, color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn bake_image( id: SpriteId, width: u32, height: u32, format: GfxPixelFormat, overwrite: bool, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Bake an image to an offscreen buffer  # Arguments * `id` - Sprite ID to bake * `width` - Width of the baked image * `height` - Height of the baked image * `format` - Pixel format for the baked image * `overwrite` - Whether to overwrite existing baked image&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn remove_baked_image(id: SpriteId) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Remove a previously baked image&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_render_target(display: u8) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_image( id: SpriteId, x: i32, y: i32, opacity: u32, color_key: u32, scale_x: u32, scale_y: u32, angle: u32, mirror: GfxMirror, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_baked_image( x: i32, y: i32, opacity: u32, color_key: u32, scale_x: u32, scale_y: u32, angle: u32, mirror: GfxMirror, id: SpriteId, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_sub_image( id: SpriteId, x: i32, y: i32, rect_x: u32, rect_y: u32, rect_w: u32, rect_h: u32, opacity: u32, color_key: u32, scale_x: u32, scale_y: u32, angle: u32, mirror: GfxMirror, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Draw a sub-region of a sprite (for sprite atlases)&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn draw_qr_code( x: i32, y: i32, size: u32, color0: u32, color1: u32, angle: u32, id: u32, text: &amp;amp;str, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Draw a QR code&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn render() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn clear_cache() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn cache_images(sprite_ids: &amp;amp;[SpriteId]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_assets_count() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the total number of image assets&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_fps_window(size: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set the FPS counter window size&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_fill_shader(color: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set a solid fill shader  When active, drawing operations will use this color to fill shapes.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_linear_gradient_shader( x0: u32, y0: u32, x1: u32, y1: u32, color0: u32, color1: u32, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set a linear gradient shader  # Arguments * `x0`, `y0` - Start point of the gradient * `x1`, `y1` - End point of the gradient * `color0` - Start color * `color1` - End color&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_radial_gradient_shader(x0: u32, y0: u32, radius: u32, color0: u32, color1: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set a radial gradient shader  # Arguments * `x0`, `y0` - Center point of the gradient * `radius` - Radius of the gradient * `color0` - Center color * `color1` - Edge color&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn remove_shader() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Remove the active shader&lt;br /&gt;
&lt;br /&gt;
== ffi::topology ==&lt;br /&gt;
&lt;br /&gt;
Facelets, faces, places, orientation, twists, assembly check.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;15 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_cuben() -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_adjacent_facelet( module: u32, screen: u32, direction: TopologyNeighbour, result: *mut TopologyFaceletInfo, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_reversed_face(face: u32) -&amp;amp;gt; Option&amp;amp;lt;u32&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_facelet( face: u32, position: u32, mode: TopologyOrientation, result: *mut TopologyFaceletInfo, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_place( module: u32, screen: u32, mode: TopologyOrientation, result: *mut TopologyPlace, ) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_opposite_facelet(module: u32, screen: u32, result: *mut TopologyFaceletInfo) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_angle(module: u32, screen: u32, mode: TopologyOrientation) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_facelet_orientation(module: u32, screen: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_place_orientation(face: u32, position: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face(orientation: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn is_assembled() -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_twist(twist: *mut TopologyTwistInfo) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn debug_get_face(module: u32, screen: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn debug_get_position(module: u32, screen: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn debug_get_horizontal() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ffi::sound ==&lt;br /&gt;
&lt;br /&gt;
Sound asset id, play, cache, stop, status.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;6 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_asset_id(sound_name: &amp;amp;str) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn play(sound_id: SoundId, volume: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn cache_sounds(sound_ids: &amp;amp;[SoundId]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn is_playing() -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if a sound is currently playing&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn stop() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Stop the currently playing sound&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_assets_count() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the total number of sound assets&lt;br /&gt;
&lt;br /&gt;
== ffi::motion ==&lt;br /&gt;
&lt;br /&gt;
Per-display accelerometer and gyroscope.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;8 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_accel_x(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw accelerometer value along the screen-local X-axis (horizontal right).  At rest, this reads the X-component of gravity in the screen&amp;#039;s coordinate frame. During motion, reads gravity + linear acceleration.  # Parameters - `display`: Screen index (0–23). All 3 screens on a module return the same physical measurement, transformed to screen-local coordinates.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_accel_y(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw accelerometer value along the screen-local Y-axis (vertical up).  See [`get_face_accel_x`] for details on data format and coordinate frame.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_accel_z(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw accelerometer value along the screen-local Z-axis (toward cube center).  When this screen faces up, Z reads approximately -1g (gravity pulls toward center). When this screen faces down, Z reads approximately +1g.  See [`get_face_accel_x`] for details on data format and coordinate frame.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_gyro_x(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw gyroscope value for rotation around the screen-local X-axis.  Measures angular velocity of the screen pitching up/down. At rest, reads approximately zero. Sign convention: positive = clockwise when looking along the positive X-axis direction (per SDK docs, unverified).  # Parameters - `display`: Screen index (0–23). Same sensor sharing as accelerometer.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_gyro_y(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw gyroscope value for rotation around the screen-local Y-axis.  Measures angular velocity of the screen yawing left/right. See [`get_face_gyro_x`] for details.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_gyro_z(display: u32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get raw gyroscope value for rotation around the screen-local Z-axis.  Measures angular velocity of the screen spinning in-plane (like a wheel). See [`get_face_gyro_x`] for details.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_accel(display: u32) -&amp;amp;gt; (i32, i32, i32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get all 3 accelerometer axes for a screen in one call.  Returns `(x, y, z)` in screen-local coordinates. Equivalent to calling [`get_face_accel_x`], [`get_face_accel_y`], and [`get_face_accel_z`] separately.  # Parameters - `display`: Screen index (0–23).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_face_gyro(display: u32) -&amp;amp;gt; (i32, i32, i32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get all 3 gyroscope axes for a screen in one call.  Returns `(x, y, z)` angular velocities in screen-local coordinates. Equivalent to calling [`get_face_gyro_x`], [`get_face_gyro_y`], and [`get_face_gyro_z`] separately.  # Parameters - `display`: Screen index (0–23).&lt;br /&gt;
&lt;br /&gt;
== ffi::leaderboard ==&lt;br /&gt;
&lt;br /&gt;
Leaderboard info and score table.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_info(info: *mut LbInfo) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_info_safe() -&amp;amp;gt; LbInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get leaderboard info with safe interface&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_score(lead_table_bin: &amp;amp;mut [u8]) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ffi::event ==&lt;br /&gt;
&lt;br /&gt;
Pending-event mask (&amp;lt;code&amp;gt;Event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;get_list&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;enum Event&amp;lt;/code&amp;gt; — Event flags returned by `get_list()`&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_list() -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn has_event(event_list: i32, event: Event) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if a specific event is set in the event list&lt;br /&gt;
&lt;br /&gt;
== ffi::network_message ==&lt;br /&gt;
&lt;br /&gt;
Bit-packed serializer for inter-module messages.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;struct NetworkMessage&amp;lt;/code&amp;gt; — Bit-packed network message for inter-module communication.  Allows packing multiple values into a compact byte buffer using variable bit widths for efficient network transmission.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;17 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new empty network message.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn from_data(data: &amp;amp;[u8]) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a network message from existing data.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn reset(&amp;amp;mut self, zero: bool)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Reset the message position. If `zero` is true, also clear the buffer.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_data(&amp;amp;self) -&amp;amp;gt; &amp;amp;[u8]&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the underlying data buffer and used length.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn can_read(&amp;amp;self, bits: usize) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns true if at least `bits` more bits can be read from the current position.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_int(&amp;amp;mut self, value: u32, bits: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write an unsigned integer with specified bit width (1-32 bits).  This writes raw bits without sign handling. For signed values that need sign extension when read back, use [`write_signed_int`](Self::write_signed_int).  # Arguments * `value` - The unsigned value to write (only the lower `bits` bits are used) * `bits` - Number of bits to write (1-32, clamped if larger)  # Note on C++ SDK difference The C++ `WriteInt` uses `int` (signed), but performs unsigned bit operations. This Rust version uses `u32` to make the unsigned semantics explicit.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_byte(&amp;amp;mut self, value: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a single byte (8 bits).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_signed_int(&amp;amp;mut self, value: i32, bits: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a signed integer with specified bit width.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_bool(&amp;amp;mut self, value: bool)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a boolean (1 bit).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_float(&amp;amp;mut self, value: f32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a 32-bit float.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_int(&amp;amp;mut self, bits: u8) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read an unsigned integer with specified bit width.  This reads raw bits without sign extension. For signed values that were written with [`write_signed_int`](Self::write_signed_int), use [`read_signed_int`](Self::read_signed_int) to properly sign-extend.  # Arguments * `bits` - Number of bits to read (1-32, clamped if larger)  # Returns The unsigned value read from the message buffer.  # Note on C++ SDK difference The C++ `ReadInt` returns `int` (signed), but performs unsigned bit operations. This Rust version returns `u32` to make the unsigned semantics explicit.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_byte(&amp;amp;mut self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a single byte.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_signed_int(&amp;amp;mut self, bits: u8) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a signed integer with specified bit width.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_bool(&amp;amp;mut self) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a boolean.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_float(&amp;amp;mut self) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a 32-bit float.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn position(&amp;amp;self) -&amp;amp;gt; usize&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get current bit position.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn can_write(&amp;amp;self, bits: usize) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if there&amp;#039;s enough space to write `bits` more bits.&lt;br /&gt;
&lt;br /&gt;
== ffi::save_message ==&lt;br /&gt;
&lt;br /&gt;
Bit-packed serializer for the persistent save buffer.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;struct SaveMessage&amp;lt;/code&amp;gt; — Bit-packed save message for game state persistence.  Allows packing multiple values into a compact byte buffer using variable bit widths for efficient save data storage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;18 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new empty save message.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn from_data(data: &amp;amp;[u8]) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a save message from existing data.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn reset(&amp;amp;mut self, zero: bool)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Reset the message position. If `zero` is true, also clear the buffer.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_data(&amp;amp;self) -&amp;amp;gt; &amp;amp;[u8]&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the underlying data buffer (only the used portion).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn get_buffer_mut(&amp;amp;mut self) -&amp;amp;gt; &amp;amp;mut [u8]&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the full buffer for loading saved data.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_int(&amp;amp;mut self, value: u32, bits: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write an unsigned integer with specified bit width (1-32 bits).  This writes raw bits without sign handling. For signed values that need sign extension when read back, use [`write_signed_int`](Self::write_signed_int).  # Arguments * `value` - The unsigned value to write (only the lower `bits` bits are used) * `bits` - Number of bits to write (1-32, clamped if larger)  # Note on C++ SDK difference The C++ `WriteInt` uses `int` (signed), but performs unsigned bit operations. This Rust version uses `u32` to make the unsigned semantics explicit.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_byte(&amp;amp;mut self, value: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a single byte (8 bits).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_signed_int(&amp;amp;mut self, value: i32, bits: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a signed integer with specified bit width.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_bool(&amp;amp;mut self, value: bool)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a boolean (1 bit).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn write_float(&amp;amp;mut self, value: f32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Write a 32-bit float.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_int(&amp;amp;mut self, bits: u8) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read an unsigned integer with specified bit width.  This reads raw bits without sign extension. For signed values that were written with [`write_signed_int`](Self::write_signed_int), use [`read_signed_int`](Self::read_signed_int) to properly sign-extend.  # Arguments * `bits` - Number of bits to read (1-32, clamped if larger)  # Returns The unsigned value read from the save buffer.  # Note on C++ SDK difference The C++ `ReadInt` returns `int` (signed), but performs unsigned bit operations. This Rust version returns `u32` to make the unsigned semantics explicit.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_byte(&amp;amp;mut self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a single byte.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_signed_int(&amp;amp;mut self, bits: u8) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a signed integer with specified bit width.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_bool(&amp;amp;mut self) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a boolean.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn read_float(&amp;amp;mut self) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Read a 32-bit float.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn position(&amp;amp;self) -&amp;amp;gt; usize&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get current bit position.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn can_write(&amp;amp;self, bits: usize) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if there&amp;#039;s enough space to write `bits` more bits.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_used_bits(&amp;amp;mut self, bits: usize)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set the number of used bits (for after loading data).&lt;br /&gt;
&lt;br /&gt;
== ffi::screen ==&lt;br /&gt;
&lt;br /&gt;
Low-level screen descriptor (id, angle, face, position) + &amp;lt;code&amp;gt;create_screens()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;struct Screen&amp;lt;/code&amp;gt; — Represents a screen on a WOWCube module.  Each module has 3 screens. This struct provides access to screen properties like position, orientation, and display ID for rendering purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;7 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(display_id: u8) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Creates a new Screen for the given display ID on this module.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn id(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the display ID (0-2).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn angle(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the current rotation angle.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn position(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the position in the topology.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn face(&amp;amp;self) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Returns the face this screen is on.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn update_from_topology(&amp;amp;mut self, module: u32, orientation: TopologyOrientation)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Updates screen topology information from the system.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn create_screens() -&amp;amp;gt; [Screen; 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
: Creates an array of 3 screens for a module, initialized with display IDs 0, 1, 2.&lt;br /&gt;
&lt;br /&gt;
== ffi::math ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Vec2&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Vec2i&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Color&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Transform&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Rect2&amp;lt;/code&amp;gt;, trigonometry and fixed-point helpers (no_std, libm).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;struct Vec2&amp;lt;/code&amp;gt; — 2D vector with floating-point components. · &amp;lt;code&amp;gt;struct Vec2i&amp;lt;/code&amp;gt; — 2D vector with integer components. · &amp;lt;code&amp;gt;struct Color&amp;lt;/code&amp;gt; — ARGB color with 8-bit components.  Stored as a packed u32 in ARGB format: 0xAARRGGBB · &amp;lt;code&amp;gt;struct Transform&amp;lt;/code&amp;gt; — Transform with position, rotation, scale, and mirroring. · &amp;lt;code&amp;gt;struct Rect2&amp;lt;/code&amp;gt; — 2D rectangle defined by top-left and dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;57 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn log2(f: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Log base 2.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn iclamp(val: i32, min_val: i32, max_val: i32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Clamp an integer value between min and max.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn acos(x: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Arc cosine with value clamping to [-1, 1].&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn asin(x: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Arc sine with value clamping to [-1, 1].&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn sqrt(x: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Safe square root (negative values return 0).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn fequal(f0: f32, f1: f32, tol: f32) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Fuzzy floating point equality check.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn fless(f0: f32, f1: f32, tol: f32) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Fuzzy floating point less-than check.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn fgreater(f0: f32, f1: f32, tol: f32) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Fuzzy floating point greater-than check.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn ftol(val: f32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Fast float to int conversion (truncates).  Note: This is a portable implementation that matches the C++ SDK behavior.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn smooth(new_val: f32, cur_val: f32, max_change: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Smooth a value towards a target using max change per step.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn clamp(val: f32, lower: f32, upper: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Clamp a float value between lower and upper bounds.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn saturate(val: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Saturate a value (clamp between 0.0 and 1.0).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn deg2rad(d: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Convert degrees to radians.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rad2deg(r: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Convert radians to degrees.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn n_abs(a: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the absolute value.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn n_sgn(a: f32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the sign of a value (-1 or 1).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn n_max&amp;amp;lt;T: PartialOrd&amp;amp;gt;(a: T, b: T) -&amp;amp;gt; T&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return the maximum of two values.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn n_min&amp;amp;lt;T: PartialOrd&amp;amp;gt;(a: T, b: T) -&amp;amp;gt; T&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return the minimum of two values.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn lerp(x: f32, y: f32, l: f32) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Linearly interpolate between two values.  Returns `x + l * (y - x)`.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand_get_seed() -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the current random seed.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand_set_seed(s: u32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set the random seed.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand() -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Generate a random u32 using LCG algorithm.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand2() -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return a pseudo random number between 0.0 and 1.0.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand_int(n: i32) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return a random integer in range [0, n].&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rand_real() -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return a random float in [0.0, 1.0].&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(x: f32, y: f32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new vector.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn zero() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Zero vector.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set(&amp;amp;mut self, x: f32, y: f32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set components.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn len(&amp;amp;self) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Calculate length.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn normalize(&amp;amp;mut self)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Normalize in place.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn normalized(&amp;amp;self) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Return normalized copy.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn dot(&amp;amp;self, other: &amp;amp;Self) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Dot product.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(x: i16, y: i16) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new vector.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn zero() -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Zero vector.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rgb(r: u8, g: u8, b: u8) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create from RGB (alpha = 255).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn rgba(r: u8, g: u8, b: u8, a: u8) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create from RGBA.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn from_u32(value: u32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create from packed u32 value (0xAARRGGBB format).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn value(&amp;amp;self) -&amp;amp;gt; u32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the packed u32 value.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn r(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get red component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn g(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get green component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn b(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get blue component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn a(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get alpha component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn a_f32(&amp;amp;self) -&amp;amp;gt; f32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get alpha as float (0.0 - 1.0).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_r(&amp;amp;mut self, r: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set red component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_g(&amp;amp;mut self, g: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set green component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_b(&amp;amp;mut self, b: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set blue component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_a(&amp;amp;mut self, a: u8)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set alpha component.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_a_f32(&amp;amp;mut self, a: f32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set alpha from float (0.0 - 1.0).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(x: f32, y: f32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new transform at position.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn with_rotation(x: f32, y: f32, rotation: i32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create with position and rotation.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn with_scale(x: f32, y: f32, rotation: i32, scale: u32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create with position, rotation, and uniform scale.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn safe_rotation(&amp;amp;self) -&amp;amp;gt; i32&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get rotation normalized to 0-359.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn set_scale(&amp;amp;mut self, scale: u32)&amp;lt;/code&amp;gt;&lt;br /&gt;
: Set uniform scale.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn new(x: i16, y: i16, w: i16, h: i16) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Create a new rectangle.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn contains(&amp;amp;self, px: i16, py: i16) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if a point is inside the rectangle.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn contains_point(&amp;amp;self, p: Vec2i) -&amp;amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
: Check if point (as Vec2i) is inside.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn center(&amp;amp;self) -&amp;amp;gt; Vec2i&amp;lt;/code&amp;gt;&lt;br /&gt;
: Get the center point.&lt;br /&gt;
&lt;br /&gt;
== ffi::types ==&lt;br /&gt;
&lt;br /&gt;
ABI enums and structs (&amp;lt;code&amp;gt;TopologyFaceletInfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TopologyTwistInfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TextAlign&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GfxMirror&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Types:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;enum UartId&amp;lt;/code&amp;gt; — UART line identifiers · &amp;lt;code&amp;gt;enum GfxPixelFormat&amp;lt;/code&amp;gt; — Pixel format for baked images · &amp;lt;code&amp;gt;enum GfxMirror&amp;lt;/code&amp;gt; — Mirror mode for sprites · &amp;lt;code&amp;gt;enum TopologyNeighbour&amp;lt;/code&amp;gt; — Topology neighbor direction · &amp;lt;code&amp;gt;enum TopologyOrientation&amp;lt;/code&amp;gt; — Topology orientation mode · &amp;lt;code&amp;gt;enum TopologyTwist&amp;lt;/code&amp;gt; — Twist direction for cube rotations · &amp;lt;code&amp;gt;enum TextAlign&amp;lt;/code&amp;gt; — Text alignment options · &amp;lt;code&amp;gt;enum TopologyLocation&amp;lt;/code&amp;gt; — Topology face location · &amp;lt;code&amp;gt;enum LogLevel&amp;lt;/code&amp;gt; — Log level for debug output · &amp;lt;code&amp;gt;struct TopologyFaceletInfo&amp;lt;/code&amp;gt; — Information about a facelet in the topology · &amp;lt;code&amp;gt;struct TopologyPlace&amp;lt;/code&amp;gt; — Place information (face and position) · &amp;lt;code&amp;gt;struct TopologyTwistInfo&amp;lt;/code&amp;gt; — Twist event information · &amp;lt;code&amp;gt;struct LbInfo&amp;lt;/code&amp;gt; — Leaderboard information · &amp;lt;code&amp;gt;struct GfxParticle&amp;lt;/code&amp;gt; — Particle effect parameters · &amp;lt;code&amp;gt;struct AppVersion&amp;lt;/code&amp;gt; — Application version (packed bitfield in C++)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4 public functions:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn from_u32(value: u32) -&amp;amp;gt; Self&amp;lt;/code&amp;gt;&lt;br /&gt;
: Converts a u32 value to a GfxMirror variant.  Returns `GfxMirror::None` for invalid values.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn patch(&amp;amp;self) -&amp;amp;gt; u16&amp;lt;/code&amp;gt;&lt;br /&gt;
: Extract patch version (bits 0-15)&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn minor(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Extract minor version (bits 16-19)&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;fn major(&amp;amp;self) -&amp;amp;gt; u8&amp;lt;/code&amp;gt;&lt;br /&gt;
: Extract major version (bits 20-23)&lt;br /&gt;
&lt;br /&gt;
== ffi::constants ==&lt;br /&gt;
&lt;br /&gt;
Platform constants (screen size, module counts, buffer limits, &amp;lt;code&amp;gt;CUBE_N&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:Rust API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:44:42 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust/cubios-sys</comments>
		</item>
		<item>
			<title>Development</title>
			<link>https://wiki.wowcube.com/index.php?title=Development&amp;diff=16977&amp;oldid=16886</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=Development&amp;diff=16977&amp;oldid=16886</guid>
			<description>&lt;p&gt;Link CubiOS Rust SDK repo (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:41, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C/C++/Rust using [https://webassembly.org/ WebAssembly] ( based on wasm3 )===  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C/C++/Rust using [https://webassembly.org/ WebAssembly] ( based on wasm3 )===  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:: [[WASM|WOWCube WASM API (Cube-specific Wasm functions)]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:: [[WASM|WOWCube WASM API (Cube-specific Wasm functions)]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:: [https://github.com/wowcube/CubiOS_Rust_SDK CubiOS Rust SDK on GitHub] &#039;&#039;(experimental)&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:41:06 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:Development</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16976&amp;oldid=16973</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16976&amp;oldid=16973</guid>
			<description>&lt;p&gt;Link public CubiOS Rust SDK repo (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:41, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;EXPERIMENTAL, supported track&#039;&#039;&#039; — APIs may change; the primary track is C++. Two-crate &#039;&#039;&#039;CubiOS Rust SDK&#039;&#039;&#039; (&amp;lt;code&amp;gt;cubios-sys&amp;lt;/code&amp;gt; raw + &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt; high-level), 1:1 parity with C++ 6.3, 533 public functions.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;EXPERIMENTAL, supported track&#039;&#039;&#039; — APIs may change; the primary track is C++. Two-crate &#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://github.com/wowcube/CubiOS_Rust_SDK &lt;/ins&gt;CubiOS Rust SDK&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(public GitHub) &lt;/ins&gt;(&amp;lt;code&amp;gt;cubios-sys&amp;lt;/code&amp;gt; raw + &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt; high-level), 1:1 parity with C++ 6.3, 533 public functions.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Application trait|Application trait]] — &amp;lt;code&amp;gt;on_init / on_tick / on_render / on_timer&amp;lt;/code&amp;gt;, timers&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Application trait|Application trait]] — &amp;lt;code&amp;gt;on_init / on_tick / on_render / on_timer&amp;lt;/code&amp;gt;, timers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:41:06 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16975&amp;oldid=16972</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16975&amp;oldid=16972</guid>
			<description>&lt;p&gt;CubiOS Rust SDK is now public on GitHub (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:41, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== The CubiOS Rust SDK ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== The CubiOS Rust SDK ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The SDK is a two-crate Cargo workspace &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(&lt;/del&gt;&#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CubiOS_Rust_SDK&#039;&#039;&#039; on the corporate GitHub, &amp;lt;code&amp;gt;&lt;/del&gt;github.com/wowcube/CubiOS_Rust_SDK&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/code&amp;gt;; currently private — publication pending)&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The SDK is a two-crate Cargo workspace &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://&lt;/ins&gt;github.com/wowcube/CubiOS_Rust_SDK &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CubiOS_Rust_SDK]&#039;&#039;&#039; on GitHub&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cubios-sys&amp;lt;/code&amp;gt; — raw layer.&amp;#039;&amp;#039;&amp;#039; FFI bindings to the CubiOS engine ABI plus thin safe wrappers and the application event loop. Modules: &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; trait, timers, event loop), &amp;lt;code&amp;gt;comm&amp;lt;/code&amp;gt; (packets, BLE, time, saves, RNG, logging), &amp;lt;code&amp;gt;gfx&amp;lt;/code&amp;gt; (immediate-mode drawing), &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sound&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;motion&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;leaderboard&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;network_message&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;save_message&amp;lt;/code&amp;gt; (bit-packed serializers), &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;math&amp;lt;/code&amp;gt; (Vec2, Color, Transform, Rect2), &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;constants&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cubios-sys&amp;lt;/code&amp;gt; — raw layer.&amp;#039;&amp;#039;&amp;#039; FFI bindings to the CubiOS engine ABI plus thin safe wrappers and the application event loop. Modules: &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; trait, timers, event loop), &amp;lt;code&amp;gt;comm&amp;lt;/code&amp;gt; (packets, BLE, time, saves, RNG, logging), &amp;lt;code&amp;gt;gfx&amp;lt;/code&amp;gt; (immediate-mode drawing), &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sound&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;motion&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;leaderboard&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;network_message&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;save_message&amp;lt;/code&amp;gt; (bit-packed serializers), &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;math&amp;lt;/code&amp;gt; (Vec2, Color, Transform, Rect2), &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;constants&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Experimental status:&amp;#039;&amp;#039;&amp;#039; Rust support is supported but experimental — API may change; the C++ track is primary.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Experimental status:&amp;#039;&amp;#039;&amp;#039; Rust support is supported but experimental — API may change; the C++ track is primary.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;Development Kit&amp;#039;&amp;#039;&amp;#039; currently ships a thin bindings crate (&amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt; v0.1.0) with buildable examples (&amp;#039;&amp;#039;Basics 1–3&amp;#039;&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;Development Kit&amp;#039;&amp;#039;&amp;#039; currently ships a thin bindings crate (&amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt; v0.1.0) with buildable examples (&amp;#039;&amp;#039;Basics 1–3&amp;#039;&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The full two-crate &#039;&#039;&#039;CubiOS Rust SDK&#039;&#039;&#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;described above lives on the corporate GitHub &lt;/del&gt;(&amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wowcube/CubiOS_Rust_SDK&lt;/del&gt;&amp;lt;/code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) and is being prepared for publication&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The full two-crate &#039;&#039;&#039;CubiOS Rust SDK&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is public: [https://github.com/wowcube/CubiOS_Rust_SDK github.com/wowcube/CubiOS_Rust_SDK] &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source-available, © Cubios Inc.) — clone and build with stable Rust + &lt;/ins&gt;&amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wasm32-unknown-unknown&lt;/ins&gt;&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For per-function semantics see the [[SDK 6.3/C++/Native API|C++ native reference]] — names map 1:1 (&amp;lt;code&amp;gt;gfx::draw_text&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;GFX_drawText&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For per-function semantics see the [[SDK 6.3/C++/Native API|C++ native reference]] — names map 1:1 (&amp;lt;code&amp;gt;gfx::draw_text&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;GFX_drawText&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:41:05 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust</comments>
		</item>
		<item>
			<title>Template:SDK 6.3 nav</title>
			<link>https://wiki.wowcube.com/index.php?title=Template:SDK_6.3_nav&amp;diff=16974&amp;oldid=16934</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=Template:SDK_6.3_nav&amp;diff=16974&amp;oldid=16934</guid>
			<description>&lt;p&gt;Nav: mark Rust as experimental (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:33, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Save|Save]] ·&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Save|Save]] ·&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Scramble|Scramble]] ·&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Scramble|Scramble]] ·&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Logging|Logging]]&amp;lt;br&amp;gt;&#039;&#039;&#039;C++:&#039;&#039;&#039; [[SDK 6.3/C++/Native API|Native API]] · [[SDK 6.3/C++/Application|Application]] · [[SDK 6.3/C++/GFX Engine|GFX Engine]] &amp;amp;nbsp;·&amp;amp;nbsp; &#039;&#039;&#039;Rust:&#039;&#039;&#039; [[SDK 6.3/Rust|Rust API]] &amp;amp;nbsp;·&amp;amp;nbsp; [[SDK 6.3/Changelog|Changelog]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[SDK 6.3/PAWN/Logging|Logging]]&amp;lt;br&amp;gt;&#039;&#039;&#039;C++:&#039;&#039;&#039; [[SDK 6.3/C++/Native API|Native API]] · [[SDK 6.3/C++/Application|Application]] · [[SDK 6.3/C++/GFX Engine|GFX Engine]] &amp;amp;nbsp;·&amp;amp;nbsp; &#039;&#039;&#039;Rust:&#039;&#039;&#039; [[SDK 6.3/Rust|Rust API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;(experimental)&#039;&#039;&lt;/ins&gt;]] &amp;amp;nbsp;·&amp;amp;nbsp; [[SDK 6.3/Changelog|Changelog]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;Navigation strip for the SDK 6.3 reference. [[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;Navigation strip for the SDK 6.3 reference. [[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:33:33 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Template_talk:SDK_6.3_nav</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16973&amp;oldid=16970</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16973&amp;oldid=16970</guid>
			<description>&lt;p&gt;Rust section: CubiOS Rust SDK + EXPERIMENTAL (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:33, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Experimental / advanced &lt;/del&gt;track&#039;&#039;&#039; (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;crate &lt;/del&gt;&amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wowcube_sdk&lt;/del&gt;&amp;lt;/code&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v0.&lt;/del&gt;1&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.0)&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;actively shipped &lt;/del&gt;with &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SDK &lt;/del&gt;6.3, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;builds to the same WebAssembly ABI as C++&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EXPERIMENTAL, supported track&#039;&#039;&#039; — APIs may change; the primary &lt;/ins&gt;track &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is C++. Two-crate &#039;&#039;&#039;CubiOS Rust SDK&lt;/ins&gt;&#039;&#039;&#039; (&amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cubios-sys&amp;lt;/code&amp;gt; raw + &amp;lt;code&amp;gt;cubios&lt;/ins&gt;&amp;lt;/code&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;high-level), &lt;/ins&gt;1:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 parity &lt;/ins&gt;with &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C++ &lt;/ins&gt;6.3, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;533 public functions&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Crate layout|Crate layout]] — modules &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cubios&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Application trait|Application trait]] — &amp;lt;code&amp;gt;on_init / on_tick / on_render / on_timer&amp;lt;/code&amp;gt;, timers&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust#Application trait|Application trait]] — &amp;lt;code&amp;gt;on_init / on_tick / on_render / on_timer&amp;lt;/code&amp;gt;, timers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:33:04 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16972&amp;oldid=16940</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16972&amp;oldid=16940</guid>
			<description>&lt;p&gt;Rust API rewritten for CubiOS Rust SDK; EXPERIMENTAL marked everywhere (WowBot)&lt;/p&gt;
&lt;a href=&quot;https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;amp;diff=16972&amp;amp;oldid=16940&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sun, 26 Jul 2026 10:33:03 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16970&amp;oldid=16962</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16970&amp;oldid=16962</guid>
			<description>&lt;p&gt;C++ module links -&amp;gt; direct pages (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:48, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Native engine ABI&amp;#039;&amp;#039;&amp;#039; — [[SDK 6.3/C++/Native API]] (all 64 functions with full descriptions):&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Native engine ABI&amp;#039;&amp;#039;&amp;#039; — [[SDK 6.3/C++/Native API]] (all 64 functions with full descriptions):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Core|Core]] — time, RNG, packets, BLE, saves, user, version, logging&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Core|Core]] — time, RNG, packets, BLE, saves, user, version, logging&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Graphics|Graphics]] — drawing, images, text, shaders, QR, render targets&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Graphics|Graphics]] — drawing, images, text, shaders, QR, render targets&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Topology|Topology]] — facelets, faces, twists, orientation&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Topology|Topology]] — facelets, faces, twists, orientation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Sound|Sound]] — playback and caching&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Sound|Sound]] — playback and caching&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Motion Sensors|Motion Sensors]] — accelerometer / gyroscope per display&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Motion Sensors|Motion Sensors]] — accelerometer / gyroscope per display&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native API#&lt;/del&gt;Leaderboard|Leaderboard]] — scores and rankings&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Leaderboard|Leaderboard]] — scores and rankings&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Native API#Types and data structures|Types &amp;amp; data structures]] — structs, enums, constants&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Native API#Types and data structures|Types &amp;amp; data structures]] — structs, enums, constants&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:48:08 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Native API</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16969&amp;oldid=16945</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16969&amp;oldid=16945</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;a href=&quot;https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;amp;diff=16969&amp;amp;oldid=16945&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:46 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Native_API</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Sound</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Sound&amp;diff=16968&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Sound&amp;diff=16968&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Sound&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sound asset playback and caching.&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
Play a packed sound asset:&lt;br /&gt;
&lt;br /&gt;
 soundID_t sfx = SND_getAssetId(&amp;quot;hit.wav&amp;quot;);&lt;br /&gt;
 SND_play(sfx, 100);&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===SND_getAssetId===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_getAssetId(const char* soundName)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a sound ID by the filename.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: The ID of sound with a given filename or -1 in case of error.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from SND_getId() to SND_getAssetId()&lt;br /&gt;
: v6.0 - truncate asset name in WASM API&lt;br /&gt;
&lt;br /&gt;
===SND_play===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_play(soundID_t soundID, u32_t volume)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Play sound by ID.&lt;br /&gt;
: Play any sound by its ID. Platform does not support audio mixing, so&lt;br /&gt;
: previously playing sound will be stopped if it has not yet finished.&lt;br /&gt;
: Supported audio formats:&lt;br /&gt;
:* WAV&lt;br /&gt;
:* MP3&lt;br /&gt;
:* MIDI&lt;br /&gt;
&lt;br /&gt;
===SND_cacheSounds===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_cacheSounds(soundID_t* soundIDs, u32_t count)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Force platform to cache application sounds.&lt;br /&gt;
: Platform automatically reads and caches sounds from flash when the&lt;br /&gt;
: application plays a sound. Flash operations are synchronous and may cause&lt;br /&gt;
: delays especially when reading large portions of data. To prevent the&lt;br /&gt;
: application from lags it is possible to cache sound data in advance.&lt;br /&gt;
: However if application requests to play a non-cached sound and there is not&lt;br /&gt;
: enough memory then oldest accessed sounds will be removed from cache. Also&lt;br /&gt;
: there is a limit of 256 for a total number of cached sounds.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of cached sounds or negative value if an error happened. Error&lt;br /&gt;
: codes:&lt;br /&gt;
: * -1 invalid function arguments count&lt;br /&gt;
: * -2 invalid soundList array&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - moved from appCtrl module to sound&lt;br /&gt;
&lt;br /&gt;
===SND_isPlaying===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_isPlaying()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Check if audio is playing.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if audio is playing, false otherwise.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===SND_stop===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_stop()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Stop playing sound if any.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===SND_getAssetsCount===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_getAssetsCount()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the total count of sound assets.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of sound assets.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:46 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Sound</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Graphics</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Graphics&amp;diff=16967&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Graphics&amp;diff=16967&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Graphics&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Immediate-mode drawing on the module&amp;#039;s displays: primitives, images, text, shaders, QR codes and render targets. (The retained alternative is the [[SDK 6.3/C++/GFX Engine|GFX Engine]].)&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
From the official &amp;#039;&amp;#039;HelloWOWCube&amp;#039;&amp;#039; project — direct drawing in &amp;lt;code&amp;gt;on_Render&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 for(auto it = screens.begin(); it != screens.end(); ++it)&lt;br /&gt;
 {&lt;br /&gt;
     GFX_setRenderTarget(it-&amp;gt;ID());&lt;br /&gt;
     GFX_clear(Colors::black);&lt;br /&gt;
     GFX_drawText(120, 100, TEXT_SIZE, 0, text_align_t::TEXT_ALIGN_CENTER, Colors::white, &amp;quot;HELLO&amp;quot;);&lt;br /&gt;
     GFX_render();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===GFX_getAssetId===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_getAssetId(const char* spriteName)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an image ID by the filename.&lt;br /&gt;
: Usually an application uses image IDs to draw sprites and backgrounds. But&lt;br /&gt;
: sometimes IDs are unknown, e.g. in common libraries, or they change rapidly&lt;br /&gt;
: during development. This interface can be used to get an ID of the image by&lt;br /&gt;
: its filename in the runtime. Maximum asset name length is 15 characters,&lt;br /&gt;
: remaining symbols are truncated during lookup.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: The ID of image with a given filename or -1 in case of error.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from GFX_getId() to GFX_getAssetId()&lt;br /&gt;
: v6.0 - truncate asset name in WASM API&lt;br /&gt;
&lt;br /&gt;
===GFX_clear===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_clear(u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Clear a layer with a given color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - changed color format&lt;br /&gt;
&lt;br /&gt;
===GFX_drawText===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawText(i32_t x, i32_t y, u32_t scale, u32_t angle, u32_t align, u32_t color, const char* text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a formatted text by the specified coordinates with a given color,&lt;br /&gt;
: scale, text align and a rotation angle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - clarified documentation, added GFX_drawTextXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawPoint===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawPoint(i32_t x, i32_t y, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a point specified by its coordinates with a given color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawPointXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawCircle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawCircle(u32_t x, u32_t y, u32_t radius, u32_t width, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a circle at the given point with given radius, color and line width.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawCircleXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSolidCircle===&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Deprecated.&amp;#039;&amp;#039;&amp;#039; use fill shader intead&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSolidCircle(u32_t x, u32_t y, u32_t radius, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a solid circle at the given point with given radius and color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawSolidCircleXY() alias&lt;br /&gt;
: v6.0 - DEPRECATED, use GFX_setFillShader() instead&lt;br /&gt;
&lt;br /&gt;
===GFX_drawArc===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawArc(i32_t x, i32_t y, u32_t radius, u32_t width, u32_t angle0, u32_t angle1, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw an arc at the given point with given radius, line width, color and&lt;br /&gt;
: angles.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawArcXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSector===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSector(i32_t x, i32_t y, u32_t radius, u32_t angle0, u32_t angle1, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a filled circular sector, connecting the arc to the circle&amp;#039;s center&lt;br /&gt;
: like a piece of pie.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.1 - created&lt;br /&gt;
&lt;br /&gt;
===GFX_drawLine===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawLine(i32_t x0, i32_t y0, i32_t x1, i32_t y1, u32_t thickness, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a line with from a given point to another one and given width and&lt;br /&gt;
: color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawLineXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawRectangle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawRectangle(i32_t x, i32_t y, i32_t w, i32_t h, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a solid rectangle at a given position with specified dimensions and a&lt;br /&gt;
: color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawRectangleXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_bakeImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_bakeImage(spriteID_t id, u32_t width, u32_t height, GFX_PixelFormat_t format, u32_t overwrite)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set an ID of a memory buffer to save next rendering result.&lt;br /&gt;
: Specifies the image that will be created by combining the group of&lt;br /&gt;
: graphical primitives used between GFX_bakeImage() and GFS_render()&lt;br /&gt;
: according their order and taking into account alpha channel in images. HW&lt;br /&gt;
: has a limitation and can combine no more than 4 layers simultaneously, so&lt;br /&gt;
: if there are more primitives then they will be combined in a cascade.&lt;br /&gt;
: Useful for creating complex images like backgrounds for later usage.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added overwrite parameter&lt;br /&gt;
&lt;br /&gt;
===GFX_setRenderTarget===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setRenderTarget(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set a screen which will be used to display next rendering result.&lt;br /&gt;
: Cube module is a special device which has 3 independent screens to display&lt;br /&gt;
: graphics. GFX_setRenderTarget() specifies a screen number which will be&lt;br /&gt;
: used to display a next rendering result. Graphics primitives used in&lt;br /&gt;
: between GFX_setRenderTarget() and GFX_render() calls will be combined&lt;br /&gt;
: together according their order and taking into account alpha channel in&lt;br /&gt;
: images. Resulting image will be immediately flushed onto the given screen.&lt;br /&gt;
: HW has a limitation and can combine no more than 4 layers simultaneously,&lt;br /&gt;
: so if there are more primitives then they will be combined in a cascade. To&lt;br /&gt;
: display anything on the screen GFX_setRenderTarget() has to be always&lt;br /&gt;
: called.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from GFX_updateDisplay() to GFX_setRenderTarget()&lt;br /&gt;
&lt;br /&gt;
===GFX_drawImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawImage(spriteID_t id, i32_t x, i32_t y, u32_t opacity, u32_t colorKey, u32_t scale_x, u32_t scale_y, u32_t angle, u32_t mirror)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw an image from application assets at a specified position and with&lt;br /&gt;
: given transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawImageXY() alias, color argument clarified&lt;br /&gt;
: v6.0 - added scale parameters&lt;br /&gt;
&lt;br /&gt;
===GFX_drawBakedImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawBakedImage(i32_t x, i32_t y, u32_t opacity, u32_t colorKey, u32_t scale_x, u32_t scale_y, u32_t angle, u32_t mirror, spriteID_t id)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a previously baked image at a specified position and with given&lt;br /&gt;
: transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawBakedImageXY() alias, color argument clarified&lt;br /&gt;
: v6.0 - added scale parameters&lt;br /&gt;
&lt;br /&gt;
===GFX_drawQrCode===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawQRCode(i32_t x, i32_t y, u32_t size, u32_t color0, u32_t color1, u32_t angle, u32_t id, const char *text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Generate and draw QR-code for a given text string.&lt;br /&gt;
: Supported version 2 which is limited by 32 characters of input.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_render===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_render()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Start rendering process.&lt;br /&gt;
&lt;br /&gt;
===GFX_clearCache===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_clearCache()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Clear all cached images.&lt;br /&gt;
: Oldest accessed image cache will be automatically freed if there is not&lt;br /&gt;
: enough memory to cache a new image. This function forces this process, e.g.&lt;br /&gt;
: when switch game levels.&lt;br /&gt;
&lt;br /&gt;
===GFX_removeBakedImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_removeBakedImage(spriteID_t id)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Remove specified baked image from cache.&lt;br /&gt;
: Baked images do not automatically invalidate. This function allows to&lt;br /&gt;
: remove any baked image from cache to save some space.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_cacheImages===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_cacheImages(spriteID_t* spriteIDs, u32_t count)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Force platform to cache application images.&lt;br /&gt;
: Platform automatically reads and caches images from flash when the&lt;br /&gt;
: application draws an image. Flash operations are synchronous and may cause&lt;br /&gt;
: delays especially when reading large portions of data. To prevent the&lt;br /&gt;
: application from lags it is possible to cache image data in advance.&lt;br /&gt;
: However if application requests to draw a non-cached image and there is not&lt;br /&gt;
: enough memory then oldest accessed images will be removed from cache. Also&lt;br /&gt;
: there is a limit of 256 for a total number of cached images.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of cached images or negative value if an error happened. Error&lt;br /&gt;
: codes:&lt;br /&gt;
: * -1 invalid function arguments count&lt;br /&gt;
: * -2 invalid imageList array&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - moved from appCtrl module to graphics&lt;br /&gt;
&lt;br /&gt;
===GFX_setFpsWindow===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setFpsWindow(u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set the averaging window (in frames) used by the on-screen FPS counter (see &amp;lt;code&amp;gt;Application::ShowFPSCounter()&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===GFX_getAssetsCount===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_getAssetsCount()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the total count of graphic assets.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of graphic assets.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_setFillShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setFillShader(u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with specified color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_setLinearGradientShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setLinearGradientShader(u32_t x0, u32_t y0, u32_t x1, u32_t y1, u32_t color0, u32_t color1)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with linear gradient from a given point / color to&lt;br /&gt;
: another one.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_setRadialGradientShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setRadialGradientShader(u32_t x0, u32_t y0, u32_t radius, u32_t color0, u32_t color1)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with radial gradient from a given point with radius&lt;br /&gt;
: and from a given color to another one.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_removeShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_removeShader()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Do not use shading in next primitives.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSubImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSubImage(spriteID_t id,i32_t x,i32_t y,u32_t rect_x,u32_t rect_y,u32_t rect_w,u32_t rect_h,u32_t opacity,u32_t colorKey,u32_t scale_x, u32_t scale_y,u32_t angle, u32_t mirror)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a sub window of an image from application assets at a specified&lt;br /&gt;
: position and with given transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.2 - added&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:45 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Graphics</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Motion Sensors</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Motion_Sensors&amp;diff=16966&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Motion_Sensors&amp;diff=16966&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Motion Sensors&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Per-display accelerometer and gyroscope readings.&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
Reading tilt for the screen currently being rendered:&lt;br /&gt;
&lt;br /&gt;
 i32_t ax = MS_getFaceAccelX(screen.ID());&lt;br /&gt;
 i32_t ay = MS_getFaceAccelY(screen.ID());&lt;br /&gt;
 // move the ball by the tilt of this display&lt;br /&gt;
 pos.X += ax / 64.0f;  pos.Y += ay / 64.0f;&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelX===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelX(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along X axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along X axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelY===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelY(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along Y axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along Y axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelZ===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelZ(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along Z axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along Z axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroX===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroX(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around X axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around X axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroY===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroY(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around Y axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around Y axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroZ===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroZ(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around Z axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around Z axis.&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:45 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Motion_Sensors</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Leaderboard</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Leaderboard&amp;diff=16965&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Leaderboard&amp;diff=16965&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Leaderboard&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Scores and rankings synced via the companion app.&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
Query the synced points table:&lt;br /&gt;
&lt;br /&gt;
 Cubios::LB_info_t info;&lt;br /&gt;
 LB_getInfo(&amp;amp;info);&lt;br /&gt;
 LOG_i(&amp;quot;my place: %d of %d\n&amp;quot;, info.selfPosition, info.wholeUserListCount);&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===LB_getInfo===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LB_getInfo(Cubios::LB_info_t* info)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get leaderboard description.&lt;br /&gt;
: Players score and achievements can be saved and shared via mobile&lt;br /&gt;
: application and WOWCube Entertainment System servers. This function&lt;br /&gt;
: provides synced information necessary to display points table.&lt;br /&gt;
: Outputs&lt;br /&gt;
:* info - structure describing leaderboard&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Error code:&lt;br /&gt;
: * 0 - success&lt;br /&gt;
: * -1 - incorrect arguments count&lt;br /&gt;
: * -2 - leaderboard is not synced&lt;br /&gt;
: * -3 - fail to fill output structure&lt;br /&gt;
&lt;br /&gt;
===LB_getScore===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LB_getScore(uint8_t* leadTableBin, u32_t bufSize)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get best results data data.&lt;br /&gt;
: Players score and achievements can be saved and shared via mobile&lt;br /&gt;
: application and WOWCube Entertainment System servers. This function&lt;br /&gt;
: provides best results table data.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Error code:&lt;br /&gt;
: * 0 - success&lt;br /&gt;
: * -1 - incorrect arguments count&lt;br /&gt;
: * -2 - leaderboard is not synced&lt;br /&gt;
: * -3 - fail to fill output structure&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - align error codes with LB_getInfo.&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:44 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Leaderboard</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Topology</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Topology&amp;diff=16964&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Topology&amp;diff=16964&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Topology&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Cube geometry: facelets, faces, places, orientation and twist events.&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
The assembled-check used by the official &amp;#039;&amp;#039;Twinkle&amp;#039;&amp;#039; sample before cross-screen drawing:&lt;br /&gt;
&lt;br /&gt;
 if(TOPOLOGY_isAssembled() == 1)&lt;br /&gt;
 {&lt;br /&gt;
     // safe to place objects across the whole face&lt;br /&gt;
 }&lt;br /&gt;
 Cubios::TOPOLOGY_faceletInfo_t nb;&lt;br /&gt;
 TOPOLOGY_getAdjacentFacelet(cubeN, screen.ID(), Cubios::NEIGHBOR_TOP, &amp;amp;nb);&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getAdjacentFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getAdjacentFacelet(u32_t module, u32_t screen, u32_t direction, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a facelet neighbor in the given direction.&lt;br /&gt;
: Facelet can have neighbors on the same cube face or neighbors by module.&lt;br /&gt;
: This function provide a neighbor of the given facelet in the given&lt;br /&gt;
: direction. Connection status indicates if there is a connection between&lt;br /&gt;
: modules on which given facelet and its neighbor are located.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Neighbor facelet in a given direction with its connection status. The&lt;br /&gt;
: module ID will be MODULES_MAX and the screen number will be SCREENS_MAX in&lt;br /&gt;
: case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFacelet(u32_t face, u32_t position, Cubios::TOPOLOGY_orientation_mode_t mode, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a facelet located in the given place.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Facelet located in the given place, connection status indicates if there&lt;br /&gt;
: any connection to the module on which this facelet resides. The module ID&lt;br /&gt;
: will be MODULES_MAX and the screen screen will be SCREENS_MAX in case of an&lt;br /&gt;
: error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getPlace===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getPlace(u32_t module, u32_t screen, Cubios::TOPOLOGY_orientation_mode_t mode, Cubios::TOPOLOGY_place_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a place of the facelet.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Place on cube surface where the given facelet located. Face will be&lt;br /&gt;
: TOPOLOGY_FACES_MAX and position will be TOPOLOGY_POSITIONS_MAX in case of&lt;br /&gt;
: an error (e.g. incorrect arguments or topology malfunction)&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getOppositeFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getOppositeFacelet(u32_t module, u32_t screen, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an opposite facelet located on a diagonal counterpart module.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Diagonal opposite counterpart facelet. Connection status indicates if there&lt;br /&gt;
: any connection to the module on which that facelet resides. The module ID&lt;br /&gt;
: will be MODULES_MAX and the screen number will be SCREENS_MAX in case of an&lt;br /&gt;
: error (e.g. incorrect arguments or topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getAngle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getAngle(u32_t module, u32_t screen, Cubios::TOPOLOGY_orientation_mode_t mode)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an angle to align images on a face according to the orientation mode.&lt;br /&gt;
: Display coordinates system is persistent on a module screen. Different&lt;br /&gt;
: angles are needed to align images on all modules with screens on the same&lt;br /&gt;
: face. This function returns the angle for the screen specified by the&lt;br /&gt;
: facelet. The angle is relative to the position 0 on the same face where the&lt;br /&gt;
: facelet is located in the given orientation mode.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Angle to align images on the same face according to the orientation mode, 0&lt;br /&gt;
: in case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFaceletOrientation===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFaceletOrientation(u32_t module, u32_t screen)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face orientation on which the given facelet resides.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face orientation on which the given facelet resides, ORIENTATION_MAX in&lt;br /&gt;
: case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from TOPOLOGY_getFaceletLocation() to the&lt;br /&gt;
: TOPOLOGY_getFaceletOrientation()&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getPlaceOrientation===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getPlaceOrientation(u32_t face, u32_t position)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face orientation on which the given place resides.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face orientation on which the given place resides, ORIENTATION_MAX in case&lt;br /&gt;
: of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from TOPOLOGY_getPlaceLocation() to the&lt;br /&gt;
: TOPOLOGY_getPlaceOrientation()&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFace===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFace(u32_t orientation)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face number which has the given orientation.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face number which has the given orientation, TOPOLOGY_FACES_MAX in case of&lt;br /&gt;
: an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_isAssembled===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_isAssembled()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Check that all modules in a system are connected to each other.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if all modules in a system are connected to each other, false&lt;br /&gt;
: otherwise.&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getTwist===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getTwist(Cubios::TOPOLOGY_twistInfo_t* twist)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Read the pending twist event into a &amp;lt;code&amp;gt;TOPOLOGY_twistInfo_t&amp;lt;/code&amp;gt;. Normally consumed by &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt;, which calls &amp;lt;code&amp;gt;Application::on_Twist()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:44 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Topology</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Core</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Core&amp;diff=16963&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Core&amp;diff=16963&amp;oldid=0</guid>
			<description>&lt;p&gt;Split C++ Native API into per-module pages with minimal examples (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · [[SDK 6.3/C++/Native API|C++ Native API]] / Core&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Application-level services: time, RNG, inter-module packets, BLE data, persistent state, user info, versioning and logging.&lt;br /&gt;
&lt;br /&gt;
Shared types, enums and constants are listed on the [[SDK 6.3/C++/Native API#Types and data structures|Native API overview]].&lt;br /&gt;
&lt;br /&gt;
== Minimal example ==&lt;br /&gt;
&lt;br /&gt;
Typical service calls:&lt;br /&gt;
&lt;br /&gt;
 uint32_t now = getTime();          // ms since app start&lt;br /&gt;
 i32_t r = random(0, 100);          // engine RNG&lt;br /&gt;
 saveState(&amp;amp;state, sizeof(state));  // persist between runs&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
===sendPacket===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t sendPacket(u32_t type, uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Send a packet to another module. Use &amp;lt;code&amp;gt;NET_BROADCAST&amp;lt;/code&amp;gt; (0xFF) as the destination to reach all modules. Low-level counterpart of the PAWN &amp;lt;code&amp;gt;broadcastPacket()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===recvPacket===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t recvPacket(u32_t size, uint32_t* type, uint8_t* pkt)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Read a pending inter-module packet into a buffer. Normally consumed by the &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; event loop, which dispatches it to &amp;lt;code&amp;gt;Application::on_Message()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===getTime===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getTime()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get time in milliseconds since the module start.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Time in milliseconds since the module start.&lt;br /&gt;
&lt;br /&gt;
===getUserName===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getUserName(uint8_t* buffer, u32_t bufSize)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the name of a user who is logined on the cube.&lt;br /&gt;
: Get the user name configured in the WOWCube mobile application to save&lt;br /&gt;
: results for.&lt;br /&gt;
&lt;br /&gt;
===toggleDebugInfo===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t toggleDebugInfo()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Toggle overlay with debug information. TBD - move to GFX&lt;br /&gt;
&lt;br /&gt;
===saveState===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t saveState(void* data, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Request to save an application data&lt;br /&gt;
: Save user settings and/or progress on the flash to restore next time. Each&lt;br /&gt;
: save data has an incremental ID.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if save was successful.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - fixed a bug in which only part of a data saved on the flash&lt;br /&gt;
&lt;br /&gt;
===loadState===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t loadState(u32_t* id, void* data, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Request to load an application save data from the flash.&lt;br /&gt;
: Trigger state load event. It is asynchronous so access to flash memory will&lt;br /&gt;
: not affect an application performance.&lt;br /&gt;
&lt;br /&gt;
===random===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t random(u32_t min, u32_t max)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Generate random number in half-open range.&lt;br /&gt;
: Random number generator is initialized before each application start. Seed&lt;br /&gt;
: for initialization is generated by TRNG (True Random Number Generator).&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Pseudo random value from requested range.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - fixed a bug in which random does not generate numbers in a given&lt;br /&gt;
: range.&lt;br /&gt;
&lt;br /&gt;
===getAppVersion===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getAppVersion(Cubios::AppVersion_t *version)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get application version.&lt;br /&gt;
: WOWCube applications follow semantic versioning scheme (see&lt;br /&gt;
: https://semver.org). This interface allows to get version parts stored in&lt;br /&gt;
: the cube application descriptor.&lt;br /&gt;
: Outputs&lt;br /&gt;
:* version - structure describing application version&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===LOG===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LOG(uint8_t level, const char* text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Write a log line with the given level. Prefer the &amp;lt;code&amp;gt;LOG_a/e/w/i/d/v&amp;lt;/code&amp;gt; printf-style macros (see &amp;lt;code&amp;gt;LogLevel_t&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===getTap===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getTap()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the pending tap event, if any. Normally consumed by the &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; event loop (&amp;lt;code&amp;gt;Application::on_Tap()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;on_Pat()&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===sendBleData===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t sendBleData(u32_t type, uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Send external data over BLE to the connected companion (WOWCube Connect) application.&lt;br /&gt;
&lt;br /&gt;
===recvBleData===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t recvBleData(uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Receive pending external BLE data; dispatched by &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Application::on_ExternalMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===EVENT_getList===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t EVENT_getList()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the pending event mask for this module (see &amp;lt;code&amp;gt;eventMask_t&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:47:43 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Core</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16962&amp;oldid=16949</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16962&amp;oldid=16949</guid>
			<description>&lt;p&gt;Rust section: status + topic links (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:46, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust]] — &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;&amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wowcube_sdk&lt;/del&gt;&amp;lt;/code&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;crate: &lt;/del&gt;Application trait, FFI &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bindings&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;entry points&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;examples&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Experimental / advanced track&#039;&#039;&#039; (crate &amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt; v0.1.0): actively shipped with SDK 6.3, builds to the same WebAssembly ABI as C++.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/Rust&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#Crate layout|Crate layout&lt;/ins&gt;]] — &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;modules &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt; and &lt;/ins&gt;&amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cubios&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust#Application trait|&lt;/ins&gt;Application trait&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] — &amp;lt;code&amp;gt;on_init / on_tick / on_render / on_timer&amp;lt;/code&amp;gt;&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;timers&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust#Entry points|Entry points]] — &amp;lt;code&amp;gt;on_init(cid)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;run()&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust#FFI types|&lt;/ins&gt;FFI &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;types]] — topology, leaderboard&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;particles&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;enums&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/Rust#Examples|Examples]] — three buildable projects in the DevKit&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: [[:Category:SDK 6.3|all SDK 6.3 pages]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: [[:Category:SDK 6.3|all SDK 6.3 pages]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:46:20 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Logging</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Logging&amp;diff=16961&amp;oldid=16876</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Logging&amp;diff=16961&amp;oldid=16876</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:55 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Logging</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Scramble</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Scramble&amp;diff=16960&amp;oldid=16875</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Scramble&amp;diff=16960&amp;oldid=16875</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:55 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Scramble</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Save</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Save&amp;diff=16959&amp;oldid=16874</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Save&amp;diff=16959&amp;oldid=16874</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:54 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Save</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Network</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Network&amp;diff=16958&amp;oldid=16873</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Network&amp;diff=16958&amp;oldid=16873</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:53 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Network</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Physics</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Physics&amp;diff=16957&amp;oldid=16872</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Physics&amp;diff=16957&amp;oldid=16872</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:53 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Physics</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Splash Screen</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Splash_Screen&amp;diff=16956&amp;oldid=16871</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Splash_Screen&amp;diff=16956&amp;oldid=16871</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:52 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Splash_Screen</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Leaderboard</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Leaderboard&amp;diff=16955&amp;oldid=16944</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Leaderboard&amp;diff=16955&amp;oldid=16944</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:52 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Leaderboard</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Motion Sensor</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Motion_Sensor&amp;diff=16954&amp;oldid=16869</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Motion_Sensor&amp;diff=16954&amp;oldid=16869</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:51 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Motion_Sensor</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Sound</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Sound&amp;diff=16953&amp;oldid=16868</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Sound&amp;diff=16953&amp;oldid=16868</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:51 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Sound</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Topology</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Topology&amp;diff=16952&amp;oldid=16867</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Topology&amp;diff=16952&amp;oldid=16867</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:50 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Topology</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Graphics</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Graphics&amp;diff=16951&amp;oldid=16866</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Graphics&amp;diff=16951&amp;oldid=16866</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:49 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Graphics</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Core</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Core&amp;diff=16950&amp;oldid=16865</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Core&amp;diff=16950&amp;oldid=16865</guid>
			<description>&lt;p&gt;Mark PAWN API as legacy (supported, not developed) (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, PAWN API. Generated from the canonical SDK headers — do not edit by hand; regenerate from source.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{notice|&#039;&#039;&#039;Legacy track.&#039;&#039;&#039; The PAWN API is supported but no longer actively developed — the last PAWN additions shipped in SDK 6.2. New development uses the [[SDK 6.3/C++/Native API|C++ (WebAssembly) API]].}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SDK 6.3 nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:49 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Core</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16949&amp;oldid=16941</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16949&amp;oldid=16941</guid>
			<description>&lt;p&gt;Mark PAWN as legacy track (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:45, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== PAWN API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== PAWN API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Legacy:&#039;&#039;&#039; 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]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One page per module:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One page per module:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/PAWN/Core]] — application lifecycle, state, time, RNG, packets&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/PAWN/Core]] — application lifecycle, state, time, RNG, packets&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== C++ API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== C++ API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C/C++ cubeapps run via WebAssembly &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and use &lt;/del&gt;the same engine functions plus an object-oriented framework:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C/C++ cubeapps run via WebAssembly&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;the same engine functions &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as PAWN, &lt;/ins&gt;plus an object-oriented framework &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and a retained scene graph. &#039;&#039;&#039;This is the primary development track.&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Native API]] — &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the low-level &lt;/del&gt;C &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ABI (all engine functions&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;types&lt;/del&gt;, enums&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Application]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— the &amp;lt;code&amp;gt;&lt;/del&gt;Application&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&amp;gt; &lt;/del&gt;/ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;code&amp;gt;&lt;/del&gt;AppManager&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;&lt;/del&gt;/code&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; framework and callbacks&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Native engine ABI&#039;&#039;&#039; — [[SDK 6.3/C++/Native API]] (all 64 functions with full descriptions)&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/GFX Engine]] — &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;retained scene graph&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sprites, text, atlases, sounds, math&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Native API&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#Core|Core&lt;/ins&gt;]] — &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;time, RNG, packets, BLE, saves, user, version, logging&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Native API#Graphics|Graphics]] — drawing, images, text, shaders, QR, render targets&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/&lt;/ins&gt;C&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;++/Native API#Topology|Topology]] — facelets, faces&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;twists, orientation&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Native API#Sound|Sound]] — playback and caching&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Native API#Motion Sensors|Motion Sensors]] — accelerometer / gyroscope per display&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Native API#Leaderboard|Leaderboard]] — scores and rankings&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Native API#Types and data structures|Types &amp;amp; data structures]] — structs&lt;/ins&gt;, enums&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, constants&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Application framework&#039;&#039;&#039; — [[SDK 6.3/C++/Application]]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/Application&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#Entry point|Entry point&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;· [[SDK 6.3/C++/Application#class Cubios::&lt;/ins&gt;Application&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|callbacks (on_Tick, on_Render, on_Twist, …)]] · timers, networking, saves, [[SDK 6.3&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C++&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Application#class Cubios::AppManager|&lt;/ins&gt;AppManager&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;GFX Engine (scene graph)&#039;&#039;&#039; — [[SDK 6.3/C++&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GFX Engine]] (56 documented methods + official-sample &lt;/ins&gt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;):&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SDK 6.3/C++/GFX Engine&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#The canonical pattern|The canonical pattern&lt;/ins&gt;]] — &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;how real games are structured&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/GFX Engine#Scene|Scene]] · [[SDK 6.3/C++/GFX Engine#SceneObject|SceneObject]] · [[SDK 6.3/C++/GFX Engine#Screen|Screen]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[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:&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;OffscreenRenderTarget|OffscreenRenderTarget]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[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]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:45:47 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/GFX Engine</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16947&amp;oldid=16943</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16947&amp;oldid=16943</guid>
			<description>&lt;p&gt;Restore enriched reference + detailed Scramble/Splashscreen (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:39, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l205&quot;&gt;Line 205:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 205:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Scramble ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Scramble ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cube-scramble helper (SDK 6.0+)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, used by &lt;/del&gt;puzzle titles &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to generate &lt;/del&gt;and track a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;scrambled state &lt;/del&gt;(&amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Scramble&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;h&lt;/del&gt;&amp;lt;/code&amp;gt;). Used across the official &#039;&#039;Topology&#039;&#039; samples.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cube-scramble helper (SDK 6.0+) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/ins&gt;puzzle titles&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: it performs a given number of virtual twists from the current topology &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lets the game &lt;/ins&gt;track &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;how the mapping changes. Subclass it and implement the callbacks.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;void StartScramble(uint8_t twistsCount);&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Run &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;scramble of &amp;lt;code&amp;gt;twistsCount&amp;lt;/code&amp;gt; random virtual twists.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;void VirtualTwist(uint8_t screen, uint8_t direction);&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Apply one virtual twist programmatically.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;virtual void on_BeforeTwist&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) = 0;&lt;/ins&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/&lt;/ins&gt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Called before each scramble twist&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;virtual void on_MappingChanged(uint8_t moduleTo, uint8_t screenTo, uint8_t moduleFrom, uint8_t screenFrom) = 0;&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Called for every facelet remapped by the twist — move your game state accordingly.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;virtual void on_Twist(const TOPOLOGY_twistInfo_t twist&lt;/ins&gt;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= 0;&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Called after the twist with its description&lt;/ins&gt;. Used across the official &#039;&#039;Topology&#039;&#039; samples.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Splashscreen ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Splashscreen ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Standard splash screen with leaderboard integration (&amp;lt;code&amp;gt;Splashscreen.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;h&lt;/del&gt;&amp;lt;/code&amp;gt;; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reworked in SDK 6&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&gt;). &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Shows the app title screen &lt;/del&gt;and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;player scores before &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;game starts&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Standard splash screen with leaderboard integration (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SDK 6.0+, reworked in 6.2): title screen, personal best, points table and control hints, rendered from your own sprite assets.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;&amp;lt;code&amp;gt;Splashscreen&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(Application* app, SplsParms::e_LeadersDataType dataType);&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Create for an app; &amp;lt;code&amp;gt;dataType&amp;lt;/code&amp;gt; selects how values are displayed (number, time, …)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;InitSplashScreenSprites(background, mainImage, gameName, QRcode, leaderboardIcon, resultsIcon, twistIcon_1, twistIcon_2, tapIcon_1, tapIcon_2, borderYou)&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Bind your sprite IDs to the standard slots (pass −1 to skip a slot).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;void Render(Screen* screen)&lt;/ins&gt;;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;void Tick(uint32_t currentTime, uint32_t deltaTime);&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Drive it from &amp;lt;code&amp;gt;on_Render&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;on_Tick&amp;lt;/code&amp;gt; while the splash is active&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;uint32_t GetPersonalBest();&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;void SetRecord(uint32_t value&lt;/ins&gt;)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;;&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Personal best score&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;SetNamedValue(idx, name, value, type)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetLabel(idx, text)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetApplicationName(name)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetSeparator(s)&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Texts &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;values shown on &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;splash.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;SetLeaderBoardTable(e_LeaderBoardType)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetLeaderBoardTable(lbTable[FACES][POSITIONS])&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Leaderboard source — built-in or your own table.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;SetQRCodeLink(link)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetColors(key, base)&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;SetPlaybackSpeed(idx, speed)&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: QR link, color theme, label animation speed.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &amp;lt;code&amp;gt;virtual void RenderUserDefinedScreen(uint8_t type)&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Override to add custom splash screens&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Math ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Math ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:39:44 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/GFX_Engine</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Native API</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16945&amp;oldid=16937</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16945&amp;oldid=16937</guid>
			<description>&lt;p&gt;Fix ROBODoc typo parsing (LB_getInfo/LB_getScore restored), detailed Scramble+Splashscreen (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:38, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l292&quot;&gt;Line 292:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 292:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  i32_t LB_getInfo(Cubios::LB_info_t* info)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  i32_t LB_getInfo(Cubios::LB_info_t* info)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Description:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Get leaderboard description.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Players score and achievements can be saved and shared via mobile&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: application and WOWCube Entertainment System servers. This function&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: provides synced information necessary to display points table.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Outputs&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:* info - structure describing leaderboard&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Return values:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Error code:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * 0 - success&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -1 - incorrect arguments count&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -2 - leaderboard is not synced&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -3 - fail to fill output structure&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===LB_getScore===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===LB_getScore===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l297&quot;&gt;Line 297:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 311:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  i32_t LB_getScore(uint8_t* leadTableBin, u32_t bufSize)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  i32_t LB_getScore(uint8_t* leadTableBin, u32_t bufSize)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Description:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Get best results data data.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Players score and achievements can be saved and shared via mobile&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: application and WOWCube Entertainment System servers. This function&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: provides best results table data.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Return values:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Error code:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * 0 - success&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -1 - incorrect arguments count&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -2 - leaderboard is not synced&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -3 - fail to fill output structure&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;History:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: v5.0 - align error codes with LB_getInfo.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Motion Sensors ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Motion Sensors ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:38:59 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Native_API</comments>
		</item>
		<item>
			<title>SDK 6.3/PAWN/Leaderboard</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Leaderboard&amp;diff=16944&amp;oldid=16870</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/PAWN/Leaderboard&amp;diff=16944&amp;oldid=16870</guid>
			<description>&lt;p&gt;Fix ROBODoc typo parsing (LB_getInfo/LB_getScore restored), detailed Scramble+Splashscreen (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:38, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:* wholeUserListCount - total users count&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:* wholeUserListCount - total users count&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: LB_getInfo()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[#LB_getInfo|&lt;/ins&gt;LB_getInfo()&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;History:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;History:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: v5.0 - added&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: v5.0 - added&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Functions==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===LB_getInfo===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Syntax:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; native LB_getInfo(info[LB_INFO]);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Description:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Get leaderboard description.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Players score and achievements can be saved and shared via mobile&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: application and WOWCube Entertainment System servers. This function&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: provides synced information necessary to display points table.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Outputs&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:* info - structure describing leaderboard&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Return values:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Error code:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * 0 - success&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -1 - incorrect arguments count&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -2 - leaderboard is not synced&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -3 - fail to fill output structure&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See also: [[#LB_INFO|LB_INFO]], [[#LB_getScore|LB_getScore()]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===LB_getScore===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Syntax:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; native LB_getScore(leadTableBin[], size = sizeof(leadTableBin));&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Description:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Get best results data data.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Players score and achievements can be saved and shared via mobile&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: application and WOWCube Entertainment System servers. This function&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: provides best results table data.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Arguments:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &#039;&#039;size&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:: how many results to get&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Outputs&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &#039;&#039;leadTableBin&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:: TBD, should be structure with name and score&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Return values:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Error code:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * 0 - success&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -1 - incorrect arguments count&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -2 - leaderboard is not synced&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: * -3 - fail to fill output structure&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See also: [[#LB_getInfo|LB_getInfo()]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;History:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: v5.0 - align error codes with LB_getInfo.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:PAWN API]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:PAWN API]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:38:59 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/PAWN/Leaderboard</comments>
		</item>
		<item>
			<title>File:Store Zenspectrum.jpg</title>
			<link>https://wiki.wowcube.com/wiki/File:Store_Zenspectrum.jpg</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/wiki/File:Store_Zenspectrum.jpg</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/User:Ilya000&quot; class=&quot;mw-userlink&quot; title=&quot;User:Ilya000&quot;&gt;&lt;bdi&gt;Ilya000&lt;/bdi&gt;&lt;/a&gt; deleted page &lt;a href=&quot;/index.php?title=File:Store_Zenspectrum.jpg&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;File:Store Zenspectrum.jpg (page does not exist)&quot;&gt;File:Store Zenspectrum.jpg&lt;/a&gt;&lt;/p&gt;
</description>
			<pubDate>Sun, 26 Jul 2026 09:35:37 GMT</pubDate>
			<dc:creator>Ilya000</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/File_talk:Store_Zenspectrum.jpg</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/GFX Engine</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16943&amp;oldid=16939</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16943&amp;oldid=16939</guid>
			<description>&lt;p&gt;GFX Engine: detailed per-method reference + usage patterns from official samples (WowBot)&lt;/p&gt;
&lt;a href=&quot;https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;amp;diff=16943&amp;amp;oldid=16939&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:29:11 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/GFX_Engine</comments>
		</item>
		<item>
			<title>WASM</title>
			<link>https://wiki.wowcube.com/index.php?title=WASM&amp;diff=16942&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=WASM&amp;diff=16942&amp;oldid=0</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;#REDIRECT [[SDK 6.3/C++/Native API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:55 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:WASM</comments>
		</item>
		<item>
			<title>SDK 6.3</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16941&amp;oldid=16932</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3&amp;diff=16941&amp;oldid=16932</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:14, 26 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== C++ API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== C++ API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;Coming soon&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C/C++ cubeapps run via WebAssembly and use the same engine functions plus an object-oriented framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3/C++/Native API]] — the low-level C ABI (all engine functions, types, enums)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/Application]] — the &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; framework and callbacks&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6.3/C++/GFX Engine]] — retained scene graph: sprites, text, atlases, sounds, math&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rust API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;Coming soon&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SDK 6&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3/Rust]] — the &amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt; crate: Application trait, FFI bindings, entry points, examples&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: [[:Category:SDK 6.3|all SDK 6.3 pages]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: [[:Category:SDK 6.3|all SDK 6.3 pages]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SDK 6.3]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:55 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3</comments>
		</item>
		<item>
			<title>SDK 6.3/Rust</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16940&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/Rust&amp;diff=16940&amp;oldid=0</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, Rust API. Based on the &amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt; crate shipped with the WOWCube Development Kit; the crate sources remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · Rust&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Rust cubeapps are built to WebAssembly and use the same engine ABI as the [[SDK 6.3/C++/Native API|C++ native API]]. The Development Kit ships the &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;wowcube_sdk&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; crate (v0.1.0) together with buildable Rust example projects (&amp;#039;&amp;#039;Basics 1–3&amp;#039;&amp;#039;, with assets). Projects are created and built with the [https://marketplace.visualstudio.com/items?itemName=cubios-inc.WOWCubeSDK WOWCube SDK extension for VS Code].&lt;br /&gt;
&lt;br /&gt;
== Crate layout ==&lt;br /&gt;
&lt;br /&gt;
 [package]&lt;br /&gt;
 name = &amp;quot;wowcube_sdk&amp;quot;&lt;br /&gt;
 version = &amp;quot;0.1.0&amp;quot;&lt;br /&gt;
 edition = &amp;quot;2021&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 [dependencies]&lt;br /&gt;
 cty = &amp;quot;0.2.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;wowcube_sdk::application&amp;lt;/code&amp;gt; — the &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; trait, &amp;lt;code&amp;gt;ApplicationContext&amp;lt;/code&amp;gt;, timers, animation helper (&amp;lt;code&amp;gt;Anim&amp;lt;/code&amp;gt;), error type &amp;lt;code&amp;gt;AppErr&amp;lt;/code&amp;gt;, and the entry helpers &amp;lt;code&amp;gt;application_init()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;application_run()&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;wowcube_sdk::cubios&amp;lt;/code&amp;gt; — FFI bindings to the engine ABI and the typed submodules &amp;lt;code&amp;gt;comm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gfx&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;topology&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Application trait ==&lt;br /&gt;
&lt;br /&gt;
A cubeapp implements the &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; trait; all callbacks have default no-op implementations, so you override only what you need:&lt;br /&gt;
&lt;br /&gt;
 pub trait Application {&lt;br /&gt;
     fn app_context_mut(&amp;amp;mut self) -&amp;gt; &amp;amp;mut ApplicationContext;&lt;br /&gt;
&lt;br /&gt;
     fn on_init(&amp;amp;mut self)  -&amp;gt; Result&amp;lt;(), AppErr&amp;gt; { Ok(()) }&lt;br /&gt;
     fn on_tick(&amp;amp;mut self)  -&amp;gt; Result&amp;lt;(), AppErr&amp;gt; { Ok(()) }&lt;br /&gt;
     fn on_render(&amp;amp;self)    -&amp;gt; Result&amp;lt;(), AppErr&amp;gt; { Ok(()) }&lt;br /&gt;
     fn on_timer(&amp;amp;mut self, _timer_id: u8) -&amp;gt; Result&amp;lt;(), AppErr&amp;gt; { Ok(()) }&lt;br /&gt;
&lt;br /&gt;
     fn set_timer(&amp;amp;mut self, id: u8, delay: u32, suspended: bool) -&amp;gt; bool { … }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Errors are reported through the &amp;lt;code&amp;gt;AppErr&amp;lt;/code&amp;gt; enum (&amp;lt;code&amp;gt;AssetNotFound&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;InvalidModule&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;InvalidTwist&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SceneNotFound&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
== Entry points ==&lt;br /&gt;
&lt;br /&gt;
The module exports two &amp;lt;code&amp;gt;extern &amp;quot;C&amp;quot;&amp;lt;/code&amp;gt; functions which the runtime calls (from the shipped &amp;#039;&amp;#039;HelloWOWCube&amp;#039;&amp;#039; example):&lt;br /&gt;
&lt;br /&gt;
 #![no_main]&lt;br /&gt;
 mod cubeapp;&lt;br /&gt;
 use wowcube_sdk;&lt;br /&gt;
&lt;br /&gt;
 static mut APPLICATION: Option&amp;lt;cubeapp::HelloWOWCube&amp;gt; = None;&lt;br /&gt;
&lt;br /&gt;
 #[no_mangle]&lt;br /&gt;
 pub extern &amp;quot;C&amp;quot; fn on_init(cid: u32) {&lt;br /&gt;
     let mut application = cubeapp::HelloWOWCube::new();&lt;br /&gt;
     wowcube_sdk::application::application_init(&amp;amp;mut application, cid);&lt;br /&gt;
     unsafe { APPLICATION = Some(application); }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 #[no_mangle]&lt;br /&gt;
 pub extern &amp;quot;C&amp;quot; fn run() {&lt;br /&gt;
     let application = unsafe { APPLICATION.as_mut().unwrap() };&lt;br /&gt;
     wowcube_sdk::application::application_run(application);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cid&amp;lt;/code&amp;gt; is the index of the module (0–7) the instance runs on — the same value as &amp;lt;code&amp;gt;cubeN&amp;lt;/code&amp;gt; in C++ and &amp;lt;code&amp;gt;SELF_ID&amp;lt;/code&amp;gt; in PAWN; it is also available as &amp;lt;code&amp;gt;cubios::CUBE_N&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== FFI types ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wowcube_sdk::cubios&amp;lt;/code&amp;gt; mirrors the [[SDK 6.3/C++/Native API#Types and data structures|native types]] with Rust naming:&lt;br /&gt;
&lt;br /&gt;
 pub struct TopologyFaceletInfo { pub module: i32, pub screen: i32, pub connected: i32 }&lt;br /&gt;
 pub struct TopologyPlace       { pub face: i32, pub position: i32 }&lt;br /&gt;
 pub struct TopologyTwistInfo   { pub screen: i32, pub count: i32, pub direction: i32 }&lt;br /&gt;
 pub struct LbInfo              { pub board_count: i32, pub self_position: i32,&lt;br /&gt;
                                  pub self_achivement: i32, pub whole_user_list_count: i32 }&lt;br /&gt;
 pub struct GfxParticle         { ttl, vx, vy, ax, ay, explosion, velocity,&lt;br /&gt;
                                  duration, frequency, max, loop, time }&lt;br /&gt;
&lt;br /&gt;
Enumerations: &amp;lt;code&amp;gt;TopologyNeighbour&amp;lt;/code&amp;gt; (None/Left/Diagonal/Top/Right/Bottom), &amp;lt;code&amp;gt;TopologyOrientation&amp;lt;/code&amp;gt; (Menu/Gravity/Splash), &amp;lt;code&amp;gt;TopologyLocation&amp;lt;/code&amp;gt; (Up/Down/Front/Back/Left/Right), &amp;lt;code&amp;gt;TextAlign&amp;lt;/code&amp;gt; (9 values), &amp;lt;code&amp;gt;LogLevel&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UartId&amp;lt;/code&amp;gt;; constant &amp;lt;code&amp;gt;NET_BROADCAST = 0xFF&amp;lt;/code&amp;gt;; type aliases &amp;lt;code&amp;gt;SoundId&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SpriteId&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the semantics of the underlying engine functions (graphics, sound, topology, sensors, leaderboard) see the [[SDK 6.3/C++/Native API|native API reference]] — names and behavior match one-to-one.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The Development Kit ships three buildable Rust projects under &amp;lt;code&amp;gt;examples/…/rust/Basics&amp;lt;/code&amp;gt;, each with a &amp;lt;code&amp;gt;project/src/main.rs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cubeapp.rs&amp;lt;/code&amp;gt;, an &amp;lt;code&amp;gt;assets/&amp;lt;/code&amp;gt; folder and a &amp;lt;code&amp;gt;wowcubeapp-build.json&amp;lt;/code&amp;gt; build manifest.&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:Rust API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:54 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/Rust</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/GFX Engine</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16939&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/GFX_Engine&amp;diff=16939&amp;oldid=0</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · C++ / GFX Engine&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The object-oriented retained layer of the C++ SDK (namespace &amp;lt;code&amp;gt;Cubios&amp;lt;/code&amp;gt;): a scene graph with sprites, text, backgrounds, sounds and math primitives. It sits on top of the [[SDK 6.3/C++/Native API|native ABI]] and is driven by the [[SDK 6.3/C++/Application|Application framework]]. Public signatures below are extracted from the SDK 6.3 headers.&lt;br /&gt;
&lt;br /&gt;
=== Scene ===&lt;br /&gt;
&lt;br /&gt;
The retained scene graph owned by every &amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt; (field &amp;lt;code&amp;gt;app.Scene&amp;lt;/code&amp;gt;). Holds scene objects and renders them per screen.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Scene.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Scene();&lt;br /&gt;
 virtual ~Scene();&lt;br /&gt;
 uint32_t CreateObject(SceneObject* obj);&lt;br /&gt;
 bool CreateObjectWithID(uint32_t id, SceneObject* obj);&lt;br /&gt;
 uint32_t CreateSound(Sound* obj);&lt;br /&gt;
 bool CreateSoundWithID(uint32_t id, Sound* obj);&lt;br /&gt;
 bool DisposeObjectWithID(uint32_t id);&lt;br /&gt;
 bool DisposeSoundWithID(uint32_t id);&lt;br /&gt;
 void DisposeAllObjects();&lt;br /&gt;
 void Play(uint32_t id, uint8_t volume);&lt;br /&gt;
&lt;br /&gt;
=== SceneObject ===&lt;br /&gt;
&lt;br /&gt;
Base class of every visual object in the scene graph. Provides position, rotation, scale, opacity, z-order, per-screen placement and lifecycle.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;SceneObject.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 SceneObject():Parent(nullptr),ScreenAngle(0),Visible(true),InBegin(false);&lt;br /&gt;
 virtual ~SceneObject();&lt;br /&gt;
 virtual void Render() = 0;&lt;br /&gt;
 SceneObject* SetColor(uint32_t v);&lt;br /&gt;
 SceneObject* SetA(uint8_t a);&lt;br /&gt;
 SceneObject* SetAf(float a);&lt;br /&gt;
 SceneObject* SetAfSafe(float a);&lt;br /&gt;
 SceneObject* SetR(uint8_t r);&lt;br /&gt;
 SceneObject* SetG(uint8_t g);&lt;br /&gt;
 SceneObject* SetB(uint8_t b);&lt;br /&gt;
 SceneObject* SetVisible(bool v);&lt;br /&gt;
 SceneObject* SetTransform(const Math::Transform&amp;amp; t);&lt;br /&gt;
 SceneObject* SetPosition(const Math::Vec2&amp;amp; p);&lt;br /&gt;
 SceneObject* SetPosition(float x, float y);&lt;br /&gt;
 SceneObject* SetRotation(int r);&lt;br /&gt;
 SceneObject* SetMirroring(unsigned int m);&lt;br /&gt;
 SceneObject* SetScale(unsigned int s);&lt;br /&gt;
 SceneObject* SetScale(unsigned int sx, unsigned int sy);&lt;br /&gt;
 SceneObject* SetXScale(unsigned int s);&lt;br /&gt;
 SceneObject* SetYScale(unsigned int s);&lt;br /&gt;
 const Math::Vec2 ScreenPosition();&lt;br /&gt;
 if(this-&amp;gt;Parent==nullptr) return pos;&lt;br /&gt;
 switch(ScreenAngle);&lt;br /&gt;
 pos.Set(this-&amp;gt;Transform.Position.X,this-&amp;gt;Transform.Position.Y);&lt;br /&gt;
 pos.Set(240-this-&amp;gt;Transform.Position.Y,this-&amp;gt;Transform.Position.X);&lt;br /&gt;
 pos.Set(240-this-&amp;gt;Transform.Position.X,240-this-&amp;gt;Transform.Position.Y);&lt;br /&gt;
 pos.Set(this-&amp;gt;Transform.Position.Y,240-this-&amp;gt;Transform.Position.X);&lt;br /&gt;
 SceneObject* Move(const Math::Vec2&amp;amp; v);&lt;br /&gt;
 SceneObject* Move(float dx, float dy);&lt;br /&gt;
 if(this-&amp;gt;Parent==nullptr) return this;&lt;br /&gt;
 if(!this-&amp;gt;InBegin);&lt;br /&gt;
 LOG_w(&amp;quot;SceneObject: Move() can only be called within Begin/End block!\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== Screen ===&lt;br /&gt;
&lt;br /&gt;
One of the three displays of the current module; passed to &amp;lt;code&amp;gt;on_Render()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;on_PhysicsTick()&amp;lt;/code&amp;gt;. Render target selector.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Screen.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Screen(uint8_t id);&lt;br /&gt;
 void SetOrientation(TOPOLOGY_orientation_mode_t mode);&lt;br /&gt;
 uint8_t Position() const;&lt;br /&gt;
 TOPOLOGY_orientation_t Direction() const;&lt;br /&gt;
 uint8_t OppositeFace() const;&lt;br /&gt;
 uint8_t Face() const;&lt;br /&gt;
 inline uint8_t ID() const;&lt;br /&gt;
 inline uint32_t Angle() const;&lt;br /&gt;
 SceneObject* Add(SceneObject* obj);&lt;br /&gt;
 SceneObject* AddCopy(SceneObject* obj);&lt;br /&gt;
 void Begin(TOPOLOGY_orientation_mode_t mode = Cubios::ORIENTATION_MODE_MENU,bool autorotation = false);&lt;br /&gt;
 void End();&lt;br /&gt;
 inline bool IsAutorotation();&lt;br /&gt;
&lt;br /&gt;
=== Object ===&lt;br /&gt;
&lt;br /&gt;
Minimal reference-counted base class for engine resources.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Object.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Object();&lt;br /&gt;
 virtual ~Object();&lt;br /&gt;
 inline void SetId(int16_t id);&lt;br /&gt;
&lt;br /&gt;
=== Gfx::Background ===&lt;br /&gt;
&lt;br /&gt;
Full-screen background image object.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/Background.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Background(uint32_t color);&lt;br /&gt;
 Background(uint8_t R, uint8_t G, uint8_t B);&lt;br /&gt;
 Background(uint8_t R, uint8_t G, uint8_t B, uint8_t A);&lt;br /&gt;
 virtual ~Background();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
 Cubios::SceneObject* SetColor(uint32_t color);&lt;br /&gt;
 Cubios::SceneObject* SetColor(uint8_t R, uint8_t G, uint8_t B);&lt;br /&gt;
 Cubios::SceneObject* SetColor(uint8_t R, uint8_t G, uint8_t B, uint8_t A);&lt;br /&gt;
&lt;br /&gt;
=== Gfx::Sprite ===&lt;br /&gt;
&lt;br /&gt;
Static image sprite bound to an image asset by name.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/Sprite.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Sprite(std::string name, const Cubios::Math::Transform&amp;amp; t);&lt;br /&gt;
 Sprite(std::string name, float x, float y);&lt;br /&gt;
 Sprite(std::string name);&lt;br /&gt;
 Sprite(const Sprite&amp;amp; sprite);&lt;br /&gt;
 virtual ~Sprite();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
&lt;br /&gt;
=== Gfx::AnimatedSprite ===&lt;br /&gt;
&lt;br /&gt;
Frame-animated sprite.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/AnimatedSprite.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 AnimatedSprite(std::vector&amp;lt;std::string&amp;gt;&amp;amp; names, const Cubios::Math::Transform&amp;amp; t);&lt;br /&gt;
 AnimatedSprite(std::vector&amp;lt;std::string&amp;gt;&amp;amp; names, float x, float y);&lt;br /&gt;
 AnimatedSprite(std::vector&amp;lt;std::string&amp;gt;&amp;amp; names);&lt;br /&gt;
 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame, const Cubios::Math::Transform&amp;amp; t);&lt;br /&gt;
 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame, float x, float y);&lt;br /&gt;
 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame);&lt;br /&gt;
 AnimatedSprite(const AnimatedSprite&amp;amp; sprite);&lt;br /&gt;
 AnimatedSprite(Cubios::Gfx::SpriteAtlas&amp;lt;Cubios::Gfx::SpriteAtlasElement&amp;gt;* atlas, const Cubios::Math::Transform&amp;amp; t);&lt;br /&gt;
 AnimatedSprite(Cubios::Gfx::SpriteAtlas&amp;lt;Cubios::Gfx::SpriteAtlasElement&amp;gt;* atlas, float x, float y);&lt;br /&gt;
 AnimatedSprite(Cubios::Gfx::SpriteAtlas&amp;lt;Cubios::Gfx::SpriteAtlasElement&amp;gt;* atlas);&lt;br /&gt;
 virtual ~AnimatedSprite();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
 int16_t Tick(uint32_t dt);&lt;br /&gt;
 Cubios::SceneObject* SetFrame(int16_t frameNumber);&lt;br /&gt;
 Cubios::SceneObject* SetPlaybackSpeed(int16_t speed);&lt;br /&gt;
 Cubios::SceneObject* SetPlaybackMode(playbackMode_t mode);&lt;br /&gt;
 int16_t PrevFrame();&lt;br /&gt;
 int16_t NextFrame();&lt;br /&gt;
&lt;br /&gt;
=== Gfx::SpriteAtlas ===&lt;br /&gt;
&lt;br /&gt;
Sprite atlas: a sheet of sub-images rendered via &amp;lt;code&amp;gt;SpriteAtlasElement&amp;lt;/code&amp;gt;. Added in SDK 6.2.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/SpriteAtlas.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 SpriteAtlas(std::string name, Cubios::Scene* scene);&lt;br /&gt;
 virtual ~SpriteAtlas();&lt;br /&gt;
 bool AddSprite(uint32_t id, const Cubios::Math::Rect2&amp;amp; rc);&lt;br /&gt;
 bool RemoveSprite(uint32_t id);&lt;br /&gt;
 T* Get(uint32_t ind);&lt;br /&gt;
 inline size_t Count();&lt;br /&gt;
 inline std::vector&amp;lt;uint32_t&amp;gt;* ElementsInsertionOrder();&lt;br /&gt;
&lt;br /&gt;
=== Gfx::SpriteAtlasElement ===&lt;br /&gt;
&lt;br /&gt;
One element (sub-rectangle) of a &amp;lt;code&amp;gt;SpriteAtlas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/SpriteAtlas.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 SpriteAtlasElement(SpriteAtlasBase* host, const Cubios::Math::Rect2&amp;amp; rc);&lt;br /&gt;
 virtual ~SpriteAtlasElement();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
 virtual SpriteAtlasElement* Copy();&lt;br /&gt;
 inline Cubios::Math::Rect2* Rect();&lt;br /&gt;
&lt;br /&gt;
=== Gfx::Text ===&lt;br /&gt;
&lt;br /&gt;
Text object with scale, alignment and color.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/Text.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Text(std::string text, const Cubios::Math::Transform&amp;amp; t, uint32_t fontSize, const Cubios::Math::Color&amp;amp; color, Cubios::text_align_t al = Cubios::text_align_t::TEXT_ALIGN_CENTER);&lt;br /&gt;
 Text(std::string text, const Cubios::Math::Transform&amp;amp; t, uint32_t fontSize = 10, Cubios::text_align_t al = Cubios::text_align_t::TEXT_ALIGN_CENTER);&lt;br /&gt;
 Text(std::string text, float x, float y, uint32_t fontSize = 10);&lt;br /&gt;
 Text(std::string text, float x, float y, uint32_t fontSize, const Cubios::Math::Color&amp;amp; color);&lt;br /&gt;
 virtual ~Text();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
 Cubios::SceneObject* SetContent(std::string text);&lt;br /&gt;
 Cubios::SceneObject* FormatContent(char const* format,...);&lt;br /&gt;
 Cubios::SceneObject* SetFontSize(uint32_t fontSize);&lt;br /&gt;
&lt;br /&gt;
=== Gfx::QRCode ===&lt;br /&gt;
&lt;br /&gt;
QR-code object rendered on screen. Added in SDK 6.0.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/QRCode.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 QRCode(std::string data, const Cubios::Math::Transform&amp;amp; t);&lt;br /&gt;
 QRCode(std::string data, float x, float y);&lt;br /&gt;
 QRCode(std::string data, const Cubios::Math::Transform&amp;amp; t, u32_t size);&lt;br /&gt;
 QRCode(std::string data, float x, float y, u32_t size);&lt;br /&gt;
 QRCode(const QRCode&amp;amp; qr);&lt;br /&gt;
 virtual ~QRCode();&lt;br /&gt;
 Cubios::SceneObject* SetSize(u32_t size);&lt;br /&gt;
 Cubios::SceneObject* SetColor(const Math::Color&amp;amp; color);&lt;br /&gt;
 Cubios::SceneObject* SetBackgroundColor(const Math::Color&amp;amp; color);&lt;br /&gt;
 Cubios::SceneObject* SetData(std::string data);&lt;br /&gt;
 void Render() override;&lt;br /&gt;
&lt;br /&gt;
=== Gfx::OffscreenRenderTarget ===&lt;br /&gt;
&lt;br /&gt;
Offscreen render target (baked image) usable as a scene object.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Gfx/OffscreenRenderTarget.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 OffscreenRenderTarget(u32_t width, u32_t height, Cubios::GFX_PixelFormat_t format);&lt;br /&gt;
 virtual ~OffscreenRenderTarget();&lt;br /&gt;
 Cubios::SceneObject* Add(Cubios::SceneObject* obj);&lt;br /&gt;
 Cubios::SceneObject* AddCopy(Cubios::SceneObject* obj);&lt;br /&gt;
 void Begin(bool overwrite=false);&lt;br /&gt;
 void End();&lt;br /&gt;
 void Render() override;&lt;br /&gt;
 virtual void RenderLayer(renderLayerOrder_t order);&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
A sound asset; play, stop and query state.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Sound.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 explicit Sound(const std::string&amp;amp; name);&lt;br /&gt;
 ~Sound();&lt;br /&gt;
 void Play(uint8_t volume = 100);&lt;br /&gt;
 static void Stop();&lt;br /&gt;
 static bool IsPlaying();&lt;br /&gt;
&lt;br /&gt;
=== SoundCollection ===&lt;br /&gt;
&lt;br /&gt;
A set of sounds with random playback helpers. Added in SDK 6.2.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Sound.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 SoundCollection(std::vector&amp;lt;std::string&amp;gt;&amp;amp; names);&lt;br /&gt;
 SoundCollection(std::vector&amp;lt;Cubios::Sound*&amp;gt;&amp;amp; sounds);&lt;br /&gt;
 virtual ~SoundCollection();&lt;br /&gt;
 bool PlayRandomSound(uint8_t volume = 100, bool stopCurrent = true);&lt;br /&gt;
 bool RepeatRandomSounds(uint8_t volume, int delayMin, int delayMax, int deltaTime);&lt;br /&gt;
 void Stop();&lt;br /&gt;
 bool IsPlaying();&lt;br /&gt;
&lt;br /&gt;
=== NetworkMessage ===&lt;br /&gt;
&lt;br /&gt;
Bit-packed serializer for inter-module messages (write/read ints, signed ints, floats).&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;NetworkMessage.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 NetworkMessage(uint8_t* data=NULL,int length=MESSAGE_SIZE_MAX);&lt;br /&gt;
 virtual ~NetworkMessage();&lt;br /&gt;
 void Print();&lt;br /&gt;
 void WriteInt(int value, int bits);&lt;br /&gt;
 void WriteByte(uint8_t value);&lt;br /&gt;
 void WriteSignedInt(int value, int bits);&lt;br /&gt;
 void WriteBool(bool value);&lt;br /&gt;
 void WriteFloat(float value);&lt;br /&gt;
 int ReadInt(int bits);&lt;br /&gt;
 int ReadSignedInt(int bits);&lt;br /&gt;
 uint8_t ReadByte();&lt;br /&gt;
 bool ReadBool();&lt;br /&gt;
 float ReadFloat();&lt;br /&gt;
 uint8_t* GetData(int&amp;amp; length);&lt;br /&gt;
 void SetData(uint8_t* data, int length);&lt;br /&gt;
 inline void Reset(bool zero=false);&lt;br /&gt;
&lt;br /&gt;
=== SaveMessage ===&lt;br /&gt;
&lt;br /&gt;
Serializer for persistent state (used with &amp;lt;code&amp;gt;SaveState()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;LoadState()&amp;lt;/code&amp;gt;). Added in SDK 6.0.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;SaveMessage.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 SaveMessage(uint8_t* data=NULL,int length=GAME_SAVE_SIZE);&lt;br /&gt;
 virtual ~SaveMessage();&lt;br /&gt;
 void Print();&lt;br /&gt;
 void WriteInt(int value, int bits);&lt;br /&gt;
 void WriteByte(uint8_t value);&lt;br /&gt;
 void WriteSignedInt(int value, int bits);&lt;br /&gt;
 void WriteBool(bool value);&lt;br /&gt;
 void WriteFloat(float value);&lt;br /&gt;
 int ReadInt(int bits);&lt;br /&gt;
 int ReadSignedInt(int bits);&lt;br /&gt;
 uint8_t ReadByte();&lt;br /&gt;
 bool ReadBool();&lt;br /&gt;
 float ReadFloat();&lt;br /&gt;
 uint8_t* GetData(int&amp;amp; length);&lt;br /&gt;
 void SetData(uint8_t* data, int length);&lt;br /&gt;
 inline void Reset(bool zero=false);&lt;br /&gt;
&lt;br /&gt;
=== Scramble ===&lt;br /&gt;
&lt;br /&gt;
Cube-scramble helper. Added in SDK 6.0.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Scramble.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Scramble();&lt;br /&gt;
 ~Scramble();&lt;br /&gt;
 void StartScramble(uint8_t twistsCount);&lt;br /&gt;
 void VirtualTwist(uint8_t screen, uint8_t direction);&lt;br /&gt;
 virtual void on_BeforeTwist() = 0;&lt;br /&gt;
 virtual void on_MappingChanged(uint8_t moduleTo, uint8_t screenTo, uint8_t moduleFrom, uint8_t screenFrom) = 0;&lt;br /&gt;
 virtual void on_Twist(const Cubios::TOPOLOGY_twistInfo_t twist) = 0;&lt;br /&gt;
&lt;br /&gt;
=== Splashscreen ===&lt;br /&gt;
&lt;br /&gt;
Standard splash screen with leaderboard support (reworked in SDK 6.2).&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Splashscreen.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Splashscreen(Cubios::Application *app, SplsParms::e_LeadersDataType dataType);&lt;br /&gt;
 ~Splashscreen();&lt;br /&gt;
 virtual void Render(Cubios::Screen* screen);&lt;br /&gt;
 virtual void Tick(uint32_t currentTime, uint32_t deltaTime);&lt;br /&gt;
 uint32_t GetPersonalBest();&lt;br /&gt;
 void SetRecord(uint32_t value);&lt;br /&gt;
 void SetNamedValue(uint8_t idx, std::string name, uint32_t value, SplsParms::e_LeadersDataType type = SplsParms::e_LeadersDataType::typeNumber);&lt;br /&gt;
 void SetSeparator(std::string s);&lt;br /&gt;
 void SetLabel(SplsParms::e_LabelTypes idx, std::string text);&lt;br /&gt;
 void SetApplicationName(std::string name);&lt;br /&gt;
 void SetLeaderBoardTable(SplsParms::e_LeaderBoardType type);&lt;br /&gt;
 void SetLeaderBoardTable(uint32_t (&amp;amp;lbTable)[TOPOLOGY_FACES_MAX][TOPOLOGY_POSITIONS_MAX]);&lt;br /&gt;
 void SetPlaybackSpeed(SplsParms::e_LabelTypes idx, uint32_t speed);&lt;br /&gt;
 void SetQRCodeLink(std::string link);&lt;br /&gt;
 void SetColors(Cubios::Math::Color key, Cubios::Math::Color base);&lt;br /&gt;
 void SetTopology(uint8_t screen, Cubios::TOPOLOGY_place_t p);&lt;br /&gt;
 void GetTopology(TOPOLOGY_orientation_mode_t mode, bool replaceFaceToOrientation);&lt;br /&gt;
 virtual void RenderUserDefinedScreen(uint8_t type);&lt;br /&gt;
&lt;br /&gt;
=== Math::Vec2 ===&lt;br /&gt;
&lt;br /&gt;
2D float vector.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Math/Vec2.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Vec2();&lt;br /&gt;
 Vec2(const float _x, const float _y);&lt;br /&gt;
 Vec2(const Vec2&amp;amp; vec);&lt;br /&gt;
 Vec2(const float* p);&lt;br /&gt;
 void Set(const float _x, const float _y);&lt;br /&gt;
 void Set(const Vec2&amp;amp; vec);&lt;br /&gt;
 void Set(const float* p);&lt;br /&gt;
 float Len() const;&lt;br /&gt;
 void Norm();&lt;br /&gt;
 bool IsEqual(const Vec2&amp;amp; v, const float tol) const;&lt;br /&gt;
 int Compare(const Vec2&amp;amp; v, float tol) const;&lt;br /&gt;
&lt;br /&gt;
=== Math::Vec2i ===&lt;br /&gt;
&lt;br /&gt;
2D integer vector.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Math/Vec2.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Vec2i();&lt;br /&gt;
 Vec2i(const int16_t _x, const int16_t _y);&lt;br /&gt;
 Vec2i(const Vec2i&amp;amp; vec);&lt;br /&gt;
 Vec2i(const int16_t* p);&lt;br /&gt;
 void Set(const int16_t _x, const int16_t _y);&lt;br /&gt;
 void Set(const Vec2i&amp;amp; vec);&lt;br /&gt;
 void Set(const int16_t* p);&lt;br /&gt;
 float Len() const;&lt;br /&gt;
 void Norm();&lt;br /&gt;
 bool IsEqual(const Vec2i&amp;amp; v, const float tol) const;&lt;br /&gt;
 int Compare(const Vec2i&amp;amp; v, float tol) const;&lt;br /&gt;
&lt;br /&gt;
=== Math::Transform ===&lt;br /&gt;
&lt;br /&gt;
Position + rotation + mirroring transform of a scene object.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Math/Transform.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Transform():Position(0,0),Rotation(0),Mirroring(0),ScaleX(100),ScaleY(100);&lt;br /&gt;
 Transform(float x, float y): Position(x,y),Rotation(0),Mirroring(0),ScaleX(100),ScaleY(100);&lt;br /&gt;
 Transform(float x, float y, unsigned int a): Position(x,y),Rotation(a),Mirroring(0),ScaleX(100),ScaleY(100);&lt;br /&gt;
 Transform(float x, float y, unsigned int a, unsigned int sx, unsigned int sy ): Position(x,y),Rotation(a),Mirroring(0),ScaleX(sx),ScaleY(sy);&lt;br /&gt;
 Transform(float x, float y, unsigned int a, unsigned int m): Position(x,y),Rotation(a),Mirroring(m),ScaleX(100),ScaleY(100);&lt;br /&gt;
 Transform(float x, float y, unsigned int a, unsigned int sx, unsigned int sy, unsigned int m): Position(x,y),Rotation(a),Mirroring(m),ScaleX(sx),ScaleY(sy);&lt;br /&gt;
 Transform(const Transform&amp;amp; t): Position(t.Position),Rotation(t.Rotation),Mirroring(t.Mirroring),ScaleX(t.ScaleX),ScaleY(t.ScaleY);&lt;br /&gt;
 int SafeRotation();&lt;br /&gt;
&lt;br /&gt;
=== Math::Color ===&lt;br /&gt;
&lt;br /&gt;
RGBA color with float/byte accessors (see also &amp;lt;code&amp;gt;Gfx/Colors.h&amp;lt;/code&amp;gt; named constants).&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Math/Color.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Color():_R(255),_G(255),_B(255),_A(255),_Value(0xFFFFFFFF);&lt;br /&gt;
 Color(uint8_t r, uint8_t g, uint32_t b):_R(r),_G(g),_B(b),_A(255);&lt;br /&gt;
 Color(uint8_t r, uint8_t g, uint32_t b, uint8_t a):_R(r),_G(g),_B(b),_A(a);&lt;br /&gt;
 Color(uint32_t v):_Value(v);&lt;br /&gt;
 this-&amp;gt;_B = (v &amp;amp; 0x000000ff);&lt;br /&gt;
 this-&amp;gt;_G = (v &amp;amp; 0x0000ff00) &amp;gt;&amp;gt; 8;&lt;br /&gt;
 this-&amp;gt;_R = (v &amp;amp; 0x00ff0000) &amp;gt;&amp;gt; 16;&lt;br /&gt;
 this-&amp;gt;_A = (v &amp;amp; 0xff000000) &amp;gt;&amp;gt; 24;&lt;br /&gt;
 void Set(uint8_t r, uint8_t g, uint32_t b, uint8_t a);&lt;br /&gt;
 void Set(uint8_t r, uint8_t g, uint32_t b);&lt;br /&gt;
 void Set(uint32_t v);&lt;br /&gt;
 inline void SetA(uint8_t a);&lt;br /&gt;
 inline void SetAf(float a);&lt;br /&gt;
 inline void SetAfSafe(float a);&lt;br /&gt;
 inline void SetR(uint8_t r);&lt;br /&gt;
 inline void SetG(uint8_t g);&lt;br /&gt;
 inline void SetB(uint8_t b);&lt;br /&gt;
 inline uint8_t A();&lt;br /&gt;
 inline float Af();&lt;br /&gt;
 inline uint8_t R();&lt;br /&gt;
 inline uint8_t G();&lt;br /&gt;
 inline uint8_t B();&lt;br /&gt;
 inline uint32_t Value();&lt;br /&gt;
&lt;br /&gt;
=== Math::Rect2 ===&lt;br /&gt;
&lt;br /&gt;
2D rectangle.&lt;br /&gt;
&lt;br /&gt;
Public interface (&amp;lt;code&amp;gt;Math/Rect2.h&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 Rect2();&lt;br /&gt;
 Rect2(const Vec2i&amp;amp; topLeft, const Vec2i&amp;amp; bottomRight);&lt;br /&gt;
 Rect2(int16_t x, int16_t y, int16_t width, int16_t height);&lt;br /&gt;
 void Set(const Vec2i&amp;amp; topLeft, const Vec2i&amp;amp; bottomRight);&lt;br /&gt;
 bool IsInside(const Vec2i&amp;amp; p) const;&lt;br /&gt;
 Vec2i Midpoint() const;&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:54 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/GFX_Engine</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Application</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Application&amp;diff=16938&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Application&amp;diff=16938&amp;oldid=0</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · C++ / Application framework&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Every C++ cubeapp subclasses &amp;lt;code&amp;gt;Cubios::Application&amp;lt;/code&amp;gt; and registers it in the &amp;lt;code&amp;gt;OnInit()&amp;lt;/code&amp;gt; entry point via &amp;lt;code&amp;gt;AppManager::SetApplication()&amp;lt;/code&amp;gt;. The same source runs on all eight modules; use &amp;lt;code&amp;gt;Module&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;IsMasterModule()&amp;lt;/code&amp;gt; to branch per module.&lt;br /&gt;
&lt;br /&gt;
== Entry point ==&lt;br /&gt;
&lt;br /&gt;
 // Application initialization callback. Called once when the cubeapp starts&lt;br /&gt;
 void OnInit(Cubios::AppManager&amp;amp; appMgr)&lt;br /&gt;
 {&lt;br /&gt;
     appMgr.SetApplication(new MyGame);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== class Cubios::Application ==&lt;br /&gt;
&lt;br /&gt;
Callbacks to override:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Message(uint32_t type, uint8_t *pkt, u32_t size) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when the module receives an inter-module network packet.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_ExternalMessage(uint8_t *pkt, u32_t size) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when the module receives external data over BLE from the companion app.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_PhysicsTick(const std::array&amp;lt;Screen, 3&amp;gt; &amp;amp;screens) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: The &amp;quot;physics&amp;quot; callback; called recurrently with at least 33 ms resolution (or less, depending on load).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Tick(uint32_t time, uint32_t dt) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called every tick of the cubeapp application loop with current time and delta.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Render(std::array&amp;lt;Screen, 3&amp;gt; &amp;amp;screens) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called every time the device is about to render visuals; iterate the three &amp;lt;code&amp;gt;Screen&amp;lt;/code&amp;gt;s and draw.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Twist(const TOPOLOGY_twistInfo_t &amp;amp;twist) = 0;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when the cube is twisted and its topological description has changed.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Tap(uint32_t count);&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called on a tap on one of the module&amp;#039;s screens.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Pat(uint32_t count);&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called on a pat (tap on the opposite side).&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Close();&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called before the application is closed.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;virtual void on_Timer(uint8_t timerID);&amp;lt;/code&amp;gt;&lt;br /&gt;
: Called when a programmable timer (see &amp;lt;code&amp;gt;SetTimer()&amp;lt;/code&amp;gt;) fires.&lt;br /&gt;
&lt;br /&gt;
Services provided:&lt;br /&gt;
&lt;br /&gt;
 uint32_t GetTime() const;&lt;br /&gt;
 uint32_t GetTimeSeconds() const;&lt;br /&gt;
 void SendNetworkMessage(uint32_t type, NetworkMessage *msg) const;&lt;br /&gt;
 void SendExternalMessage(uint32_t type, uint8_t *data, size_t size) const;&lt;br /&gt;
 void SaveState(void *data, size_t size) const;&lt;br /&gt;
 i32_t LoadState(u32_t *id, void *data, size_t size) const;&lt;br /&gt;
 void SaveState(SaveMessage* msg) const;&lt;br /&gt;
 i32_t LoadState(u32_t *id, SaveMessage* msg) const;&lt;br /&gt;
 bool SetTimer(uint8_t id, uint32_t delay, bool suspended = false);&lt;br /&gt;
 bool StartTimer(uint8_t id);&lt;br /&gt;
 bool StopTimer(uint8_t id);&lt;br /&gt;
 void KillTimer(uint8_t id);&lt;br /&gt;
 void ShowFPSCounter(bool b);&lt;br /&gt;
 bool IsMasterModule();&lt;br /&gt;
 if (this-&amp;gt;Module == 0) return true;&lt;br /&gt;
 inline int GetImageAssetsCount();&lt;br /&gt;
 inline int GetSoundAssetsCount();&lt;br /&gt;
&lt;br /&gt;
Public fields: &amp;lt;code&amp;gt;Cubios::Scene Scene;&amp;lt;/code&amp;gt; — the module&amp;#039;s [[SDK 6.3/C++/GFX Engine|scene graph]]; &amp;lt;code&amp;gt;uint32_t Module;&amp;lt;/code&amp;gt; — index (0–7) of the module running this instance.&lt;br /&gt;
&lt;br /&gt;
== class Cubios::AppManager ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manager pumps the event loop: network packets → &amp;lt;code&amp;gt;on_Message&amp;lt;/code&amp;gt;, BLE data → &amp;lt;code&amp;gt;on_ExternalMessage&amp;lt;/code&amp;gt;, twists → &amp;lt;code&amp;gt;on_Twist&amp;lt;/code&amp;gt;, taps/pats, timers, ticks and rendering.&lt;br /&gt;
&lt;br /&gt;
== struct Timer_t ==&lt;br /&gt;
&lt;br /&gt;
 struct Timer_t { bool suspended; uint32_t delay; uint32_t time; uint8_t id; };&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:53 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Application</comments>
		</item>
		<item>
			<title>SDK 6.3/C++/Native API</title>
			<link>https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16937&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.wowcube.com/index.php?title=SDK_6.3/C%2B%2B/Native_API&amp;diff=16937&amp;oldid=0</guid>
			<description>&lt;p&gt;C++ (WASM) and Rust API reference for SDK 6.3 (WowBot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{notice|&amp;#039;&amp;#039;&amp;#039;Official WOWCube SDK documentation.&amp;#039;&amp;#039;&amp;#039; SDK 6.3, C++ (WebAssembly) API. Signatures are extracted from the canonical SDK headers shipped with the WOWCube Development Kit; the headers remain authoritative.}}&lt;br /&gt;
&lt;br /&gt;
{{SDK 6.3 nav}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;← [[SDK 6.3]] · C++ / Native API&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The low-level C ABI available to C/C++ (and Rust) cubeapps, declared in &amp;lt;code&amp;gt;native.h&amp;lt;/code&amp;gt;. These are the same engine functions as the [[SDK 6.3/PAWN/Core|PAWN API]] — descriptions of shared functions below are taken from the official SDK reference. On top of this layer the SDK provides the object-oriented [[SDK 6.3/C++/Application|Application framework]] and the [[SDK 6.3/C++/GFX Engine|GFX Engine]].&lt;br /&gt;
&lt;br /&gt;
== Types and data structures ==&lt;br /&gt;
&lt;br /&gt;
Defined in &amp;lt;code&amp;gt;native.h&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;native_defines.h&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 typedef uint32_t u32_t;   typedef int32_t i32_t;&lt;br /&gt;
 typedef int32_t soundID_t; typedef int32_t spriteID_t;&lt;br /&gt;
 union AppVersion_t { uint32_t full; struct { uint16_t patch:16; uint8_t minor:4; uint8_t major:4; uint8_t reserved:8; }; };&lt;br /&gt;
 struct TOPOLOGY_faceletInfo_t { int32_t module; int32_t screen; int32_t connected; };&lt;br /&gt;
 struct TOPOLOGY_place_t      { int32_t face; int32_t position; };&lt;br /&gt;
 struct TOPOLOGY_twistInfo_t  { int32_t screen; int32_t count; int32_t direction; };&lt;br /&gt;
 struct LB_info_t   { int32_t boardCount; int32_t selfPosition; int32_t selfScore; int32_t wholeUserListCount; };&lt;br /&gt;
 struct GFX_Particle_t { ttl, vx, vy, ax, ay, explosion, velocity, duration, frequency, max, loop, time };&lt;br /&gt;
&lt;br /&gt;
Enumerations: &amp;lt;code&amp;gt;TOPOLOGY_twist_t&amp;lt;/code&amp;gt; (LEFT/RIGHT/DOUBLE), &amp;lt;code&amp;gt;TOPOLOGY_orientation_mode_t&amp;lt;/code&amp;gt; (MENU/GRAVITY/SPLASH), &amp;lt;code&amp;gt;TOPOLOGY_orientation_t&amp;lt;/code&amp;gt; (UP/DOWN/FRONT/BACK/LEFT/RIGHT), &amp;lt;code&amp;gt;TOPOLOGY_neighbor_t&amp;lt;/code&amp;gt; (SELF/LEFT/DIAGONAL/TOP/RIGHT/BOTTOM), &amp;lt;code&amp;gt;text_align_t&amp;lt;/code&amp;gt; (9 values), &amp;lt;code&amp;gt;GFX_mirror_t&amp;lt;/code&amp;gt; (BLANK/X/Y/XY), &amp;lt;code&amp;gt;GFX_PixelFormat_t&amp;lt;/code&amp;gt; (RGB565/ARGB6666/ARGB8888), &amp;lt;code&amp;gt;eventMask_t&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;LogLevel_t&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;uartID_t&amp;lt;/code&amp;gt;. Constant: &amp;lt;code&amp;gt;NET_BROADCAST = 0xFF&amp;lt;/code&amp;gt;; global &amp;lt;code&amp;gt;cubeN&amp;lt;/code&amp;gt; — the index of the module the code is running on.&lt;br /&gt;
&lt;br /&gt;
== Core ==&lt;br /&gt;
&lt;br /&gt;
===sendPacket===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t sendPacket(u32_t type, uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Send a packet to another module. Use &amp;lt;code&amp;gt;NET_BROADCAST&amp;lt;/code&amp;gt; (0xFF) as the destination to reach all modules. Low-level counterpart of the PAWN &amp;lt;code&amp;gt;broadcastPacket()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===recvPacket===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t recvPacket(u32_t size, uint32_t* type, uint8_t* pkt)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Read a pending inter-module packet into a buffer. Normally consumed by the &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; event loop, which dispatches it to &amp;lt;code&amp;gt;Application::on_Message()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===getTime===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getTime()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get time in milliseconds since the module start.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Time in milliseconds since the module start.&lt;br /&gt;
&lt;br /&gt;
===getUserName===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getUserName(uint8_t* buffer, u32_t bufSize)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the name of a user who is logined on the cube.&lt;br /&gt;
: Get the user name configured in the WOWCube mobile application to save&lt;br /&gt;
: results for.&lt;br /&gt;
&lt;br /&gt;
===toggleDebugInfo===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t toggleDebugInfo()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Toggle overlay with debug information. TBD - move to GFX&lt;br /&gt;
&lt;br /&gt;
===saveState===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t saveState(void* data, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Request to save an application data&lt;br /&gt;
: Save user settings and/or progress on the flash to restore next time. Each&lt;br /&gt;
: save data has an incremental ID.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if save was successful.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - fixed a bug in which only part of a data saved on the flash&lt;br /&gt;
&lt;br /&gt;
===loadState===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t loadState(u32_t* id, void* data, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Request to load an application save data from the flash.&lt;br /&gt;
: Trigger state load event. It is asynchronous so access to flash memory will&lt;br /&gt;
: not affect an application performance.&lt;br /&gt;
&lt;br /&gt;
===random===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t random(u32_t min, u32_t max)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Generate random number in half-open range.&lt;br /&gt;
: Random number generator is initialized before each application start. Seed&lt;br /&gt;
: for initialization is generated by TRNG (True Random Number Generator).&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Pseudo random value from requested range.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - fixed a bug in which random does not generate numbers in a given&lt;br /&gt;
: range.&lt;br /&gt;
&lt;br /&gt;
===getAppVersion===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getAppVersion(Cubios::AppVersion_t *version)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get application version.&lt;br /&gt;
: WOWCube applications follow semantic versioning scheme (see&lt;br /&gt;
: https://semver.org). This interface allows to get version parts stored in&lt;br /&gt;
: the cube application descriptor.&lt;br /&gt;
: Outputs&lt;br /&gt;
:* version - structure describing application version&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===LOG===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LOG(uint8_t level, const char* text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Write a log line with the given level. Prefer the &amp;lt;code&amp;gt;LOG_a/e/w/i/d/v&amp;lt;/code&amp;gt; printf-style macros (see &amp;lt;code&amp;gt;LogLevel_t&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===getTap===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t getTap()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the pending tap event, if any. Normally consumed by the &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; event loop (&amp;lt;code&amp;gt;Application::on_Tap()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;on_Pat()&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===sendBleData===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t sendBleData(u32_t type, uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Send external data over BLE to the connected companion (WOWCube Connect) application.&lt;br /&gt;
&lt;br /&gt;
===recvBleData===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t recvBleData(uint8_t* pkt, u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Receive pending external BLE data; dispatched by &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Application::on_ExternalMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===EVENT_getList===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t EVENT_getList()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the pending event mask for this module (see &amp;lt;code&amp;gt;eventMask_t&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Topology ==&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getAdjacentFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getAdjacentFacelet(u32_t module, u32_t screen, u32_t direction, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a facelet neighbor in the given direction.&lt;br /&gt;
: Facelet can have neighbors on the same cube face or neighbors by module.&lt;br /&gt;
: This function provide a neighbor of the given facelet in the given&lt;br /&gt;
: direction. Connection status indicates if there is a connection between&lt;br /&gt;
: modules on which given facelet and its neighbor are located.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Neighbor facelet in a given direction with its connection status. The&lt;br /&gt;
: module ID will be MODULES_MAX and the screen number will be SCREENS_MAX in&lt;br /&gt;
: case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFacelet(u32_t face, u32_t position, Cubios::TOPOLOGY_orientation_mode_t mode, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a facelet located in the given place.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Facelet located in the given place, connection status indicates if there&lt;br /&gt;
: any connection to the module on which this facelet resides. The module ID&lt;br /&gt;
: will be MODULES_MAX and the screen screen will be SCREENS_MAX in case of an&lt;br /&gt;
: error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getPlace===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getPlace(u32_t module, u32_t screen, Cubios::TOPOLOGY_orientation_mode_t mode, Cubios::TOPOLOGY_place_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a place of the facelet.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Place on cube surface where the given facelet located. Face will be&lt;br /&gt;
: TOPOLOGY_FACES_MAX and position will be TOPOLOGY_POSITIONS_MAX in case of&lt;br /&gt;
: an error (e.g. incorrect arguments or topology malfunction)&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getOppositeFacelet===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getOppositeFacelet(u32_t module, u32_t screen, Cubios::TOPOLOGY_faceletInfo_t* result)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an opposite facelet located on a diagonal counterpart module.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Diagonal opposite counterpart facelet. Connection status indicates if there&lt;br /&gt;
: any connection to the module on which that facelet resides. The module ID&lt;br /&gt;
: will be MODULES_MAX and the screen number will be SCREENS_MAX in case of an&lt;br /&gt;
: error (e.g. incorrect arguments or topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getAngle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getAngle(u32_t module, u32_t screen, Cubios::TOPOLOGY_orientation_mode_t mode)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an angle to align images on a face according to the orientation mode.&lt;br /&gt;
: Display coordinates system is persistent on a module screen. Different&lt;br /&gt;
: angles are needed to align images on all modules with screens on the same&lt;br /&gt;
: face. This function returns the angle for the screen specified by the&lt;br /&gt;
: facelet. The angle is relative to the position 0 on the same face where the&lt;br /&gt;
: facelet is located in the given orientation mode.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Angle to align images on the same face according to the orientation mode, 0&lt;br /&gt;
: in case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFaceletOrientation===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFaceletOrientation(u32_t module, u32_t screen)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face orientation on which the given facelet resides.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face orientation on which the given facelet resides, ORIENTATION_MAX in&lt;br /&gt;
: case of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from TOPOLOGY_getFaceletLocation() to the&lt;br /&gt;
: TOPOLOGY_getFaceletOrientation()&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getPlaceOrientation===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getPlaceOrientation(u32_t face, u32_t position)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face orientation on which the given place resides.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face orientation on which the given place resides, ORIENTATION_MAX in case&lt;br /&gt;
: of an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from TOPOLOGY_getPlaceLocation() to the&lt;br /&gt;
: TOPOLOGY_getPlaceOrientation()&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getFace===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getFace(u32_t orientation)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a face number which has the given orientation.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Face number which has the given orientation, TOPOLOGY_FACES_MAX in case of&lt;br /&gt;
: an error (e.g. incorrect arguments or the topology malfunction).&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_isAssembled===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_isAssembled()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Check that all modules in a system are connected to each other.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if all modules in a system are connected to each other, false&lt;br /&gt;
: otherwise.&lt;br /&gt;
&lt;br /&gt;
===TOPOLOGY_getTwist===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t TOPOLOGY_getTwist(Cubios::TOPOLOGY_twistInfo_t* twist)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Read the pending twist event into a &amp;lt;code&amp;gt;TOPOLOGY_twistInfo_t&amp;lt;/code&amp;gt;. Normally consumed by &amp;lt;code&amp;gt;AppManager&amp;lt;/code&amp;gt;, which calls &amp;lt;code&amp;gt;Application::on_Twist()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Leaderboard ==&lt;br /&gt;
&lt;br /&gt;
===LB_getInfo===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LB_getInfo(Cubios::LB_info_t* info)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LB_getScore===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t LB_getScore(uint8_t* leadTableBin, u32_t bufSize)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Motion Sensors ==&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelX===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelX(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along X axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along X axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelY===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelY(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along Y axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along Y axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceAccelZ===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceAccelZ(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get accelerometer value along Z axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Accelerometer value along Z axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroX===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroX(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around X axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around X axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroY===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroY(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around Y axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around Y axis.&lt;br /&gt;
&lt;br /&gt;
===MS_getFaceGyroZ===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t MS_getFaceGyroZ(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get gyroscope value around Z axis of some display.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Gyroscope value around Z axis.&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
&lt;br /&gt;
===GFX_getAssetId===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_getAssetId(const char* spriteName)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get an image ID by the filename.&lt;br /&gt;
: Usually an application uses image IDs to draw sprites and backgrounds. But&lt;br /&gt;
: sometimes IDs are unknown, e.g. in common libraries, or they change rapidly&lt;br /&gt;
: during development. This interface can be used to get an ID of the image by&lt;br /&gt;
: its filename in the runtime. Maximum asset name length is 15 characters,&lt;br /&gt;
: remaining symbols are truncated during lookup.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: The ID of image with a given filename or -1 in case of error.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from GFX_getId() to GFX_getAssetId()&lt;br /&gt;
: v6.0 - truncate asset name in WASM API&lt;br /&gt;
&lt;br /&gt;
===GFX_clear===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_clear(u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Clear a layer with a given color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - changed color format&lt;br /&gt;
&lt;br /&gt;
===GFX_drawText===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawText(i32_t x, i32_t y, u32_t scale, u32_t angle, u32_t align, u32_t color, const char* text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a formatted text by the specified coordinates with a given color,&lt;br /&gt;
: scale, text align and a rotation angle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - clarified documentation, added GFX_drawTextXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawPoint===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawPoint(i32_t x, i32_t y, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a point specified by its coordinates with a given color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawPointXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawCircle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawCircle(u32_t x, u32_t y, u32_t radius, u32_t width, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a circle at the given point with given radius, color and line width.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawCircleXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSolidCircle===&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Deprecated.&amp;#039;&amp;#039;&amp;#039; use fill shader intead&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSolidCircle(u32_t x, u32_t y, u32_t radius, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a solid circle at the given point with given radius and color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawSolidCircleXY() alias&lt;br /&gt;
: v6.0 - DEPRECATED, use GFX_setFillShader() instead&lt;br /&gt;
&lt;br /&gt;
===GFX_drawArc===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawArc(i32_t x, i32_t y, u32_t radius, u32_t width, u32_t angle0, u32_t angle1, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw an arc at the given point with given radius, line width, color and&lt;br /&gt;
: angles.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawArcXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSector===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSector(i32_t x, i32_t y, u32_t radius, u32_t angle0, u32_t angle1, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a filled circular sector, connecting the arc to the circle&amp;#039;s center&lt;br /&gt;
: like a piece of pie.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.1 - created&lt;br /&gt;
&lt;br /&gt;
===GFX_drawLine===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawLine(i32_t x0, i32_t y0, i32_t x1, i32_t y1, u32_t thickness, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a line with from a given point to another one and given width and&lt;br /&gt;
: color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawLineXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_drawRectangle===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawRectangle(i32_t x, i32_t y, i32_t w, i32_t h, u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a solid rectangle at a given position with specified dimensions and a&lt;br /&gt;
: color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawRectangleXY() alias&lt;br /&gt;
&lt;br /&gt;
===GFX_bakeImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_bakeImage(spriteID_t id, u32_t width, u32_t height, GFX_PixelFormat_t format, u32_t overwrite)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set an ID of a memory buffer to save next rendering result.&lt;br /&gt;
: Specifies the image that will be created by combining the group of&lt;br /&gt;
: graphical primitives used between GFX_bakeImage() and GFS_render()&lt;br /&gt;
: according their order and taking into account alpha channel in images. HW&lt;br /&gt;
: has a limitation and can combine no more than 4 layers simultaneously, so&lt;br /&gt;
: if there are more primitives then they will be combined in a cascade.&lt;br /&gt;
: Useful for creating complex images like backgrounds for later usage.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added overwrite parameter&lt;br /&gt;
&lt;br /&gt;
===GFX_setRenderTarget===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setRenderTarget(u32_t display)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set a screen which will be used to display next rendering result.&lt;br /&gt;
: Cube module is a special device which has 3 independent screens to display&lt;br /&gt;
: graphics. GFX_setRenderTarget() specifies a screen number which will be&lt;br /&gt;
: used to display a next rendering result. Graphics primitives used in&lt;br /&gt;
: between GFX_setRenderTarget() and GFX_render() calls will be combined&lt;br /&gt;
: together according their order and taking into account alpha channel in&lt;br /&gt;
: images. Resulting image will be immediately flushed onto the given screen.&lt;br /&gt;
: HW has a limitation and can combine no more than 4 layers simultaneously,&lt;br /&gt;
: so if there are more primitives then they will be combined in a cascade. To&lt;br /&gt;
: display anything on the screen GFX_setRenderTarget() has to be always&lt;br /&gt;
: called.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from GFX_updateDisplay() to GFX_setRenderTarget()&lt;br /&gt;
&lt;br /&gt;
===GFX_drawImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawImage(spriteID_t id, i32_t x, i32_t y, u32_t opacity, u32_t colorKey, u32_t scale_x, u32_t scale_y, u32_t angle, u32_t mirror)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw an image from application assets at a specified position and with&lt;br /&gt;
: given transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawImageXY() alias, color argument clarified&lt;br /&gt;
: v6.0 - added scale parameters&lt;br /&gt;
&lt;br /&gt;
===GFX_drawBakedImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawBakedImage(i32_t x, i32_t y, u32_t opacity, u32_t colorKey, u32_t scale_x, u32_t scale_y, u32_t angle, u32_t mirror, spriteID_t id)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a previously baked image at a specified position and with given&lt;br /&gt;
: transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - added GFX_drawBakedImageXY() alias, color argument clarified&lt;br /&gt;
: v6.0 - added scale parameters&lt;br /&gt;
&lt;br /&gt;
===GFX_drawQrCode===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawQRCode(i32_t x, i32_t y, u32_t size, u32_t color0, u32_t color1, u32_t angle, u32_t id, const char *text)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Generate and draw QR-code for a given text string.&lt;br /&gt;
: Supported version 2 which is limited by 32 characters of input.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_render===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_render()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Start rendering process.&lt;br /&gt;
&lt;br /&gt;
===GFX_clearCache===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_clearCache()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Clear all cached images.&lt;br /&gt;
: Oldest accessed image cache will be automatically freed if there is not&lt;br /&gt;
: enough memory to cache a new image. This function forces this process, e.g.&lt;br /&gt;
: when switch game levels.&lt;br /&gt;
&lt;br /&gt;
===GFX_removeBakedImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_removeBakedImage(spriteID_t id)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Remove specified baked image from cache.&lt;br /&gt;
: Baked images do not automatically invalidate. This function allows to&lt;br /&gt;
: remove any baked image from cache to save some space.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_cacheImages===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_cacheImages(spriteID_t* spriteIDs, u32_t count)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Force platform to cache application images.&lt;br /&gt;
: Platform automatically reads and caches images from flash when the&lt;br /&gt;
: application draws an image. Flash operations are synchronous and may cause&lt;br /&gt;
: delays especially when reading large portions of data. To prevent the&lt;br /&gt;
: application from lags it is possible to cache image data in advance.&lt;br /&gt;
: However if application requests to draw a non-cached image and there is not&lt;br /&gt;
: enough memory then oldest accessed images will be removed from cache. Also&lt;br /&gt;
: there is a limit of 256 for a total number of cached images.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of cached images or negative value if an error happened. Error&lt;br /&gt;
: codes:&lt;br /&gt;
: * -1 invalid function arguments count&lt;br /&gt;
: * -2 invalid imageList array&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - moved from appCtrl module to graphics&lt;br /&gt;
&lt;br /&gt;
===GFX_setFpsWindow===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setFpsWindow(u32_t size)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Set the averaging window (in frames) used by the on-screen FPS counter (see &amp;lt;code&amp;gt;Application::ShowFPSCounter()&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===GFX_getAssetsCount===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_getAssetsCount()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the total count of graphic assets.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of graphic assets.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===GFX_setFillShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setFillShader(u32_t color)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with specified color.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_setLinearGradientShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setLinearGradientShader(u32_t x0, u32_t y0, u32_t x1, u32_t y1, u32_t color0, u32_t color1)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with linear gradient from a given point / color to&lt;br /&gt;
: another one.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_setRadialGradientShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_setRadialGradientShader(u32_t x0, u32_t y0, u32_t radius, u32_t color0, u32_t color1)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Fill next primitives with radial gradient from a given point with radius&lt;br /&gt;
: and from a given color to another one.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_removeShader===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_removeShader()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Do not use shading in next primitives.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added primitives shading&lt;br /&gt;
&lt;br /&gt;
===GFX_drawSubImage===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t GFX_drawSubImage(spriteID_t id,i32_t x,i32_t y,u32_t rect_x,u32_t rect_y,u32_t rect_w,u32_t rect_h,u32_t opacity,u32_t colorKey,u32_t scale_x, u32_t scale_y,u32_t angle, u32_t mirror)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Draw a sub window of an image from application assets at a specified&lt;br /&gt;
: position and with given transformations.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.2 - added&lt;br /&gt;
&lt;br /&gt;
== Sound ==&lt;br /&gt;
&lt;br /&gt;
===SND_getAssetId===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_getAssetId(const char* soundName)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get a sound ID by the filename.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: The ID of sound with a given filename or -1 in case of error.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - renamed from SND_getId() to SND_getAssetId()&lt;br /&gt;
: v6.0 - truncate asset name in WASM API&lt;br /&gt;
&lt;br /&gt;
===SND_play===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_play(soundID_t soundID, u32_t volume)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Play sound by ID.&lt;br /&gt;
: Play any sound by its ID. Platform does not support audio mixing, so&lt;br /&gt;
: previously playing sound will be stopped if it has not yet finished.&lt;br /&gt;
: Supported audio formats:&lt;br /&gt;
:* WAV&lt;br /&gt;
:* MP3&lt;br /&gt;
:* MIDI&lt;br /&gt;
&lt;br /&gt;
===SND_cacheSounds===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_cacheSounds(soundID_t* soundIDs, u32_t count)&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Force platform to cache application sounds.&lt;br /&gt;
: Platform automatically reads and caches sounds from flash when the&lt;br /&gt;
: application plays a sound. Flash operations are synchronous and may cause&lt;br /&gt;
: delays especially when reading large portions of data. To prevent the&lt;br /&gt;
: application from lags it is possible to cache sound data in advance.&lt;br /&gt;
: However if application requests to play a non-cached sound and there is not&lt;br /&gt;
: enough memory then oldest accessed sounds will be removed from cache. Also&lt;br /&gt;
: there is a limit of 256 for a total number of cached sounds.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of cached sounds or negative value if an error happened. Error&lt;br /&gt;
: codes:&lt;br /&gt;
: * -1 invalid function arguments count&lt;br /&gt;
: * -2 invalid soundList array&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v5.0 - moved from appCtrl module to sound&lt;br /&gt;
&lt;br /&gt;
===SND_isPlaying===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_isPlaying()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Check if audio is playing.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: True if audio is playing, false otherwise.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===SND_stop===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_stop()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Stop playing sound if any.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
===SND_getAssetsCount===&lt;br /&gt;
Syntax:&lt;br /&gt;
 i32_t SND_getAssetsCount()&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
: Get the total count of sound assets.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
: Number of sound assets.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
: v6.0 - added&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK 6.3]]&lt;br /&gt;
[[Category:C++ API]]&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2026 09:14:53 GMT</pubDate>
			<dc:creator>WowBot</dc:creator>
			<comments>https://wiki.wowcube.com/wiki/Talk:SDK_6.3/C%2B%2B/Native_API</comments>
		</item>
</channel></rss>