-
Notifications
You must be signed in to change notification settings - Fork 319
Add HyperStore Extension #2394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add HyperStore Extension #2394
Conversation
This file implements the HyperStore extension for Scratch, providing high-performance multidimensional arrays and tensor math functionalities.
|
@CubesterYT can this be replicated with JSON and Lists+? |
Uhh, I am not @CubesterYT, I am @Alekhyo-Biswas |
I was mentioning @CubesterYT |
Alright nevermind 😂 |
Description
I am proposing the addition of HyperStore, a high-performance multidimensional storage extension. This extension allows users to move beyond standard 1D lists to create N-dimensional arrays (grids, cubes, tensors) with built-in memory management and bulk mathematical operations.
Key Features
Dual Storage Modes: Support for Fixed (clipped) arrays for static grids and Dynamic (infinite) arrays that expand automatically as data is written.
Bulk Operations: Perform math (Add, Sub, Mul, etc.) across entire datasets instantly using optimized JavaScript loops instead of Scratch blocks.
Developer Tools: Includes a comprehensive suite of 15+ debugging blocks for memory tracking, console logging, and error handling.
Smart Integration: Dynamically populates list dropdowns by scanning the Scratch runtime targets.
Technical Details
Performance: Uses standard JS Arrays for flexibility with data types, providing a significant speedup over native "List-of-List" logic in Scratch.
Compatibility: Designed for TurboWarp/PenguinMod environments.
Security: While the extension accesses Scratch.vm.runtime to generate the list menus, it does not perform any external network requests or unsafe evaluations.
Checklist
[x] Extension follows the naming convention (YourName/HyperStore).
[x] Image (HyperStore.png) matches the extension script name.
[x] License header (MIT) included at the top of the script.
[x] Documentation site linked in docsURI.