Initial commit of 001code-html Scratch frontend project.

Includes scratch-gui, scratch-vm, scratch-blocks, scratch-render, scratch-l10n, and deployment config.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-16 15:37:45 +08:00
commit 6e0a1fbcbb
11350 changed files with 965674 additions and 0 deletions

20
scratch-gui/test/fixtures/100-100.svg vendored Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
<title>Artboard</title>
<desc>Created with Sketch.</desc>
<defs>
<path d="M63.1539006,65.6857098 C62.40142,65.6857098 61.6278419,65.4877384 60.9245891,65.0705843 C58.8359282,63.8261925 58.1397079,61.1182262 59.3774329,59.018315 C61.7333299,55.0023232 61.7333299,50.0247559 59.3774329,46.0158346 C58.1397079,43.9088529 58.8359282,41.2008866 60.9245891,39.9564948 C63.0343476,38.7262438 65.7207734,39.4191438 66.9444333,41.5119846 C70.9318768,48.2995764 70.9318768,56.7275028 66.9444333,63.5150946 C66.12866,64.9150354 64.6588616,65.6857098 63.1539006,65.6857098 Z M76.2831813,72.7766221 C75.5307008,72.7766221 74.7500901,72.5786507 74.0538698,72.1614966 C71.965209,70.9171048 71.2689887,68.2091385 72.5067136,66.1092273 C77.4365159,57.7237233 77.4365159,47.3019418 72.5067136,38.9235082 C71.2689887,36.823597 71.965209,34.1085603 74.0538698,32.8641685 C76.1495632,31.6409879 78.835989,32.3268175 80.073714,34.4196583 C86.6420953,45.5767622 86.6420953,59.4489029 80.073714,70.6060068 C79.2509082,72.0059476 77.7881423,72.7766221 76.2831813,72.7766221 Z M51.892643,30.8929387 L51.892643,74.1002025 C51.892643,79.219178 45.8587338,81.8988626 42.0963312,78.4485035 L33.9737611,70.9892229 C31.0974571,68.3519607 27.3491195,66.8883863 23.4530989,66.8883863 L22.0325282,66.8883863 C18.1505726,66.8883863 15,63.7279138 15,59.8179782 L15,45.2529375 C15,41.3500723 18.1505726,38.1825294 22.0325282,38.1825294 L23.3757411,38.1825294 C27.2717617,38.1825294 31.0200993,36.718955 33.8964033,34.0816927 L42.0963312,26.5517081 C45.8587338,23.101349 51.892643,25.7810337 51.892643,30.8929387 Z" id="path-1"></path>
</defs>
<g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Editor-Tabs/Sounds" transform="translate(50.000000, 50.000000) scale(-1, 1) translate(-50.000000, -50.000000) ">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="sound" fill="#4C97FF" fill-rule="evenodd" xlink:href="#path-1"></use>
<g id="Color/Gray" mask="url(#mask-2)" fill="#575E75" fill-rule="evenodd">
<rect id="Color" x="0" y="0" width="100" height="100"></rect>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
scratch-gui/test/fixtures/bmpfile.bmp vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="208" height="159" viewBox="0,0,208,159">
<here is some nonsense that will make this costume not valid svg>
<g transform="translate(-149.51562,-117.5)">
<g data-paper-data="{&quot;isPaintingLayer&quot;:true}" fill-rule="nonzero" stroke="#000000" stroke-width="2" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal">
<path d="M150.51563,275.5v-157h206v157z" fill="#66c1ff"/>
<path d="M231.51563,173.5c0,11.04569 -9.62588,20 -21.5,20c-11.87412,0 -21.5,-8.95431 -21.5,-20c0,-11.04569 9.62588,-20 21.5,-20c11.87412,0 21.5,8.95431 21.5,20z" fill="#ffffff"/>
<path d="M325.51563,179.5c0,8.83656 -11.6406,16 -26,16c-14.3594,0 -26,-7.16344 -26,-16c0,-8.83656 11.6406,-16 26,-16c14.3594,0 26,7.16344 26,16z" fill="#ffffff"/>
<path d="M211.51563,185.5c0,3.31371 -3.35786,6 -7.5,6c-4.14214,0 -7.5,-2.68629 -7.5,-6c0,-3.31371 3.35786,-6 7.5,-6c4.14214,0 7.5,2.68629 7.5,6z" fill="#000000"/>
<path d="M295.51563,187c0,3.58985 -3.13401,6.5 -7,6.5c-3.86599,0 -7,-2.91015 -7,-6.5c0,-3.58985 3.13401,-6.5 7,-6.5c3.86599,0 7,2.91015 7,6.5z" fill="#000000"/>
<path d="M250.51563,245c0,6.35127 -4.70101,11.5 -10.5,11.5c-5.79899,0 -10.5,-5.14873 -10.5,-11.5c0,-6.35127 4.70101,-11.5 10.5,-11.5c5.79899,0 10.5,5.14873 10.5,11.5z" fill="#000000"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
scratch-gui/test/fixtures/movie.wav vendored Normal file

