Releases: brianchirls/Seriously.js
Releases · brianchirls/Seriously.js
Release 2015-09-08
New Features/Improvements
- Correct Gamma blending applied to select plugins (#86) (accumulator, blend, blur, directional blur, split)
- Change canvas output to premultiplied alpha (#88)
- Added
barsRate
parameter to TV Glitch effect (#82) - Displacement Map effect: ability to select source channels for horizontal and vertical displacement (options: 'red', 'green', 'blue', 'alpha', 'luma', 'lightness', 'none')
- All plugins with time input standardized as
time
rather thantimer
(#90) - Add
startColor
input to Accumulator effect (#23) - Move base shader strings outside of Seriously constructor
- Channel mapping example is now mobile friendly
- Modified Three.js target example to demonstrate transparency
- Three.js examples use
PlaneBufferGeometry
instead ofPlaneGeometry
- Added a name to all shaders for debugging with Chrome Shader Editor Extension
- More verbose shader linking errors
- Added
mod
option to number inputs - Time parameters passed through a modulo operation. Noise functions don't like very large numbers provided by Date.now(). (#90)
- Refactor color validator functions for performance and code clean-up
Bug fixes
- Broken canvas option in three.js target plugin
- Divide-by-zero bug in chroma effect shader #80
- Common shaders failed to rebuild when restoring lost WebGL context
- Destorying Seriously instance fails to clean up node objects (#92)
- Changed UMD header for all files so they work with CommonJS (#85)
- Three.js source example: fix NPOT texture
- Sources and targets now accept elements in same-origin iframes #102
- Correctly set colors by name - was broken in upcoming versions of Chrome
New Plugins
New Examples
Misc.
- Update included version of three.js to r71
- Code clean-up
Release 2014-10-26
- Update version of Three.js to r69
- Patch Three.js Target example to work with r69
The latest release of Three.js keeps its own record of the latest shader program assigned to the WebGL context, and it does not update the shader if it thinks it hasn't changed. Seriously.js uses the same context and uses its own shaders. So it is necessary to call the resetGLState
method on the THREE.WebGLRenderer
instance before each render pass to force it to update the shader program.
Release 2014-10-13
New Plugins
- Crop effect
- Pixelate effect
- Three.js texture target (#61)
New Examples
- Crop example
- Three.js texture target (#61)
New Features/Improvements
- Workaround for lack of video texture support in Internet Explorer (#68)
- Validate Transform node inputs (#40)
- Target node type plugins (#60)
- Added utility methods to Seriously for detecting whether an object is a node of any given type
- Optimize enum validator
- Better/more unit tests for blocking reserved names
- Retain
id
property on destroyed nodes - More robust handling of lost WebGL test context
- Added unit test for Chroma Key effect
- Remove redundant memory copy in Array source
- Optimize Emboss effect, added min/max to amount
- Improve enum input setup and validation
- Default input values work for transform nodes (#59)
- Refactor video source rendering. Cleaner code, more reliable.
Bug fixes
- Secondary WebGL target was failing to render
- Target node
.inputs
changed to a method to match other nodes - Transform
.inputs()
no longer reports methods - Fix case-insensitive enum validation
- Multiple Canvas Targets unit test was not cleaning up after itself
- Blur was not rendering when amount <= 0.1
- Secondary WebGL targets were rendering at wrong size/aspect if placed after a transform
- Fixed texture shape/size in mirror effect
- Remove branching from split shader (#69)
- Remove branching from Chrome Key shader (#69)
- Linear Transfer example works in IE11 ('input' event not supported)
- Fix broken hex values for color input elements
- Make sure asynchronous unit tests don't leak plugins
- Sizing wasn't working for Layers effect when
sizeMode
set to a specific layer - OpenGL
blendFuncSeparate
now supportZERO
- Fixed lost context unit test in IE11
Misc.
- Fixed index page for Internet Explorer
- Update included version of three.js
- Clean out unnecessary code and junk comments
Release 2014-07-25
New Features/Improvements
- Ability to set default input values on any effect as an option #59
- Changed TV Glitch time to be based on seconds, not milliseconds
- Auto scaling for Camera Shake #44
- Allow effects to become "ready" even if unneeded sources are not ready
- Don't need to resize Select effect and all subsequent nodes on every draw
- Callback function in
go
provides high-precision time as first parameter - Exposure effect makes more sense
New Plugins
- Color Select effect
- Mirror effect
- Three.js source plugin
- Fast Approximate Anti-Aliasing (FXAA) effect
- Gradient Wipe effect
New Examples
- Mirror examples, image and camera
- Three.js source example
- Gradient Wipe example
Bug fixes
- Fixed broken scanlines effect
- Update Source node when src changes (#63)
- Fix incorrect value from checkboxes
- Safer handling of lost context
Misc.
- Remove html5slider (#47)
- Move video source into a plugin
Release 2014-05-06
New Features/Improvements
- Recover from lost WebGL context (#14)
- Blur example animated to test speed of blur
- Edge effect optimized
- MediaLoader utility library for loading video/image via drag/drop or file input
- Allow setting of colors for Simplex Noise output
- False Color effect can account for alpha values in target colors
- Add height and width to color generator effect (#57)
- Advanced Color adjustment blend modes (#53)
New Plugins
- Depth Map source loads for Android camera Lens Blur mode
- Displacement Effect
- Vibrance Effect (similar to saturation, but more subtle and cleaner)
- Spherical Panorama Effect
New Examples
- Depth Map and Displacement
- Dynamic Fog, with depth map
- Color Generator
- Spherical Panorama
- Multiple Canvas Targets (#55)
Bug fixes
- Target and Effect nodes do not render if they're not ready (#56)
- Correct rendering to secondary WebGL target nodes (#55)
- readPixels working for all node types, including transform
- Remove webglcontextlost listener on discarded test canvas
- Unit tests were not passing when WebGL not supported
- Fix broken "channels" effect
- Dirty state will not push from any node connected to 2+ inputs on the same node.
- Blur effect should not destroy the baseShader
- TV Glitch breaks if resized before initialized
- Fix name of "subtract" blend mode in accumulator effect
- Fix subtract blend mode to match actual photoshop behavior
- Fix blend effect crash on resize if either source is missing
Misc.
- Unit test for secondary WebGL target nodes
- Added misc. unit tests
- Clean up shader code
- Added CONTRIBUTING.md
- Misc. code lint fixes
Release 2014-04-08
New Features/Improvements
- Effect and Transform nodes are more inspectable
title
andtype
propertiesinputs
method for reporting details on all inputs
- Added
width
andheight
read-only properties on source nodes - Camera source accepts
getUserMedia
constraints - "resize" event fires whenever a node is resized, either explicitly or by a source node
- Debug logging improved to use
warn
anderror
where appropriate - logging methods can be overridden for suppressing errors or logging to a server
- Errors throw proper objects, not strings
- Added 'none' scaling mode to "reformat" transform
New Plugins
- Accumulator effect
- Freeze Frame effect
- Throttle frame rate effect
Bug fixes
checkSource
returns false if image fails to load- Fixed missing and incorrect values for some color names
- Fixed UMD wrapper for all modules
- Fixed blend effect shaders that were failing compilation
- Blend effect was completely broken in IE11
- Blend effect was rendering incorrectly at low opacity setting
New Examples
- Blend: test all blend modes
- Accumulator
- "Drunk Video" example, demos accumulator and camera shake
Unit Tests
- Check for all CSS3 color names
- Added tests for target node getters
- Unit tests pass without WebGL support
- Added tests for error/warning logging
- Added test for "resize" event
- Added tests for node info methods/properties
Misc.
- Updated documentation to reflect better WebGL and CORS support in browsers
- Updated copyright year
- Cleaned up shader code for consistency and readability
Release 2014-01-14
New Features/Improvements
- Node event listeners (ready, unready, resize, render)
- Support string input types
- Initialize node shaders earlier to eliminate jank when connecting nodes
- Reduce jank and GPU resource usage with shared effect shaders
- Transform node inputs can now watch form elements
- Source type plugins
- Every instance of Seriously now has an id
resize
callback in Transform plugins
New Plugins
- Expression effect
- Polar Coordinates effect
- Checkerboard generator effect
- Select effect (pick one of multiple inputs)
- Camera Source
- Array/Typed Array and ImageData moved into Source plugins
Bug fixes
- Fixed clean-up of destroyed transform and effect nodes
- Do not set image source as ready if image fails to load
- Fix TV Glitch effect bug when dimensions are not set correctly or early enough
- A node cannot be its own source - throw error to avoid infinite loop
- Improved alpha blending
- Node dimensions are rounded down to integer
- Add black to pre-computed color names that Chrome doesn't provide
- Better loading when mixing AMD and non-AMD environment
- Fix compatibility test in Safari
- Fix cross-origin security check in Safari (#37)
- Workaround for Firefox webcam/getUserMedia bug (#38)
New Examples
- Camera Source
- Select Effect