9 Commits
Author SHA1 Message Date
Lu Yifei 9f7b0df40e chore: migrate packager repository metadata to ScCNv5 2026-11-08 14:15:53 +08:00
Lu Yifei f7da05fc15 feat(protection): rename renderer internals and isolate Target state
Jointly rename the bundled renderer, Drawable and Skin methods and internal fields.
Use private Target state keys with prototype branding and receiver-aware access
adapters, preserving SB3 data loading, serialization, cloning and native objects.

Cover reflection, optional access, clone restart and renderer property mapping.
Run the aggressive CPU gate in CI and lengthen the pen benchmark workload.
2026-11-08 14:08:03 +08:00
Lu Yifei adeaa2bafd feat(protection): add optional aggressive VM property renaming
Expose aggressiveRenaming in the website and Node API with a default-off setting.
Extend the seeded mapping to VM methods, internal fields and core block packages.
Scope thread status separately from external response status and reserve native
platform properties. Add differential and browser coverage for the new mode.
2026-11-08 14:07:19 +08:00
Lu Yifei d5ebe6cb47 feat(protection): add program-specialized packager
Build offline specialized players from the matching Scratch VM, with audited linking, pruning and scheduling-property renaming across browser, Node and standalone outputs.
2026-09-25 19:47:33 +08:00
Lu Yifei 5dfdf70e4b feat: add compiled project protection and GitHub Pages deployment
- promote compiled packaging as a primary product feature
- add VM access and configurable JavaScript obfuscation
- support global debug protection and self-defending options
- package compiled artifacts with integrity verification
- update SB3C branding, documentation, and dependency URLs
- fix standalone builds and production service worker caching
- configure GitHub Pages deployment workflow
2026-08-05 20:51:52 +08:00
GarboMuffin 2f0010294f Fix packaging very large projects as HTML files in Chrome (#862)
Actually fixes https://github.com/TurboWarp/packager/issues/528

https://github.com/TurboWarp/packager/pull/861 fixed running large projects
in Chrome, but packaging still used string concatenation so it remained broken.
Now the concatenation part is done using TextEncoder & Uint8Arrays and a
template tag function to keep it readable.

This time I have actually tested it with a 1.0GB sb3.

Breaking Node API change: The data property returned by Packager#package() is
now always a Uint8Array instead of sometimes string and sometimes ArrayBuffer.
2024-05-23 23:47:40 -05:00
GarboMuffin e83b0a0b8b Use /api instead of /proxy in trampoline examples 2023-04-14 17:48:40 -05:00
GarboMuffin d07b03b7d8 Update documentation now that unshared projects are not accessible (#588)
It's clear that our Node API *sucks* and needs to be rewritten from the
ground up.
2022-11-12 20:29:40 -06:00
Thomas Weber c95419203c Rename api -> node-api-docs 2022-06-16 11:06:04 -05:00