scratchfoundation / scratchfoundation/scratch-blocks
Holding a block near the edge of the workspace should scroll it
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.8k
- Forks
- 1.6k
- Avg merge
- 4h 51m
- Merged PRs (30d)
- 12
Description
Expected Behavior
In the 2.0 editor there was a feature where if you drag a block and hold it over the edge of the workspace, lingering there for a moment (but not releasing it), the workspace will start to scroll towards that edge. The speed at which it scrolled depended on how close to the edge of the screen the cursor was (with being right on the edge scrolling the quickest).
I recommend you try it out yourself (see steps to reproduce section).
Actual Behavior
This feature doesn't exist in 3.0!
Probably several people have noticed this feature's missing, but someone specifically mentioned it to me while discussing 3.0: https://scratch.mit.edu/projects/276664399/#comments-106008387
Steps to Reproduce
First set up your workspace so that the scrollbars are visible. In 3.0 that's already always the case; in 2.0 you'll have to make the workspace extend past the visible screen, e.g. by dragging out a block to the bottom right corner then zooming in.
Grab a block and drag it over the edge of the screen. Note that nothing happens in 3.0, whereas the expected behavior I described does in 2.0.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the 2.0 editor's block-drag behavior with the 3.0 workspace, following the block drag and workspace scrolling entry points. Reproduce the issue with visible scrollbars and verify that holding a block near each screen edge scrolls toward that edge, with speed increasing closer to the edge.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100