Releases: HugoOlsson/DefinedMotion
Releases Β· HugoOlsson/DefinedMotion
v0.3.1 Release π οΈ
Bug Fix Release
When introducing the ResizeObserver system to handle viewport resizing, a rendering resolution bug was introduced. This is now fixed. This version also comes with a slightly updated README.
v0.3.0 Release π
Major Feature Release
This is a substantial release that significantly expands DefinedMotion's capabilities, particularly for mathematical animations.
β‘ New Features
SVG & LaTeX System
- New SVG rendering engine - Now using SVG as a general intermediate format for vector shapes.
- LaTeX support - Full LaTeX β SVG β 3D pipeline for rendering mathematical expressions as true 3D geometry
- LaTeX query system - Spatial querying API to get positions and bounds of LaTeX substrings, enabling precise highlighting, marking, and color manipulation of expression parts using
\dmClass{tag}{content} - LaTeX animations - Pre-built animation helpers including:
latexWriteAnim- Reveal formulas with writing effectslatexHighlightAnim- Color pulse animations on tagged partslatexMarkAnim- Pulsating bracket overlayslatexParticleTransitionAnim- Particle-based formula morphing from one expression to another
Camera & Rendering Improvements
- Updated camera movement toolkit - More intuitive camera animation system that uses the deferred animations released in v0.2.0.
- HDRI performance increase - HDRIs are now much more performant. Instead of calculating the blur over and over again, it's calculated once and reused.
- Resize handling - Fixed viewport resizing issues when opening the browser inspector.
Audio System
- Enhanced audio support - More robust audio handling. Will seek in already fired audio. Handles scrubbing correctly. Solves many small problems.
- FFmpeg rendering fix - Resolved audio rendering bug for the tutorial_easy3 example
π Documentation & Examples
- Many new examples and tests - DefinedMotion now has 12 examples and 34 tests to look at.
- Significant README update - New README sections covering many details including the internals of DM.
v0.2.0 Release π
This is a pretty big release and puts DefinedMotion into a more finished state.
New features
- Introducing addDeferredAnims(...). When using the standard addAnims(...), animations use state values at "plan time", which makes it awkward to use the values the animation will have when it's planned to start. This is a consequence of DefinedMotion's declarative model where it builds the entire animation before anything is run. This model is great for most things, but makes some sequential animations hard to do. By using addDeferredAnims(...) these problems are fixed. Adding animations with this makes DM only evaluate the animation when it starts.
- Major UI updates giving new design, frame and time indicators, helpers, and details that show animation FPS and render FPS.
- The viewer window will remember its size and position when you close it and open it. This is pretty important because depending on the aspect ratio of the animation you are currently working on, very different sizes/aspect ratios will be used. To always resize this after you run "npm run dev" is quite annoying and this fixes that.
- Adding DoAt(tick/frame, function). This is a function that works like the current do(...), but lets you put the action anywhere instead of just the current scheduler position.
- A new hot reload mode where the animation starts fresh from the beginning when you save has been added. This is often useful for scenes that simulate, are very expensive or are inherently random since they might be awkward to trace or to hot reload at the current frame without trace. This new mode is therefore a third option when it comes to hot reload in DefinedMotion.
- More clear FPS settings for the animation and render. This is now also shown with clear output of what is currently used.
- Rename of the functions addAnim(...) and insertAnimAt(...) to addAnims(...) and insertAnimsAt(...) since they actually can take multiple animations.
Bug fixes
- Fixed HDRIs making some computers super slow. This was because they had a high pixel ratio and the textures were scaled weirdly which resulted in large shader work for HDRIs on some computers like MacBooks.
- Added "Do not save" text during rendering so that people are aware that the viewer is still sensitive to hot reload during a render. In the future, mechanisms that prevent hot reload during rendering might be implemented to handle this more robustly. This is however likely not a big issue.