-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Unify file / unit / script / library concepts. No syntax needed to start a file (which is a unit/library/script).
Allow metadata headers in the file (and probably other objects like sprite). Lines are metadata until a line without a colon is hit so you can have things like
name: Control
author: Jesse Faden
created on: Juneteenth of 2020
hue: 20
/* and then the rest of the library */
Hopefully this can simplify both Moonshine syntax and the AST (and thus JSON)
Objects within the library can be intermixed, but will be grouped together in the AST (so all blockdefs will be in one blockdefs list), so Moonshine -> AST is not perfectly round-trippable, but will be like running a beautifier over it.
If media is inlined, it will always be at the end of the file after three moon emojis.
Allow non-trigger block calls in the library, but grey them out in Tardigrade to show that they are not being called unless they're in a trigger call. Maybe you can double-click them like in Scratch.