From 37c3b85809d452254f90d5e6d903d57fa4e5bca4 Mon Sep 17 00:00:00 2001 From: Isaac Mills Date: Fri, 18 Oct 2024 00:05:09 -0600 Subject: [PATCH] Add more docs about slides --- src/slides.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/src/slides.md b/src/slides.md index e9a8e5a..d9b726a 100644 --- a/src/slides.md +++ b/src/slides.md @@ -11,3 +11,113 @@ A slide looks like this Subtitle: ViewBox[1]__.., }[] ``` + +This is what the syntax looks like + +``` +{ + {Object name}: {Viewbox name}[index into viewbox][direction from][diretion to], +}[{see Functions}] +``` + +## Directions + +The directional modifiers in a slide denote where an object is coming from, and where it's going. The symbols used to denote them are as follows + +- `^`: Up +- `_`: Down +- `>`: Right +- `<`: Left +- `.`: Center + +Two of these make a full direction, for example: + +- `^>`: Upper right +- `_<`: Lower left +- `..`: Center center +- `^^`: Upper center +- `^.`: Upper center + +Any combination of these symbols will make a valid direction. + +## Implicit information + +Once an object is present on a slide, the following slides can ommit data for that object to avoid repetition. For instance: these will both make the same slide + +``` +{ + TitleImage: ViewBox[0]...., + Title: ViewBox[0]__.., + Subtitle: ViewBox[1]__.., +}[] + +{ + TitleImage, + Title, + Subtitle, +}[] +``` + +There are three components that can be added to slide objects, or omitted if the object is already on screen + +- `TitleImage`: Just putting the object name keeps it where it is, in it's previous viewbox, in it's previous position +- `TitleImage^^`: Adding just a directional target will move the object within it's previous viewbox (You may need to add `~` to the object if you intend to start the direction with an `_` to avoid it being confused with the identifier, like `TitleImage~__`) +- `TitleImage: ViewBox[1]`: If just a new ViewBox is specified, The object will move to the new viewbox, keeping it's original directional target +- `TitleImage: ViewBox[1]^^`: Adding a viewbox and a single directional modifier will move the object to it's new full location, from it's previous position and viewbox. + +## Exiting + +Objects will simply disappear instantly if an exit direction isn't specified for them. Here's an example of how exit directions would be done + +``` +{ + TitleImage: ViewBox[0]...., + Title: ViewBox[0]__.., + Subtitle: ViewBox[1]__.., +}[] + +{ + TitleImage>>|, + Title: Viewbox[1]^^|, + Subtitle~__|, +}[] +``` + +In a slide, an object with a target directinal modifer of `|` will exit the slide in the direction of it's preceding "from" directional modifier. (All the implicit data rules apply to the `|` directional modifier). + +## Specifiying a viewbox to come from + +By default, when entering a slide, the object will start from inside the target viewbox, but you can also specify a "from" viewbox like so + +``` + +{ + TitleImage: ViewBox[0]{ViewBox[1]}...., + Title: ViewBox[0]__.., + Subtitle: ViewBox[1]__.., +}[] +``` + +Specifying a viewbox and index in brackets, after a target viewbox in a slide object, will make it so that the object starts from that viewbox, and moves to the target viewbox. + +## Inline viewboxes + +If you only plan to use a viewbox once, you can specify it inline like so + +``` +{ + TitleImage| ViewBox[0] ^ + 1:3, + 1:3, + 1:3, + ][0]...., + Title: ()[1]__.., + Subtitle: ()[2]__.., +}[] + +{ + TitleImage, + Title, + Subtitle, +}[] +```