Coder Social home page Coder Social logo

scuff's Introduction

Scuff (todo: create 'scuffy', a cute vector dog logo)

Scuff is a very work in progress rewrite of the scratch editor.

Click the link above to see whatever I've gotten done as of right now.

Motivation

The source code for Scratch (see repos under LLK) as it stands right now is, in my opinion, a giant mess. It's build off of a messy fork of Blockly, a practiacally prehistoric library made by google in 2012. The project structure of Scratch makes it very difficult to navigate and understand the source code. It's extensiability is also very limited, with little ability to expand on Scratch's limited set of features. It's slow (see TurboWarp), and just generally doesn't get enough love, for a project used by millions of people who love to code!

This project is an attempt to recreate Scratch in a better, faster, more modern and more extensiable way using technologies like TypeScript and Svelte.

scuff's People

Contributors

tacodiva avatar

Stargazers

Jay avatar  avatar Xen Soft avatar  avatar Joshpinto6 avatar lily celeste newton avatar  avatar jinho park avatar retronbv avatar

Watchers

 avatar  avatar

Forkers

joshpinto6

scuff's Issues

TODO List

The text based list was getting unmaintainable, so I've decided to move it here.

Big ol' List of Todos

Once everything on this list is completed, the editor should be in a usable state. This list is not complete and I'll add stuff as I think of it. Bold tasks are ones that might take a long time, italic tasks aren't necessary but I want to do them anyways..

Block Renderer (Scuffr)

  • Fix nested block spacing
  • Make tab move to the next input
  • Add block palette sidebar (with a good API)
  • Make proper API for the SVG definitions
  • Comments
  • Make the right click menu items actually do stuff
  • Add global drag and drop
  • Make script order reliable + add hat block priority in context menu
  • Scrolling while dragging blocks
  • Custom block editor

Editor

  • Ability to grab corners of windows
  • Constrain split pane size
  • VSCode-like Tabs
  • Move interaction management from ScuffrWorkspace to ScuffEditor.
  • Move context menu to editor
  • Menu bar
  • Hotkey system

Core

  • Use a component system for block properties + move Scuffr stuff into components
  • Add targets properly
  • L10N
  • Add Monaco editor window
  • Saving and loading projects to custom format
  • Reorganize CSS

Scratch

  • Add scratch-paint as an editor window
  • Custom block support
  • Add the sound editor as an editor window ?
  • Create target list and inspector editor windows.
  • Importing and exporting as SB3.

Scratch Runtime

  • Create Scratch Runtime (a fork of scratch-vm, bundled inside scuff-scratch)
  • Bundle scratch-render, scratch-audio and scratch-svg-renderer and create an editor window for the actual project.
  • Program the whole engine lmao.
  • Sandbox compiled code execution in an iframe.
  • Move all compiler and block logic into components

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.