Binary file not shown.

BIN
scratch-gui/test/fixtures/paddleball.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
scratch-gui/test/fixtures/project1.sb3 vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,10 @@
<svg version="1.1" width="112" height="82" viewBox="-1 -1 112 82" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Exported by Scratch - http://scratch.mit.edu/ -->
<Here is something that will make this svg not valid>
<path id="ID0.2747190184891224" fill="#003FFF" stroke="none" d="M 187 140 L 297 140 L 297 220 L 187 220 L 187 140 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
<path id="ID0.8901655622757971" fill="#FFFFFF" stroke="none" d="M 228 164 C 230.759 164 233.259 165.121 235.069 166.931 C 236.879 168.741 238 171.241 238 174 C 238 176.759 236.879 179.259 235.069 181.069 C 233.259 182.879 230.759 184 228 184 C 225.241 184 222.741 182.879 220.931 181.069 C 219.121 179.259 218 176.759 218 174 C 218 171.241 219.121 168.741 220.931 166.931 C 222.741 165.121 225.241 164 228 164 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
<path id="ID0.8060284000821412" fill="#FFFFFF" stroke="none" d="M 267 170 C 270.311 170 273.311 170.784 275.483 172.052 C 277.655 173.319 279 175.069 279 177 C 279 178.931 277.655 180.681 275.483 181.948 C 273.311 183.216 270.311 184 267 184 C 263.689 184 260.689 183.216 258.517 181.948 C 256.345 180.681 255 178.931 255 177 C 255 175.069 256.345 173.319 258.517 172.052 C 260.689 170.784 263.689 170 267 170 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
<path id="ID0.5429155449382961" fill="#000000" stroke="none" d="M 232 173 C 233.379 173 234.629 173.560 235.535 174.465 C 236.440 175.371 237 176.621 237 178 C 237 179.379 236.440 180.629 235.535 181.535 C 234.629 182.440 233.379 183 232 183 C 230.621 183 229.371 182.440 228.465 181.535 C 227.560 180.629 227 179.379 227 178 C 227 176.621 227.560 175.371 228.465 174.465 C 229.371 173.560 230.621 173 232 173 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
<path id="ID0.10347355296835303" fill="#000000" stroke="none" d="M 272.500 176 C 273.742 176 274.867 176.448 275.681 177.172 C 276.496 177.896 277 178.896 277 180 C 277 181.104 276.496 182.104 275.681 182.828 C 274.867 183.552 273.742 184 272.500 184 C 271.258 184 270.133 183.552 269.319 182.828 C 268.504 182.104 268 181.104 268 180 C 268 178.896 268.504 177.896 269.319 177.172 C 270.133 176.448 271.258 176 272.500 176 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
<path id="ID0.0358476871624589" fill="#000000" stroke="none" stroke-linecap="round" d="M 249.500 202.350 C 254.446 202.182 258.918 198.475 263.845 198.465 C 266.211 198.462 270 200.621 270 202 C 270 203.379 267.647 204.629 263.845 205.535 C 260.044 206.440 254.794 207 249 207 C 243.206 207 237.956 206.440 234.155 205.535 C 230.353 204.629 228.623 203.791 228 202 C 227.588 200.799 230.381 199.602 231.850 199.650 C 237.831 199.723 243.629 202.549 249.500 202.350 Z " transform="matrix(1, 0, 0, 1, -187, -140)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
scratch-gui/test/fixtures/sneaker.wav vendored Normal file

Binary file not shown.