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
..
doc_addStatic.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_andThen.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_applyVar.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_augustP.gif
Document the GeoJSON module.
2020-08-25 15:49:06 +08:00
doc_balloon.gif
More API docs.
2020-08-27 11:13:45 +08:00
doc_bellS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_biolinum.gif
Add a few more built-in font configurations. ( #179 )
2020-10-08 15:26:19 +08:00
doc_bonneP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_bottomleyP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_calligra.gif
Support multiple latex configurations. ( #173 )
2020-10-01 14:26:45 +08:00
doc_cameraAttach.gif
Write API documentation for cameras.
2020-08-25 18:16:25 +08:00
doc_cameraFocus.gif
Write API documentation for cameras.
2020-08-25 18:16:25 +08:00
doc_cassiniP.gif
Document the GeoJSON module.
2020-08-25 15:49:06 +08:00
doc_chainT.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_chalkduster.gif
Support multiple latex configurations. ( #173 )
2020-10-01 14:26:45 +08:00
doc_circlePlot.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_cividis.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_collignonP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_constantS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_ctex.gif
Fix ctex doc gif.
2020-07-20 17:39:12 +08:00
doc_cubicBezierS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_curveS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_cylindricalEqualAreaP.gif
Document the GeoJSON module.
2020-08-25 15:49:06 +08:00
doc_destroySprite.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_drawBox.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_drawCircle.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_drawProgress.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_droidSans.gif
Add a few more built-in font configurations. ( #179 )
2020-10-08 15:26:19 +08:00
doc_droidSerif.gif
Add a few more built-in font configurations. ( #179 )
2020-10-08 15:26:19 +08:00
doc_eckert1P.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_eckert3P.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_eckert5P.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_equirectangularP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_fadeT.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_faheyP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_fork.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_foucautP.gif
Document the GeoJSON module.
2020-08-25 15:49:06 +08:00
doc_fromToS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_githubIcon.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_githubWhiteIcon.gif
Write more API documentation.
2020-08-25 16:38:29 +08:00
doc_greyscale.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_hammerP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_haskellLogo.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_helvet.gif
Support multiple latex configurations. ( #173 )
2020-10-01 14:26:45 +08:00
doc_hsv.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_hsvComponents.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_hsvMatlab.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_inferno.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_jet.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_labComponents.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_lagrangeP.gif
Document the GeoJSON module.
2020-08-25 15:49:06 +08:00
doc_lambertP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_latex.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_latexAlign.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_lchComponents.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_libertine.gif
Support multiple latex configurations. ( #173 )
2020-10-01 14:26:45 +08:00
doc_linear.gif
More API docs.
2020-08-27 11:13:45 +08:00
doc_magma.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mapA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mercatorP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mkBackground.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mkImage.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mkText.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_mollweideP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_newSprite.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_newSpriteA'.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_newSpriteA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_newSpriteSVG.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_noto.gif
Support multiple latex configurations. ( #173 )
2020-10-01 14:26:45 +08:00
doc_oDraw.gif
Rewamp object effects.
2020-09-01 14:15:06 +08:00
doc_oGrow.gif
cleanup ( #166 )
2020-09-19 22:18:21 +08:00
doc_oHideWith.gif
cleanup ( #166 )
2020-09-19 22:18:21 +08:00
doc_orthoP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_oScaleIn.gif
Rewamp object effects.
2020-09-01 14:15:06 +08:00
doc_oScaleOut.gif
Rewamp object effects.
2020-09-01 14:15:06 +08:00
doc_oscillateS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_overlapT.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_parA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_parDropA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_parLoopA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_parula.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_pathify.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_pause.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_pauseAround.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_pauseAtBeginning.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_pauseAtEnd.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_plasma.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_play.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_playThenReverseA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_powerS.gif
Don't build gh-pages for PRs.
2020-08-07 09:15:50 +08:00
doc_queryNow.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_rawLinear.gif
More API docs.
2020-08-27 11:13:45 +08:00
doc_renderObject.gif
Hierarchical sprites and objects ( #269 )
2022-06-02 15:40:56 +02:00
doc_repeatA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_reverseA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_reverseS.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_rgbComponents.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_rotationalTrajectory.gif
Update stylish preferences.
2020-08-27 13:42:59 +08:00
doc_seqA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_signalA.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_simpleIcon.gif
SimpleIcons.org external data set. ( #178 )
2020-10-08 15:26:02 +08:00
doc_simpleVar.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_sinebow.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_sinusoidalP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_slideDownT.gif
Yet more haddock documentation.
2020-08-27 16:46:53 +08:00
doc_slideLeftT.gif
Update doc gif.
2020-08-27 17:42:57 +08:00
doc_slideUpT.gif
Yet more haddock documentation.
2020-08-27 16:46:53 +08:00
doc_smallEarth.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_spriteE.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_spriteMap.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_spriteScope.gif
Polish object interface ( #138 )
2020-08-25 13:51:32 +08:00
doc_spriteTween.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_spriteVar.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_spriteZ.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_svgLogo.gif
Switch back to stylish-haskell and enumerate imports.
2020-10-10 18:17:01 +08:00
doc_svgLogo2.gif
Switch back to stylish-haskell and enumerate imports.
2020-10-10 18:17:01 +08:00
doc_ternaryPlot.gif
Write more API documentation.
2020-08-25 16:38:29 +08:00
doc_turbo.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_unVar.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_viridis.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_wait.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_waitOn.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_wernerP.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_withViewBox.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_writeVar.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00
doc_xyzComponents.gif
Reduce test fidelity from 50 frames to 10 frames.
2020-06-24 22:36:56 +08:00