0.3.0
General
- Fixed various spelling and grammar errors
- Updated README.md
- Updated the linters
- Updated CONTRIBUTING.md
- Changed to relative pathing
- Move source to src/ directory
Bug Fixes
- General
- Fixed issues that prevented Famous from being loaded in the head
- Famous/core
- Fixed opacity issues on setup and cleanup
- Now resets origin on setup
- Added guard for precommited size to allow Surface's getSize call to be non nullification
- Fixed issue taht when the size of a Surface changes, the transform matrix is recalculated to account for non [0, 0] origins
- "true" sized Surfaces now use the offsetWidth and offsetHeight property find their size in order to account for padding and border
- Famous/inputs
- Added guard to TouchTracker to avoid collisions with two finger sync
- Famous/physics
- PhysicsEngine detatchBody now works as intended
- Famous/surfaces
- Fixed VideoSurface setOptions
- Fixed issue with VideoSurface instantiation not respecting src options that were passed
- Fixed outdated references to this._currTarget
- Famous/transitions
- TransitionableTransform no longer reverts to the original state reducing frame flickering
- Famous/utilities
- Added checks for the existence of performance.now
- Famous/view
- ScrollContainer eventing has been fixed
- Scroller now defaults to the size of it's content if the size of it's content is less that the size of it's parent context
- Scrollview pagination now working
- Fixed bug that allows Scrollview to know what index it is on
- Scrollview goToPreviousPage, goToNextPage now work
- Added align to Lightbox
Features
-
Famous/core
- Added the ability for Scene to be passed functions for Modifier properties
- Added a toggleClass function to Surface for toggling CSS classes
- Made Surface methods chainable (setAttributes, setProperties, toggleClass, addClass, removeClass, setClasses, setContent, setOptions, setSize)
- Surfaces now have the ability to set HTML attributes on itself (id, data, etc)
- Modifier now has the ability to specify size as a proportion of it's parent
new Modifier({ proportions: [.5, .25] });
- Made changes to OptionsManager's getOptions to return either the full options hash or particular options based on the existence of a parameter
- Surface now emits "resize" events
- ViewSequence now has a trackSize options that tracks the size of it's collection
-
Famous/inputs
- Added OptionsManager to syncs
- Added preventDefault to ScrollSync to allow for scrolling navigation in the browser
- TouchSync now averages out velocity for a smoother, more expected stream of values
-
Famous/physics
- Particle now has a setForce function
- PhysicsEngine can now cap the velocity/angular velocity of particles
- PhysicsEngine now hs a getAgentEnergy function for calculating the energy of an agent
- PhysicsEngine now sleeps if all particles/bodies are sleeping
- Particle now has setForce to set a vector force to apply to itself
- RotationalSpring now has setOptions
- RotationalSpring now has options, forceFunction and maxLength
- VectorField has a getEnergy method
- Methods that can accept bodies and now also accept arrays of bodies
-
Famous/transitions
- Transitionable's halt is now chainable
- Transitionable has a register in the same manner as GenericSync
-
Famous/utilities
- Added clone function for deep cloning of objects
-
Famous/views
- Scrollview now uses enum for spring states
- Added a getSize function to ScrollContainer
- Scroller has a function getCumulativeSize that returns the size of the collection of renderables
- Scrollview emits "settled", "onEdge" and "offEdge" events
- Scrollview can now handle "true" sized elements
- Scrollview has a getCurrentIndex that returns the index of the renderable of it's collection that it is on
- Scrollview now has a goToPage method
- Scrollview now has getAbsolutePosition which returns the total progress through the Scrollview in pixels
- FlexibleLayout now reflows when an element marked as true size changes it's size
- ViewSequence now has indexOf
Performance Increases
- Famous/views
- More performant edge detection for Scrollview
Breaking Changes
- Famous/core
- Align defaults to [0, 0] no matter what the origin was set as
- Famous/views
- Reimplemented SequentialLayout to reduce the API
- Famous/physics
- Constraint no longer has energy
- Constraint has a default output EventHandler
- Constraint and Force no longer has setEnergy
- Snap's and Spring's setAnchor was deprecated
- Force now has an output EventHandler and emits change events on setOptions changes
- RotationalSpring's and Spring's getEnergy now takes in an array of targets
- VectorField methods, RADIAL, LINEAR, POINT_ATTRACTOR, now return vectors instead of numbers
- VectorField defaults have changed
- Removed options from SymplecticEuler
- Famous/views
- Scroller emits "onEdge" and "offEdge" events instead of "edgeHit" events
- Scrollview's default options have changed
- Scrollview getPosition marked for deprecation in favor of getOffset