Commit graph reanimate/docs/gifs
Author SHA1 Message Date
Paul Gardiner
ed1c0ba6c1
Hierarchical sprites and objects (#269)
* Separate sprite creation from adding to scene

This is work towards supporting hierarchical sprites and objects:
the Sprite data definition is updated to include it's generator and
a new function newSpritePart is added to create a sprite without
adding the generator to the scene, making it invisible. Later commits
will provide a way for sprites created by newSpritePart to be used
in the definitions of other sprites.

* Support use of one sprite within another

This is work towards supporting hierarchical sprites and objects.
A new function, renderSprite, is defined that exposes its generator
in the form of a Frame context that can be used in the definitions
of other sprites.

Some internal types have had to be changed to support renderSprite. The
frame context created by renderSprite runs the sprite's generator, and must
supply the scene duration to it, and so the frame type has had to be updated
also to be dependent on the scene duration. In turn, a sprite's effects
mapping needs to be able to interpret a frame context in the implementation
of spriteModify, and so the effects mapping has also had to be made
dependent on the scene duration.

* Support use of objects within hierarchical sprites

Allow use of objects as leaves within a hierarchically
defined sprite. Two new functions are added:

  The function newObjectPart creates an object, not immediately
  added to the scene, so invisible even after calls to oShow, and
  mainfesting only if used within the definition of a sprite.

  The function renderObject exposes the generator of the object's
  internal sprite in the form of a frame context that can be used
  in the definitions of other sprites.

* Add example script showing use of newObjectPart and renderObject

This is a slightly contrived example, chosen to show an animation that
is difficult to contruct other than hiearchically. Two strings are placed
one over the other. They are shown using oDraw which requires their being
Objects. The overlapping strings are faded out, which requires
opacity to be applied at the group level: fading each individually would
lead to the lower string becoming visible through the upper one as opacity
is decreased.
2022-06-02 15:40:56 +02:00
David Himmelstrup
e7bce27d12 Switch back to stylish-haskell and enumerate imports. 2020-10-10 18:17:01 +08:00
David Himmelstrup
96cd95f865 Add logos from svgporn.com 2020-10-10 17:25:15 +08:00
David Himmelstrup
edd776beac
Add a few more built-in font configurations. (#179) 2020-10-08 15:26:19 +08:00
David Himmelstrup
54652dd51f
SimpleIcons.org external data set. (#178)
* Add 'simpleIcons' external icon set.

* Add complete support for Simple Icons.

* Add documentation gif.
2020-10-08 15:26:02 +08:00
David Himmelstrup
009a9e2188
Support multiple latex configurations. (#173)
* Support multiple latex configurations.

* Don't look for pdf2svg/dvisvgm unless they are actually required.
2020-10-01 14:26:45 +08:00
David Himmelstrup
217c54ab38
cleanup (#166)
* Remove unused import.

* Add missing documentation.
2020-09-19 22:18:21 +08:00
David Himmelstrup
755fb02c6c Rewamp object effects. 2020-09-01 14:15:06 +08:00
David Himmelstrup
3f5c240757 Update doc gif. 2020-08-27 17:42:57 +08:00
David Himmelstrup
aed34fb5d9 Yet more haddock documentation. 2020-08-27 16:46:53 +08:00
David Himmelstrup
aa4656d77d Update stylish preferences. 2020-08-27 13:42:59 +08:00
David Himmelstrup
0ea12c58f9 More API docs. 2020-08-27 11:13:45 +08:00
David Himmelstrup
0e58fc66e6 Write API documentation for cameras. 2020-08-25 18:16:25 +08:00
David Himmelstrup
41d6a1d9f1 Write more API documentation. 2020-08-25 16:38:29 +08:00
David Himmelstrup
f0313ea14b Document the GeoJSON module. 2020-08-25 15:49:06 +08:00
David Himmelstrup
83e4ecd987
Polish object interface (#138) 2020-08-25 13:51:32 +08:00
David Himmelstrup
b6975d705d Don't build gh-pages for PRs. 2020-08-07 09:15:50 +08:00
David Himmelstrup
1d7f7acdf1 Fix ctex doc gif. 2020-07-20 17:39:12 +08:00
David Himmelstrup
3e3212d3f6 Reduce test fidelity from 50 frames to 10 frames.
Former-commit-id: d47a8a4d3f2b650927999fe10d6eddbb8e3da8fb
2020-06-24 22:36:56 +08:00