1+
2+ <!doctype html>
3+ < html lang ="en " class ="no-js ">
4+ < head >
5+
6+ < meta charset ="utf-8 ">
7+ < meta name ="viewport " content ="width=device-width,initial-scale=1 ">
8+
9+ < meta name ="description " content ="Documentation for the Scratch API and other things ">
10+
11+
12+
13+
14+
15+
16+ < link rel ="icon " href ="/docs/assets/images/favicon.png ">
17+ < meta name ="generator " content ="mkdocs-1.6.1, mkdocs-material-9.6.18 ">
18+
19+
20+
21+ < title > Scratch (API) Documentation</ title >
22+
23+
24+
25+ < link rel ="stylesheet " href ="/docs/assets/stylesheets/main.7e37652d.min.css ">
26+
27+
28+ < link rel ="stylesheet " href ="/docs/assets/stylesheets/palette.06af60db.min.css ">
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+ < link rel ="preconnect " href ="https://fonts.gstatic.com " crossorigin >
42+ < link rel ="stylesheet " href ="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback ">
43+ < style > : root {--md-text-font : "Roboto" ;--md-code-font : "Roboto Mono" }</ style >
44+
45+
46+
47+ < script > __md_scope = new URL ( "/docs/" , location ) , __md_hash = e => [ ...e ] . reduce ( ( ( e , _ ) => ( e << 5 ) - e + _ . charCodeAt ( 0 ) ) , 0 ) , __md_get = ( e , _ = localStorage , t = __md_scope ) => JSON . parse ( _ . getItem ( t . pathname + "." + e ) ) , __md_set = ( e , _ , t = localStorage , a = __md_scope ) => { try { t . setItem ( a . pathname + "." + e , JSON . stringify ( _ ) ) } catch ( e ) { } } </ script >
48+
49+
50+
51+
52+
53+
54+ </ head >
55+
56+
57+
58+
59+
60+
61+
62+
63+
64+ < body dir ="ltr " data-md-color-scheme ="default " data-md-color-primary ="orange " data-md-color-accent ="deep-orange ">
65+
66+
67+ < input class ="md-toggle " data-md-toggle ="drawer " type ="checkbox " id ="__drawer " autocomplete ="off ">
68+ < input class ="md-toggle " data-md-toggle ="search " type ="checkbox " id ="__search " autocomplete ="off ">
69+ < label class ="md-overlay " for ="__drawer "> </ label >
70+ < div data-md-component ="skip ">
71+
72+ </ div >
73+ < div data-md-component ="announce ">
74+
75+ </ div >
76+
77+
78+
79+
80+
81+
82+ < header class ="md-header md-header--shadow " data-md-component ="header ">
83+ < nav class ="md-header__inner md-grid " aria-label ="Header ">
84+ < a href ="/docs/. " title ="Scratch (API) Documentation " class ="md-header__button md-logo " aria-label ="Scratch (API) Documentation " data-md-component ="logo ">
85+
86+
87+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54 "/> </ svg >
88+
89+ </ a >
90+ < label class ="md-header__button md-icon " for ="__drawer ">
91+
92+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z "/> </ svg >
93+ </ label >
94+ < div class ="md-header__title " data-md-component ="header-title ">
95+ < div class ="md-header__ellipsis ">
96+ < div class ="md-header__topic ">
97+ < span class ="md-ellipsis ">
98+ Scratch (API) Documentation
99+ </ span >
100+ </ div >
101+ < div class ="md-header__topic " data-md-component ="header-topic ">
102+ < span class ="md-ellipsis ">
103+
104+
105+
106+ </ span >
107+ </ div >
108+ </ div >
109+ </ div >
110+
111+
112+ < form class ="md-header__option " data-md-component ="palette ">
113+
114+
115+
116+
117+ < input class ="md-option " data-md-color-media ="" data-md-color-scheme ="default " data-md-color-primary ="orange " data-md-color-accent ="deep-orange " aria-label ="Switch to dark mode " type ="radio " name ="__palette " id ="__palette_0 ">
118+
119+ < label class ="md-header__button md-icon " title ="Switch to dark mode " for ="__palette_1 " hidden >
120+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z "/> </ svg >
121+ </ label >
122+
123+
124+
125+
126+
127+ < input class ="md-option " data-md-color-media ="" data-md-color-scheme ="slate " data-md-color-primary ="orange " data-md-color-accent ="deep-orange " aria-label ="Switch to light mode " type ="radio " name ="__palette " id ="__palette_1 ">
128+
129+ < label class ="md-header__button md-icon " title ="Switch to light mode " for ="__palette_0 " hidden >
130+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z "/> </ svg >
131+ </ label >
132+
133+
134+ </ form >
135+
136+
137+
138+ < script > var palette = __md_get ( "__palette" ) ; if ( palette && palette . color ) { if ( "(prefers-color-scheme)" === palette . color . media ) { var media = matchMedia ( "(prefers-color-scheme: light)" ) , input = document . querySelector ( media . matches ?"[data-md-color-media='(prefers-color-scheme: light)']" :"[data-md-color-media='(prefers-color-scheme: dark)']" ) ; palette . color . media = input . getAttribute ( "data-md-color-media" ) , palette . color . scheme = input . getAttribute ( "data-md-color-scheme" ) , palette . color . primary = input . getAttribute ( "data-md-color-primary" ) , palette . color . accent = input . getAttribute ( "data-md-color-accent" ) } for ( var [ key , value ] of Object . entries ( palette . color ) ) document . body . setAttribute ( "data-md-color-" + key , value ) } </ script >
139+
140+
141+
142+
143+
144+ < label class ="md-header__button md-icon " for ="__search ">
145+
146+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5 "/> </ svg >
147+ </ label >
148+ < div class ="md-search " data-md-component ="search " role ="dialog ">
149+ < label class ="md-search__overlay " for ="__search "> </ label >
150+ < div class ="md-search__inner " role ="search ">
151+ < form class ="md-search__form " name ="search ">
152+ < input type ="text " class ="md-search__input " name ="query " aria-label ="Search " placeholder ="Search " autocapitalize ="off " autocorrect ="off " autocomplete ="off " spellcheck ="false " data-md-component ="search-query " required >
153+ < label class ="md-search__icon md-icon " for ="__search ">
154+
155+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5 "/> </ svg >
156+
157+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z "/> </ svg >
158+ </ label >
159+ < nav class ="md-search__options " aria-label ="Search ">
160+
161+ < button type ="reset " class ="md-search__icon md-icon " title ="Clear " aria-label ="Clear " tabindex ="-1 ">
162+
163+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z "/> </ svg >
164+ </ button >
165+ </ nav >
166+
167+ </ form >
168+ < div class ="md-search__output ">
169+ < div class ="md-search__scrollwrap " tabindex ="0 " data-md-scrollfix >
170+ < div class ="md-search-result " data-md-component ="search-result ">
171+ < div class ="md-search-result__meta ">
172+ Initializing search
173+ </ div >
174+ < ol class ="md-search-result__list " role ="presentation "> </ ol >
175+ </ div >
176+ </ div >
177+ </ div >
178+ </ div >
179+ </ div >
180+
181+
182+
183+ </ nav >
184+
185+ </ header >
186+
187+ < div class ="md-container " data-md-component ="container ">
188+
189+
190+
191+
192+
193+
194+ < main class ="md-main " data-md-component ="main ">
195+ < div class ="md-main__inner md-grid ">
196+
197+
198+
199+ < div class ="md-sidebar md-sidebar--primary " data-md-component ="sidebar " data-md-type ="navigation " >
200+ < div class ="md-sidebar__scrollwrap ">
201+ < div class ="md-sidebar__inner ">
202+
203+
204+
205+
206+ < nav class ="md-nav md-nav--primary " aria-label ="Navigation " data-md-level ="0 ">
207+ < label class ="md-nav__title " for ="__drawer ">
208+ < a href ="/docs/. " title ="Scratch (API) Documentation " class ="md-nav__button md-logo " aria-label ="Scratch (API) Documentation " data-md-component ="logo ">
209+
210+
211+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54 "/> </ svg >
212+
213+ </ a >
214+ Scratch (API) Documentation
215+ </ label >
216+
217+ < ul class ="md-nav__list " data-md-scrollfix >
218+
219+
220+
221+
222+
223+
224+
225+ < li class ="md-nav__item ">
226+ < a href ="/docs/. " class ="md-nav__link ">
227+
228+
229+
230+ < span class ="md-ellipsis ">
231+ Home
232+
233+ </ span >
234+
235+
236+ </ a >
237+ </ li >
238+
239+
240+
241+
242+
243+
244+
245+
246+
247+ < li class ="md-nav__item ">
248+ < a href ="/docs/contributing/ " class ="md-nav__link ">
249+
250+
251+
252+ < span class ="md-ellipsis ">
253+ Contributing
254+
255+ </ span >
256+
257+
258+ </ a >
259+ </ li >
260+
261+
262+
263+
264+
265+
266+
267+
268+
269+ < li class ="md-nav__item ">
270+ < a href ="/docs/mkdocs/ " class ="md-nav__link ">
271+
272+
273+
274+ < span class ="md-ellipsis ">
275+ Welcome to MkDocs
276+
277+ </ span >
278+
279+
280+ </ a >
281+ </ li >
282+
283+
284+
285+ </ ul >
286+ </ nav >
287+ </ div >
288+ </ div >
289+ </ div >
290+
291+
292+
293+ < div class ="md-sidebar md-sidebar--secondary " data-md-component ="sidebar " data-md-type ="toc " >
294+ < div class ="md-sidebar__scrollwrap ">
295+ < div class ="md-sidebar__inner ">
296+
297+
298+ < nav class ="md-nav md-nav--secondary " aria-label ="Table of contents ">
299+
300+
301+
302+
303+ </ nav >
304+ </ div >
305+ </ div >
306+ </ div >
307+
308+
309+
310+ < div class ="md-content " data-md-component ="content ">
311+ < article class ="md-content__inner md-typeset ">
312+
313+ < h1 > 404 - Not found</ h1 >
314+
315+ </ article >
316+ </ div >
317+
318+
319+ < script > var target = document . getElementById ( location . hash . slice ( 1 ) ) ; target && target . name && ( target . checked = target . name . startsWith ( "__tabbed_" ) ) </ script >
320+ </ div >
321+
322+ </ main >
323+
324+ < footer class ="md-footer ">
325+
326+ < div class ="md-footer-meta md-typeset ">
327+ < div class ="md-footer-meta__inner md-grid ">
328+ < div class ="md-copyright ">
329+
330+
331+ Made with
332+ < a href ="https://squidfunk.github.io/mkdocs-material/ " target ="_blank " rel ="noopener ">
333+ Material for MkDocs
334+ </ a >
335+
336+ </ div >
337+
338+
339+ < div class ="md-social ">
340+
341+
342+
343+
344+
345+
346+
347+
348+ < a href ="https://github.com/scratch-api " target ="_blank " rel ="noopener " title ="github.com " class ="md-social__link ">
349+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 512 512 "> <!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--> < path fill ="currentColor " d ="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2 "/> </ svg >
350+ </ a >
351+
352+
353+
354+
355+
356+
357+
358+
359+ < a href ="https://discord.gg/mgxyyfnfk8 " target ="_blank " rel ="noopener " title ="discord.gg " class ="md-social__link ">
360+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 576 512 "> <!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--> < path fill ="currentColor " d ="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2 "/> </ svg >
361+ </ a >
362+
363+ </ div >
364+
365+ </ div >
366+ </ div >
367+ </ footer >
368+
369+ </ div >
370+ < div class ="md-dialog " data-md-component ="dialog ">
371+ < div class ="md-dialog__inner md-typeset "> </ div >
372+ </ div >
373+
374+
375+
376+
377+ < script id ="__config " type ="application/json "> { "base" : "/docs/" , "features" : [ ] , "search" : "/docs/assets/javascripts/workers/search.973d3a69.min.js" , "tags" : null , "translations" : { "clipboard.copied" : "Copied to clipboard" , "clipboard.copy" : "Copy to clipboard" , "search.result.more.one" : "1 more on this page" , "search.result.more.other" : "# more on this page" , "search.result.none" : "No matching documents" , "search.result.one" : "1 matching document" , "search.result.other" : "# matching documents" , "search.result.placeholder" : "Type to start searching" , "search.result.term.missing" : "Missing" , "select.version" : "Select version" } , "version" : null } </ script >
378+
379+
380+ < script src ="/docs/assets/javascripts/bundle.92b07e13.min.js "> </ script >
381+
382+
383+ </ body >
384+ </ html >
0 commit comments