Investigation: handful of hacks to open a "function editor dialog" as a separate blockly workspace
Clarify comments
Flip popup initial state
Use prototype for override
Add toolbox support for function editor workspace
Add trashcan to function workspace
Fix flyout/workspace ordering
Generalize SVG <--> global coordinate conversion
- Add helper to find topmost <svg> parent element, memoizing results
- Search for SVG parent when converting
Convert static Blockly.Toolbox to Blockly.mainToolbox object instance
- Remove unused variable Blockly.Toolbox.selectedOption_
Move function editor out of Blockly, into new class
Introduce concept of EditorWorkspace, top-level workspace with separate SVG element
- Add workspace initialization core test
Remove debug line
Stub asset path for local file (breaks CORS)
Fix workspace field name in SVG scrollbar
Use standard EditorWorkspace code path for instantiating function editor
Fix one more usage of scrollbar workspace reference
Course 4 function editor checkpoint
Expand EditorWorkspace class comment
Fix indent
Add local parameter toolbox to function editor