├── .gitignore ├── .npmrc ├── LICENSE ├── README.md ├── icon.png ├── icon_nomargin.png ├── icon_title.png ├── package-lock.json ├── package.json ├── src ├── app.html ├── lib │ ├── MenuModals │ │ ├── CreateBlock.svelte │ │ ├── ExtensionColors.svelte │ │ ├── color.js │ │ ├── createblock.js │ │ └── extensionColorExample.svg │ ├── NavigationBar │ │ ├── Button.svelte │ │ ├── Divider.svelte │ │ └── NavigationBar.svelte │ ├── StyledComponents │ │ └── ToolboxButton.svelte │ ├── Toolbox │ │ └── Toolbox.xml │ └── index.js ├── resources │ ├── blocks │ │ ├── control.js │ │ ├── core.js │ │ └── generic.js │ ├── compiler │ │ ├── compileVarSection.js │ │ ├── index.js │ │ ├── randomNumberGen.js │ │ └── xmlToCode.js │ ├── events │ │ └── index.js │ ├── fileDialog │ │ └── index.js │ ├── javascriptGenerator │ │ └── index.js │ ├── preload │ │ └── index.js │ └── register │ │ └── index.js └── routes │ └── +page.svelte ├── static ├── favicon.png ├── favicon_any.png ├── favicon_dark.png └── images │ ├── blockBuilder │ ├── block_boolean.svg │ ├── block_empty.svg │ ├── block_input.svg │ ├── block_input_angle.svg │ ├── block_input_color.svg │ ├── block_input_matrix.svg │ ├── block_input_note.svg │ ├── block_input_number.svg │ ├── block_input_text.svg │ ├── block_label.svg │ ├── block_label_image.svg │ └── block_label_none.svg │ ├── close.svg │ ├── dump.html │ ├── icon.png │ ├── theme_switcher.svg │ └── turn_right.svg ├── svelte.config.js └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | vite.config.js.timestamp-* 10 | vite.config.ts.timestamp-* 11 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | resolution-mode=highest 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 JeremyGamer13 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # TurboBuilder 4 | Create extensions for TurboWarp using block-based coding. 5 | 6 | ## In development 7 | This project is not finished and is still being worked on. Expect bugs and problems that may prevent the site from working. 8 | 9 | ## Running locally 10 | 11 | 1. Clone the repo 12 | 2. Run `npm i --force` in a terminal inside the folder where the repo is 13 | 3. Run `npm run dev` in a terminal inside the folder where the repo is 14 | 4. Visit http://localhost:5173/ -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeremyGamer13/turbobuilder/231a2d5ed4fa2595f0affb0f2efcff614fb75418/icon.png -------------------------------------------------------------------------------- /icon_nomargin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeremyGamer13/turbobuilder/231a2d5ed4fa2595f0affb0f2efcff614fb75418/icon_nomargin.png -------------------------------------------------------------------------------- /icon_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeremyGamer13/turbobuilder/231a2d5ed4fa2595f0affb0f2efcff614fb75418/icon_title.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "turbobuilder", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "dev": "vite dev", 7 | "build": "vite build", 8 | "preview": "vite preview" 9 | }, 10 | "devDependencies": { 11 | "@sveltejs/adapter-auto": "^2.0.0", 12 | "@sveltejs/kit": "^1.20.4", 13 | "svelte": "^4.0.5", 14 | "vite": "^4.4.2" 15 | }, 16 | "type": "module", 17 | "dependencies": { 18 | "@blockly/continuous-toolbox": "^5.0.2", 19 | "@blockly/theme-dark": "^6.0.1", 20 | "@sveltejs/adapter-vercel": "^3.0.2", 21 | "file-saver": "^2.0.5", 22 | "js-beautify": "^1.14.9", 23 | "jszip": "^3.10.1", 24 | "prismjs": "^1.29.0", 25 | "svelte-blockly": "^0.1.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TurboBuilder - Make extensions with blocks 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 103 | %sveltekit.head% 104 | 105 | 106 |
107 |

TurboBuilder is currently in development. Features may not work correctly here.

108 | 114 |
115 | 192 |
%sveltekit.body%
193 | 194 | 195 | -------------------------------------------------------------------------------- /src/lib/MenuModals/CreateBlock.svelte: -------------------------------------------------------------------------------- 1 | 156 | 157 |
158 |