Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
fffb72b
Upgraded Type Analysis
Tacodiva Jun 16, 2024
d3ed93c
Make tests happy :3
Tacodiva Jun 16, 2024
9d28fcc
Add operator type testing
Tacodiva Jun 16, 2024
71b75aa
Add type assertion checking
Tacodiva Jun 16, 2024
41e8167
Fix snapshot tests falling back to "script" instead of the procedure …
Tacodiva Jun 17, 2024
02806b6
Linty linty code
Tacodiva Jun 17, 2024
1dc9aad
Fix issue when setting variables to InputType.ANY and add test
Tacodiva Jun 25, 2024
1dd7744
Handle colors correctly + more smartly
Tacodiva Jul 3, 2024
177b899
Fix issue when switching to costume with a number name
Tacodiva Jul 3, 2024
a589e57
Fix old and add new unsupported APIs.
Tacodiva Jul 28, 2024
3449160
Linty linty code
Tacodiva Jul 28, 2024
59cc74c
Fix imports :c
Tacodiva Jul 28, 2024
430353b
Re-add JSGenerator.unstable_exports and expose enums as unsupported APIs
Tacodiva Jul 28, 2024
df65b01
Merge branch 'origin/develop' into next-next
Tacodiva Sep 26, 2024
56825e3
Allow `refreshBlocks()` to specify extension (#228)
FurryR Dec 26, 2024
36c02f3
Expose `Variable` on the VM exports (#237)
yuri-kiss Dec 27, 2024
2c9d301
ir: Fix variable cache collision when variable or list field has null ID
GarboMuffin Jan 18, 2025
af3b751
ir: Match vanilla quirks when handling variable or list fields with n…
GarboMuffin Jan 18, 2025
cd63c87
js: reset variable types after compatibility layer call
GarboMuffin Feb 11, 2025
709d155
npm audit fix
GarboMuffin Feb 20, 2025
2d29cdc
Quit VM when execute test times out
GarboMuffin Mar 7, 2025
7ef5e29
interpreter: fix skipped blocks in recursive procedures using "stop t…
GarboMuffin Mar 7, 2025
1da38da
Update GitHub Actions workflow
GarboMuffin Mar 27, 2025
b8520cc
Fix visual report error when thread target does not match editing target
GarboMuffin Mar 27, 2025
ba9ae06
Don't compress formats that are already compressed (#258)
GarboMuffin May 14, 2025
4eb9117
Update sb3fix
GarboMuffin May 14, 2025
f957e1c
Fix Mouse.postData error if called before project loads
GarboMuffin May 20, 2025
5bc497a
Add blockShape option to extensions (#210)
AshimeeAlt May 21, 2025
bf57216
Update scratch-parser
GarboMuffin May 31, 2025
fa82d53
Update GitHub Actions workflows
GarboMuffin Jun 4, 2025
ef02dc8
Mark pen drawable as non-interactive
GarboMuffin Jun 7, 2025
df92bc2
Mark video sensing drawable as non-interactive
GarboMuffin Jun 7, 2025
6222be2
Fix wrong drawables being marked non-interactive
GarboMuffin Jun 7, 2025
b8defad
Merge remote-tracking branch 'origin/develop' into HEAD
Tacodiva Sep 7, 2025
fbca1bf
Fixed `NaN = 0` wrongly reporting true, and add a test
Tacodiva Sep 8, 2025
6a37fee
Re-analyze loop block inputs after each loop
Tacodiva Sep 8, 2025
d8c73c7
Account for `stop this script` in type analysis and add test
Tacodiva Sep 8, 2025
7cc8f58
Fix yielding loop arguments not re-analyzing
Tacodiva Sep 8, 2025
7ed29f5
Fix sound dropdown playing wrong sound when sounds have a number name
Tacodiva Sep 8, 2025
98df18a
Merge pull request #216 from Tacodiva/next-next
Tacodiva Sep 13, 2025
e1ad53e
Add compatibility layer for extensions relying on old compiler (#264)
GarboMuffin Sep 14, 2025
5b027b9
Fix motion_turnleft and motion_turnright missing type casts
GarboMuffin Sep 15, 2025
cc3375c
Merge pull request #265 from TurboWarp/fix-turn-cast
Tacodiva Sep 16, 2025
fa03554
Give up analyzing looped stack after 10000 iterations
GarboMuffin Sep 20, 2025
cd353ca
Merge pull request #268 from TurboWarp/fix-analyzeLoopedBlock-infinit…
GarboMuffin Sep 20, 2025
cc96ee8
Fix `-0` being turned into `0` in the type matrix test
Tacodiva Sep 21, 2025
c16be25
Fix #273
Tacodiva Sep 21, 2025
749e923
Fix #272 (thanks @Geotale)
Tacodiva Sep 21, 2025
d17cecc
Fix #269
Tacodiva Sep 21, 2025
7de26c9
Merge pull request #275 from Tacodiva/misc-compiler-fixes
GarboMuffin Sep 21, 2025
41af457
Move analyzeStackBlock analyzeInputs call into the switch statement
GarboMuffin Sep 22, 2025
44e2589
Fix https://github.com/TurboWarp/scratch-vm/issues/277
GarboMuffin Sep 22, 2025
5d917cc
Use log.error instead of console.error
GarboMuffin Sep 22, 2025
2639653
Revert "Fix #273"
GarboMuffin Sep 22, 2025
40715dc
Add test case for https://github.com/TurboWarp/scratch-vm/issues/276
GarboMuffin Sep 22, 2025
5a90e13
Fix TypeState#after setting variable types to undefined
GarboMuffin Sep 22, 2025
c372e92
Add test case for 6a37fee3866cb96fbc054009b6b1f31bb9244cf9
GarboMuffin Sep 23, 2025
445a129
Add test case for 7cc8f580b3e15b805ef5b1b441b190392cfcd49b
GarboMuffin Sep 23, 2025
214b86a
Add test case for d8c73c71d255d1a9a6526b1cd7e3da8c077fac89
GarboMuffin Sep 23, 2025
4a8a5ad
Add test case for 7ed29f5801c4ad4399d852bf5b4f19244b13cc5b
GarboMuffin Sep 23, 2025
e81319b
Use Object.create(null) instead of {}
GarboMuffin Sep 23, 2025
d7a5f1c
Merge pull request #279
GarboMuffin Sep 23, 2025
2244b26
Discard old state after calling yielding procedure
GarboMuffin Sep 24, 2025
37c6fbe
Merge pull request #284 from TurboWarp/fix-281
GarboMuffin Sep 24, 2025
aafaa74
Replace isNaN with Number.isNaN in jsexecute
GarboMuffin Sep 24, 2025
bbfa559
Fix sensing size of type
Tacodiva Sep 28, 2025
bc9a3d0
Fix sensing x/y of types
Tacodiva Sep 28, 2025
8fe321c
Make types for blocks which returns ints more spercific
Tacodiva Sep 28, 2025
7051b87
Merge pull request #289 from Tacodiva/compiler-sensing-sizeof-fix
GarboMuffin Sep 28, 2025
bf7ae82
Merge pull request #290 from Tacodiva/compiler-int-type-fix
GarboMuffin Sep 28, 2025
2ac7095
Optimize loops with provably-integer iteration counts
GarboMuffin Oct 5, 2025
a2701ef
Use more specific type for round, floor, ceiling
GarboMuffin Oct 5, 2025
2a2d152
Infinite iteration count can also use simpler condition
GarboMuffin Oct 5, 2025
5c5ff71
Merge pull request #296 from TurboWarp/round-floor-ceil-type
GarboMuffin Oct 5, 2025
51aacba
Merge pull request #295 from TurboWarp/optimize-loops
GarboMuffin Oct 5, 2025
d848fd0
Convert default extension URLs from dict to object
GarboMuffin Oct 7, 2025
4ab2467
Add face sensing to default extension URLs
GarboMuffin Oct 7, 2025
2ee8d6c
Merge pull request #299 from TurboWarp/face-sensing
GarboMuffin Oct 7, 2025
d09f82a
Add new test case that does some simple string operations
GarboMuffin Oct 8, 2025
07309b6
Use more specific type for string length
GarboMuffin Oct 8, 2025
36d4d82
Merge pull request #300 from TurboWarp/fix-string-length-type
GarboMuffin Oct 8, 2025
67cb7cf
Remove unnecessary string casts
GarboMuffin Oct 8, 2025
3b947da
Remove unnecessary number index casts
GarboMuffin Oct 8, 2025
efb502a
Remove unnecessary boolean casts
GarboMuffin Oct 8, 2025
eb0d678
Only analyze repeat block inputs at the start of the loop
GarboMuffin Oct 12, 2025
8860e2d
Fix repeat block iteration count not being optimizable in yielding loops
GarboMuffin Oct 12, 2025
55674f8
Implement Scratch.external - VM part (#308)
GarboMuffin Oct 19, 2025
475ffd0
Update scratch-translate-extension-languages to 1.0.7
GarboMuffin Nov 2, 2025
92adc76
Merge pull request #313 from TurboWarp/update-languages
GarboMuffin Nov 2, 2025
4187f55
Record which keys the project has used
GarboMuffin Nov 16, 2025
d8c26ad
Merge pull request #307 from TurboWarp/optimize-repeat-better
GarboMuffin Dec 5, 2025
fd1b855
Merge pull request #301 from TurboWarp/more-unnecessary-casts
GarboMuffin Dec 5, 2025
8252e2e
Merge pull request #285 from TurboWarp/use-Number.isNaN
GarboMuffin Dec 5, 2025
6f6845b
Fix all remaining negative zero bugs
GarboMuffin Sep 23, 2025
06dbe65
Use Number.isNaN instead
GarboMuffin Sep 24, 2025
08e850a
Merge pull request #280 from TurboWarp/fix-negative-zero
GarboMuffin Dec 5, 2025
9624ea5
Compile looks_say and looks_think without compatibility layer
GarboMuffin Oct 9, 2025
fd13a98
Merge pull request #305 from TurboWarp/compile-say
GarboMuffin Dec 5, 2025
36bf998
Fix evalAndReturn with comments at the bottom of a script (#322)
ampelectrecuted Dec 16, 2025
779f0a1
Add no-op rAF loop to improve frame pacing
GarboMuffin Dec 30, 2025
7aa8930
Fix incorrect types for sensing_of
GarboMuffin Dec 28, 2025
c3a47de
Fix incorrect type for looks_size
GarboMuffin Dec 30, 2025
0e5043d
Fix missing boolean cast in control_repeat_until
GarboMuffin Dec 30, 2025
7fefa6f
Check for either input never being numbers first in OP_EQUALS
GarboMuffin Dec 30, 2025
553a2a4
Use safe stringify from -gui for visual reports
GarboMuffin Jan 10, 2026
6abc33d
Remove immutable.js (#329)
GarboMuffin Jan 10, 2026
676ba53
Compress extension images
GarboMuffin Jan 10, 2026
464a9c6
Support JS Map in externalDeltaToJS for extension compatibility
GarboMuffin Jan 14, 2026
d825b50
add sensing_online
GarboMuffin Jan 24, 2026
722014e
add sensing_online to compiler compat blocks
GarboMuffin Jan 24, 2026
1ea395f
Don't allow reading video motion when external communication is possi…
GarboMuffin Feb 8, 2026
9f2106a
Remove variable value safe stringification
GarboMuffin Mar 3, 2026
94276b1
fix indefinite calls to analyzeScript when a large amount of procedur…
Classfied3D Apr 9, 2026
7b521ff
Force shadow property for procedure blocks during deserialization (#335)
LilyMakesThings Apr 19, 2026
52f4369
Fix spork compatibility issue with mutation-less control_stop
GarboMuffin May 3, 2026
925f113
Don't start monitors if there are no targets
GarboMuffin May 13, 2026
adaa47d
Update scratch-parser
GarboMuffin May 23, 2026
8da02dc
Bump @turbowarp/scratch-svg-renderer peer dep
GarboMuffin May 23, 2026
43f13ef
Add default URL for video sprites
GarboMuffin May 23, 2026
ccfd5f4
Run no-op rAF workaround on Chrome Android
GarboMuffin Jul 4, 2026
c482342
Fix toggleScript confusion when block ID is reused across targets (#347)
GarboMuffin Jul 12, 2026
fe2b4c1
Merge upstream compiler and preserve MistWarp compatibility
Mistium Jul 14, 2026
9b72967
Fix Origin icon renderer raw patches
Mistium Jul 14, 2026
04bbd4e
Compile Mist utils and add native patching
Mistium Jul 14, 2026
81e0c57
Migrate legacy patch blocks to Patching
Mistium Jul 14, 2026
3688a05
support originOS and mist's utils patching
Mistium Jul 14, 2026
4871638
fix issue with stage caching
Mistium Jul 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,13 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
node-version: 22
- name: Install dependencies
run: npm ci
- name: Build playground
Expand All @@ -31,7 +30,7 @@ jobs:
# It will still generate what it can, so it's safe to ignore the error
continue-on-error: true
- name: Upload artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa
uses: actions/upload-pages-artifact@v3
with:
path: ./playground/

Expand All @@ -47,4 +46,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e
uses: actions/deploy-pages@v4
8 changes: 4 additions & 4 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run build
- run: npm run test
- run: npm run tap
Loading
Loading