Skip to content

Commit 119ec12

Browse files
break off Contents page
per @gradylink's suggestion
1 parent 965b55e commit 119ec12

3 files changed

Lines changed: 164 additions & 171 deletions

File tree

.vitepress/config.mts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ export default defineConfig({
2626
text: 'Introduction',
2727
link: '/intro/',
2828
items: [
29-
{ text: 'Frequently Asked Questions', link: '/intro/#faq' },
30-
{ text: 'Contributing Guidelines', link: '/intro/#contributing' }
29+
{ text: 'FAQ', link: '/intro/#faq' },
30+
{ text: 'Contents', link: '/contents/' },
31+
{ text: 'Contributing', link: '/intro/#contributing' }
3132
]
3233
},
3334
{

contents/index.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Contents
2+
3+
> Last updated on **August 3rd, 2025 EST**. Changes to the spec may have been made since then that are not reflected below.
4+
5+
* [Scratch Specification](/)
6+
* [Contents](#)
7+
* [Introduction](/intro/)
8+
* [Preliminaries](/intro/#preliminaries)
9+
* [Sources](/intro/#sources)
10+
* [Contributing](/intro/#contributing)
11+
* [FAQ](/intro/#faq)
12+
* [Where to start?](/intro/#where-to-start)
13+
* [What's the point?](/intro/#whats-the-point)
14+
* [Why?](/intro/#why)
15+
* [TODO](#todo)
16+
* [TODO: Blocks](#todo-blocks)
17+
* [Concepts](/concepts/)
18+
* [Capabilities](/concepts/#capabilities)
19+
* [Constants](/concepts/#constants)
20+
* [Stage Bounds](/concepts/#stage-bounds)
21+
* [Stage Width](/concepts/#stage-width)
22+
* [Stage Height](/concepts/#stage-height)
23+
* [Left Edge](/concepts/#left-edge)
24+
* [Right Edge](/concepts/#right-edge)
25+
* [Top Edge](/concepts/#top-edge)
26+
* [Bottom Edge](/concepts/#bottom-edge)
27+
* [Limits](/concepts/#limits)
28+
* [Max Items](/concepts/#max-items)
29+
* [Max Clones](/concepts/#max-clones)
30+
* [Ideas](/concepts/#ideas)
31+
* [Asset](/concepts/#asset)
32+
* [Costume](/concepts/#costume)
33+
* [Sound](/concepts/#sound)
34+
* [Block](/concepts/#block)
35+
* [Standard Blocks](/concepts/#standard-blocks)
36+
* [Hidden Blocks](/concepts/#hidden-blocks)
37+
* [Clone](/concepts/#clone)
38+
* [Edge](/concepts/#edge)
39+
* [Flag](/concepts/#flag)
40+
* [JavaScript](/concepts/#javascript)
41+
* [List](/concepts/#list)
42+
* [Mod](/concepts/#mod)
43+
* [Opcode](/concepts/#opcode)
44+
* [Project](/concepts/#project)
45+
* [Runtime](/concepts/#runtime)
46+
* [Script](/concepts/#script)
47+
* [Sprite](/concepts/#sprite)
48+
* [Stage](/concepts/#stage)
49+
* [Target](/concepts/#target)
50+
* [User](/concepts/#user)
51+
* [Variable](/concepts/#variable)
52+
* [Values](/concepts/#values)
53+
* [Value](/concepts/#value)
54+
* [Angle](/concepts/#angle)
55+
* [Answer](/concepts/#answer)
56+
* [Boolean](/concepts/#boolean)
57+
* [True](/concepts/#true)
58+
* [False](/concepts/#false)
59+
* [Direction](/concepts/#direction)
60+
* [Integer](/concepts/#integer)
61+
* [Item](/concepts/#item)
62+
* [Key](/concepts/#key)
63+
* [Length](/concepts/#length)
64+
* [Letter](/concepts/#letter)
65+
* [Name](/concepts/#name)
66+
* [Number](/concepts/#number)
67+
* [Infinity](/concepts/#infinity)
68+
* [-Infinity](/concepts/#-infinity)
69+
* [NaN](/concepts/#nan)
70+
* [Rotation Style](/concepts/#rotation-style)
71+
* [Rotation Style: All Around](/concepts/#rotation-style-all-around)
72+
* [Rotation Style: Left-Right](/concepts/#rotation-style-left-right)
73+
* [Rotation Style: Don't Rotate](/concepts/#rotation-style-dont-rotate)
74+
* [String](/concepts/#string)
75+
* [Empty String](/concepts/#empty-string)
76+
* [Undefined](/concepts/#undefined)
77+
* [Username](/concepts/#username)
78+
* [X Position](/concepts/#x-position)
79+
* [Y Position](/concepts/#y-position)
80+
* [Other Values](/concepts/#other-values)
81+
* [Procedures](/concepts/#procedures)
82+
* [Casting](/concepts/#casting)
83+
* [To String](/concepts/#to-string)
84+
* [To Number](/concepts/#to-number)
85+
* [To Boolean](/concepts/#to-boolean)
86+
* [Falsy](/concepts/#falsy)
87+
* [Truthy](/concepts/#truthy)
88+
* [To Direction](/concepts/#to-direction)
89+
* [Fencing](/concepts/#fencing)
90+
* [Fencing Position](/concepts/#fencing-position)
91+
* [Fencing Size](/concepts/#fencing-size)
92+
* [Palette](#palette)
93+
* [Example block](#example-block)
94+
* [Motion blocks](#motion-blocks)
95+
* [Standard motion blocks](#standard-motion-blocks)
96+
* [motion\_movesteps](#motion_movesteps)
97+
* [Hidden motion blocks](#hidden-motion-blocks)
98+
* [Looks blocks](#looks-blocks)
99+
* [Standard looks blocks](#standard-looks-blocks)
100+
* [Hidden looks blocks](#hidden-looks-blocks)
101+
* [Sound blocks](#sound-blocks)
102+
* [Standard sound blocks](#standard-sound-blocks)
103+
* [Hidden sound blocks](#hidden-sound-blocks)
104+
* [Events blocks](#events-blocks)
105+
* [Standard events blocks](#standard-events-blocks)
106+
* [Hidden events blocks](#hidden-events-blocks)
107+
* [Control blocks](#control-blocks)
108+
* [Standard control blocks](#standard-control-blocks)
109+
* [Hidden control blocks](#hidden-control-blocks)
110+
* [Sensing blocks](#sensing-blocks)
111+
* [Standard sensing blocks](#standard-sensing-blocks)
112+
* [sensing\_username](#sensing_username)
113+
* [Hidden sensing blocks](#hidden-sensing-blocks)
114+
* [Operators blocks](#operators-blocks)
115+
* [Standard operators blocks](#standard-operators-blocks)
116+
* [Hidden operators blocks](#hidden-operators-blocks)
117+
* [Variables blocks](#variables-blocks)
118+
* [Standard variables blocks](#standard-variables-blocks)
119+
* [Hidden variables blocks](#hidden-variables-blocks)
120+
* [List blocks](#list-blocks)
121+
* [Standard list blocks](#standard-list-blocks)
122+
* [Hidden list blocks](#hidden-list-blocks)
123+
* [Custom blocks](#custom-blocks)
124+
* [Standard custom blocks](#standard-custom-blocks)
125+
* [Hidden custom blocks](#hidden-custom-blocks)
126+
* [Special custom blocks](#special-custom-blocks)
127+
* [Music blocks](#music-blocks)
128+
* [Pen blocks](#pen-blocks)
129+
* [Video Sensing blocks](#video-sensing-blocks)
130+
* [Text to Speech blocks](#text-to-speech-blocks)
131+
* [Translate blocks](#translate-blocks)
132+
* [Makey Makey blocks](#makey-makey-blocks)
133+
* [micro:bit blocks](#microbit-blocks)
134+
* [LEGO EV3 blocks](#lego-ev3-blocks)
135+
* [BOOST blocks](#boost-blocks)
136+
* [WeDo 2.0 blocks](#wedo-20-blocks)
137+
* [Force and Acceleration blocks](#force-and-acceleration-blocks)
138+
* [CoreEx blocks](#coreex-blocks)
139+
* [Standard CoreEx blocks](#standard-coreex-blocks)
140+
* [Hidden CoreEx blocks](#hidden-coreex-blocks)
141+
* [Appendices](#appendices)
142+
* [File Format](#file-format)
143+
* [SB3](#sb3)
144+
* [SB2](#sb2)
145+
* [SB](#sb)
146+
* [Obsolete Blocks](#obsolete-blocks)
147+
* [Nonstandard Blocks](#nonstandard-blocks)
148+
* [Example nonstandard block](#example-nonstandard-block)
149+
* [TurboWarp](#turbowarp)
150+
* [TurboWarp blocks](#turbowarp-blocks)
151+
* [Last key pressed block](#last-key-pressed-block)
152+
* [Addon blocks](#addon-blocks)
153+
* [PenguinMod](#penguinmod)
154+
* [snail-ide](#snail-ide)
155+
* [Unsandboxed](#unsandboxed)
156+
* [Adding Platforms](#adding-platforms)

index.md

Lines changed: 5 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ layout: home
44

55
hero:
66
name: "Scratch Specification"
7-
tagline: "A detailed explanation of how Scratch 3.0 works."
7+
tagline: "A detailed explanation of how Scratch 3.0 works. WIP. This is in early stages and not yet complete."
88
actions:
99
- theme: brand
1010
text: Introduction
1111
link: /intro/
12+
- theme: alt
13+
text: Contents
14+
link: /contents/
1215
- theme: alt
1316
text: FAQ
1417
link: /intro/#faq
15-
- theme: alt
16-
text: Quickstart
17-
link: /intro/#where-to-start
1818

1919
features:
2020
- title: Introduction
@@ -41,168 +41,4 @@ features:
4141
- title: Scratch Link
4242
link: /devices/
4343
details: How Scratch interacts with programmable hardware components.
44-
45-
---
46-
47-
#
48-
49-
::: info
50-
51-
This specification is a **work in progress**. Some pages may be moved, some sections are not yet written, and some ideas are still in the works. Check back for updates!
52-
53-
:::
54-
55-
## Contents
56-
57-
* [Scratch Specification](#)
58-
* [Contents](#contents)
59-
* [Introduction](/intro/)
60-
* [Preliminaries](/intro/#preliminaries)
61-
* [Sources](/intro/#sources)
62-
* [Contributing](/intro/#contributing)
63-
* [FAQ](/intro/#faq)
64-
* [Where to start?](/intro/#where-to-start)
65-
* [What's the point?](/intro/#whats-the-point)
66-
* [Why?](/intro/#why)
67-
* [TODO](#todo)
68-
* [TODO: Blocks](#todo-blocks)
69-
* [Concepts](/concepts/)
70-
* [Capabilities](/concepts/#capabilities)
71-
* [Constants](/concepts/#constants)
72-
* [Stage Bounds](/concepts/#stage-bounds)
73-
* [Stage Width](/concepts/#stage-width)
74-
* [Stage Height](/concepts/#stage-height)
75-
* [Left Edge](/concepts/#left-edge)
76-
* [Right Edge](/concepts/#right-edge)
77-
* [Top Edge](/concepts/#top-edge)
78-
* [Bottom Edge](/concepts/#bottom-edge)
79-
* [Limits](/concepts/#limits)
80-
* [Max Items](/concepts/#max-items)
81-
* [Max Clones](/concepts/#max-clones)
82-
* [Ideas](/concepts/#ideas)
83-
* [Asset](/concepts/#asset)
84-
* [Costume](/concepts/#costume)
85-
* [Sound](/concepts/#sound)
86-
* [Block](/concepts/#block)
87-
* [Standard Blocks](/concepts/#standard-blocks)
88-
* [Hidden Blocks](/concepts/#hidden-blocks)
89-
* [Clone](/concepts/#clone)
90-
* [Edge](/concepts/#edge)
91-
* [Flag](/concepts/#flag)
92-
* [JavaScript](/concepts/#javascript)
93-
* [List](/concepts/#list)
94-
* [Mod](/concepts/#mod)
95-
* [Opcode](/concepts/#opcode)
96-
* [Project](/concepts/#project)
97-
* [Runtime](/concepts/#runtime)
98-
* [Script](/concepts/#script)
99-
* [Sprite](/concepts/#sprite)
100-
* [Stage](/concepts/#stage)
101-
* [Target](/concepts/#target)
102-
* [User](/concepts/#user)
103-
* [Variable](/concepts/#variable)
104-
* [Values](/concepts/#values)
105-
* [Value](/concepts/#value)
106-
* [Angle](/concepts/#angle)
107-
* [Answer](/concepts/#answer)
108-
* [Boolean](/concepts/#boolean)
109-
* [True](/concepts/#true)
110-
* [False](/concepts/#false)
111-
* [Direction](/concepts/#direction)
112-
* [Integer](/concepts/#integer)
113-
* [Item](/concepts/#item)
114-
* [Key](/concepts/#key)
115-
* [Length](/concepts/#length)
116-
* [Letter](/concepts/#letter)
117-
* [Name](/concepts/#name)
118-
* [Number](/concepts/#number)
119-
* [Infinity](/concepts/#infinity)
120-
* [-Infinity](/concepts/#-infinity)
121-
* [NaN](/concepts/#nan)
122-
* [Rotation Style](/concepts/#rotation-style)
123-
* [Rotation Style: All Around](/concepts/#rotation-style-all-around)
124-
* [Rotation Style: Left-Right](/concepts/#rotation-style-left-right)
125-
* [Rotation Style: Don't Rotate](/concepts/#rotation-style-dont-rotate)
126-
* [String](/concepts/#string)
127-
* [Empty String](/concepts/#empty-string)
128-
* [Undefined](/concepts/#undefined)
129-
* [Username](/concepts/#username)
130-
* [X Position](/concepts/#x-position)
131-
* [Y Position](/concepts/#y-position)
132-
* [Other Values](/concepts/#other-values)
133-
* [Procedures](/concepts/#procedures)
134-
* [Casting](/concepts/#casting)
135-
* [To String](/concepts/#to-string)
136-
* [To Number](/concepts/#to-number)
137-
* [To Boolean](/concepts/#to-boolean)
138-
* [Falsy](/concepts/#falsy)
139-
* [Truthy](/concepts/#truthy)
140-
* [To Direction](/concepts/#to-direction)
141-
* [Fencing](/concepts/#fencing)
142-
* [Fencing Position](/concepts/#fencing-position)
143-
* [Fencing Size](/concepts/#fencing-size)
144-
* [Palette](#palette)
145-
* [Example block](#example-block)
146-
* [Motion blocks](#motion-blocks)
147-
* [Standard motion blocks](#standard-motion-blocks)
148-
* [motion\_movesteps](#motion_movesteps)
149-
* [Hidden motion blocks](#hidden-motion-blocks)
150-
* [Looks blocks](#looks-blocks)
151-
* [Standard looks blocks](#standard-looks-blocks)
152-
* [Hidden looks blocks](#hidden-looks-blocks)
153-
* [Sound blocks](#sound-blocks)
154-
* [Standard sound blocks](#standard-sound-blocks)
155-
* [Hidden sound blocks](#hidden-sound-blocks)
156-
* [Events blocks](#events-blocks)
157-
* [Standard events blocks](#standard-events-blocks)
158-
* [Hidden events blocks](#hidden-events-blocks)
159-
* [Control blocks](#control-blocks)
160-
* [Standard control blocks](#standard-control-blocks)
161-
* [Hidden control blocks](#hidden-control-blocks)
162-
* [Sensing blocks](#sensing-blocks)
163-
* [Standard sensing blocks](#standard-sensing-blocks)
164-
* [sensing\_username](#sensing_username)
165-
* [Hidden sensing blocks](#hidden-sensing-blocks)
166-
* [Operators blocks](#operators-blocks)
167-
* [Standard operators blocks](#standard-operators-blocks)
168-
* [Hidden operators blocks](#hidden-operators-blocks)
169-
* [Variables blocks](#variables-blocks)
170-
* [Standard variables blocks](#standard-variables-blocks)
171-
* [Hidden variables blocks](#hidden-variables-blocks)
172-
* [List blocks](#list-blocks)
173-
* [Standard list blocks](#standard-list-blocks)
174-
* [Hidden list blocks](#hidden-list-blocks)
175-
* [Custom blocks](#custom-blocks)
176-
* [Standard custom blocks](#standard-custom-blocks)
177-
* [Hidden custom blocks](#hidden-custom-blocks)
178-
* [Special custom blocks](#special-custom-blocks)
179-
* [Music blocks](#music-blocks)
180-
* [Pen blocks](#pen-blocks)
181-
* [Video Sensing blocks](#video-sensing-blocks)
182-
* [Text to Speech blocks](#text-to-speech-blocks)
183-
* [Translate blocks](#translate-blocks)
184-
* [Makey Makey blocks](#makey-makey-blocks)
185-
* [micro:bit blocks](#microbit-blocks)
186-
* [LEGO EV3 blocks](#lego-ev3-blocks)
187-
* [BOOST blocks](#boost-blocks)
188-
* [WeDo 2.0 blocks](#wedo-20-blocks)
189-
* [Force and Acceleration blocks](#force-and-acceleration-blocks)
190-
* [CoreEx blocks](#coreex-blocks)
191-
* [Standard CoreEx blocks](#standard-coreex-blocks)
192-
* [Hidden CoreEx blocks](#hidden-coreex-blocks)
193-
* [Appendices](#appendices)
194-
* [File Format](#file-format)
195-
* [SB3](#sb3)
196-
* [SB2](#sb2)
197-
* [SB](#sb)
198-
* [Obsolete Blocks](#obsolete-blocks)
199-
* [Nonstandard Blocks](#nonstandard-blocks)
200-
* [Example nonstandard block](#example-nonstandard-block)
201-
* [TurboWarp](#turbowarp)
202-
* [TurboWarp blocks](#turbowarp-blocks)
203-
* [Last key pressed block](#last-key-pressed-block)
204-
* [Addon blocks](#addon-blocks)
205-
* [PenguinMod](#penguinmod)
206-
* [snail-ide](#snail-ide)
207-
* [Unsandboxed](#unsandboxed)
208-
* [Adding Platforms](#adding-platforms)
44+
---

0 commit comments

Comments
 (0)