All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Update links.
- Clean gulp and build process.
- Move
gallery-src
togallery
.
- Change
Jquery.on("load")
towindow.addEventListener("load")
.
- Changes from
beamtoix.ini
tobeamtoix.scss
. - Changes @import to @use on
main.scss
. beamtoix create
creates the package.json including scripts to compile scss and ts.
- Rename project ABeamer to BeamToIX.
- Update README.
- Change Documentation to TypeDocs.
- Deleted core-js and JQuery from package.
- Update the links to be minimum and online
- Deleted links to core-js.
- Update to gulp@5
- Update compilation to es6
- Updated compile abeamer.js with esbuild
- Improve README
- Update links
- Use MIT License.
- Use jquery-3.7.1
- Add support for arrays in the 1 parameter numerical functions.
With this addition, those functions can process individual elements inside an array,
and set the result to an array. - Add new
statistic-functions
plugin with 8 fundamental functions. - Add
get
andslice
functions for array data extraction tofunctions
. - Add new
format-functions
plugin to convert numbers to string according to locale. - Add
getVars
global function to allow plugins to add init vars. - Add support for cli options ending with
__\d+
.
This addition solves slimerjs
--config
option conflict with abeamer--config
.
- Add support for default
INFO_PER_SERVER
.
This allows to add more servers without changing
INFO_PER_SERVER
.
- Add initial support for
slimerjs
server. (alpha version). - Add
--server-exec
option to command line. - Add
--scale
support for abeamer cligif
andmovie
command. - Add
--no-default-browser-check
to puppeteer server agent.
This change reduce chrome's the initialization phase.
- Use
getVars
function instead of_vars
.With this change,
_vars
will no longer be used by any plugin, allowing to removeexport
from_vars
.
- Remove
_vars
from release version.
This won't be considered a breaking change, since the use of
_vars
was already discouraged from being used.
- Fix a critical bug on phantomjs server agent.
- Update ROADMAP.
- (DEV) Port documents build to mkdocs 1.0.1.
- Improve the gallery example descriptions.
- Improve of a few cosmetic steps of the
build gallery-release
. - Fix broken links, documentation formating and its output.
The output documentation code syntax highlight is changed to javascript due the fact the highligher processor performs better.
The website scripts will be responsible to improve the code highlight output. - (DEV) Remove dead code. Add missing void return type.
- (DEV) Remove local build-docs.
By moving the docs and gallery to the same domain as the website and blog, and by restructuring the docs and gallery output paths to be the same as online, now it's possible to test the docs and gallery offline using a local server and symlinks.
- Improve command line documentation.
- (DEV) Move build paths, urls and parts of gulp code to
config.yaml
.With this change, a developer can change the release paths and execute gulp tasks without changing the gulpfile. There are still parts inside the gulp file that needs to be ported.
- (DEV) Change gulp task, npm scripts, code naming to match path names of release,gallery and docs.
With this change, the gulp tasks, builder filenames are easier to understand its meaning since they match the output path names.
- (DEV) Change main gulp tasks into gulpSequence.
Instead of chaining gulp tasks with the required finished tasks and having parts of the tasks in the
package.json
file. the external gulp tasks use a gulpSequence which is much easier to read the workflow.
- Fix the removal of export of ids starting with
_
during build process of a single file.This bug was introduced just before the commit 5f4f3e6. In practice, the committed code didn't remove the exports of the ids starting with
_
.
There was no side-effects just had no effect.
Also added_vars
to the list of exclusions of this process since it's still being used by chart tasks. - Fix minor design issues in 2
gallery-src
examples.
- Add Minor cosmetic improvements on gallery README.
- (DEV) Add
gulp post-build-docs
to improve documentation output.This version replaces documentation online links with local links to support offline testing.
- Add type and keyword syntax highlighting code during
post-build-docs
. - Add
allowExpr
parameter toadd-vars
task.When
allowExpr
is true, and the value is string starting with=
, it will compute the expression, using ABeamer expression parser. - Add
datetime-functions
plugin.This plugin allows to create teleportable expressions with date/time functions.
- (DEV) Add
_
to the start of the id of unused function parameters.Although the tsconfig.json has
"noUnusedParameters": false
,
adding the underscore prevent warnings in case of is set totrue
,
and also helps to understand better unused parameters for future cleanups. - Add support for array parameters to rgb functions in
color-functions
plugin. - Add
hsl
andhsla
functions tocolor-functions
plugin. - Add
abs
andsign
functions tofunctions
. - Add
hsl2Rgb
andrgb2Hsl
functions tocolor-functions
plugin. - Add alternative ways to express colors to
gallery-src/animate-colors
.Originally it was designed, only to use color arrays, but this addition, the user can also test expressions with rgb/hsl functions.
- Fix the bug in
gulp build-release
that forced to have 2 folders in the gallery.
- Add abeamer-debug.min.js to release version and both min.js are smaller.
To generate the release version, all core .ts files are joined and it's removed the inner namespaces and removed the exports from id starting with
_
.
Then they are compiled again using tsc.
This process makes the minify compress more since there more internal symbols.
The abeamer.min takes one step further by stripping all the code inside #debug-start/#debug-end section.
This will remove its capacity to provide debug logs but it will make it lighter. - Add
story.startTeleporting
to delay the teleportation initial snapshot.This new method allows to teleport any HTML/CSS code injected after the story has been created and before this method was invoked. Read more on https://abeamer.devtoix.com/blog/2018/08/20/how-to-delay-the-teleportation-in-abeamer.html
- Move gallery, badges, icons file paths to be compatible with the website.
This change moves not only the file structure but also updates all the build scripts.
With this change, it simplifies the process of local testing and converting from local links to online links back and forth.
Information regarding the old repos and git pages is removed.
Documentation links are also updated to reflect this change.File structure changes:
- gallery -> gallery-src
- gallery-release -> gallery/latest
- docs/sources/*.{svg,gif} -> assets/badges
- docs/sources/*.png -> assets/icons
- Change the background image of
animate-item-delay
to reduce the pixelization.When it was converted to animated gif the image looked pixelized due the fact there is a color reduction to 256-colors and the previous background image add too many shades.
- Fix font rendering bug in
animate-transitions
example.The problem was due a bug in Chrome as described in: http://abeamer.devtoix.com/blog/2018/08/15/abeamer-1.3.0-released.html
- Change imagemagick
convert
alpha parameters to fix gif generation on windows.
- Remove
docs
andgallery-release
visual customization.Since the website, blog, release, and gallery-release are all hosted by the abeamer.devtoix.com website, this is now in responsibility to do all the customization.
- Change the release version from release to
release/latest
.This change will allow a local webserver have access to the same url subpart as it is on the abeamer.devtoix.com site.
Simplifying the process of testing and deploying release versions. - Add minify to all js files during the
build-release
phase.
- Move documentation from github repo to https://abeamer.devtoix.com/docs.
- Update links and generators to move docs, gallery and release to abeamer website.
The github repos are replaced with folders on https://abeamer.devtoix.com.
- docs/build/(target)/versions/latest/en ----> docs/release/latest/(target)/en
- git repo abeamer-release ----> release/latest
- git repo abeamer-gallery-release ----> gallery/latest
- git repo abeamer-docs ----> docs/latest
- Remove
index-online.html
fromgallery/*/code.zip
.This file will be integrated with the website and shouldn't be part of user files.
- Add parameter
--gif-background
toabeamer gif
CLI. - (DEV)
gulp build-gallery-release
generate index.html.Since abeamer.devtoix.com doesn't support markdown render, it's required to generate the index.html
- Add
messages/messages-en.js
to be the version 2.x holder of the english messages.The messages in i18n.ts file will be moved to messages/messages-en.ts file on version 2.x.
Users are encouraged to include the messages/messages-en.js on their index.html even though for now it's an empty file to prevent breaking changes. - Add core plugins to gallery examples using oscillators, paths, transitions and functions.
- (DEV) Add check for missing gif files on
gulp build-gallery-release
. - Add abeamer scripts to abeamer-release.zip.
This addition allows users how just want to download abeamer as a zip instead of using npm to have running scripts without having to build their own scripts.
- Access to
story.virtualAnimator
is deprecated.use
addVirtualAnimator
/removeVirtualAnimator
instead. - (DEV) Port
_ChartVirtualAnimator
toSimpleVirtualAnimator
.Using
SimpleVirtualAnimator
gives a cleaner implementation, and by also usinganimateProps
reduces the render count when the animator has multiple animation properties.
- Add
addVirtualAnimator
/removeVirtualAnimator
to the story.By using these methods instead of direct access to
virtualAnimator
, allows to create maps for quicker access to virtual animators. - Add
SimpleVirtualAnimator
class.To be used by plugin creators to simplify the process of animating their content.
- Add support value parameters starting with -- in the abeamer cli.
- Add
--movie-pre
and--movie-post
parameters to abeamer cli.These arguments to be passed to ffmpeg before/after the arguments passed by abeamer.
- Add
--gif-pre
and--gif-post
parameters to abeamer cli.These arguments to be passed to convert before/after the arguments passed by abeamer.
- (DEV) Add
Launch abeamer cli
to VSC debugger configuration. - (DEV) Add excludes to vsc files.watcher
VSC complains about too many files on the project.
This change is an attempt to solve this issue. - Add support of system env FFMPEG_BIN to locate ffmpeg executable.
By having an environment variable pointing to the ffmpeg executable, ABeamer can generate a movie without requiring ffmpeg to be in the search path.
- Add support of system env IM_CONVERT_BIN to locate imagemagick convert executable.
By having an environment variable pointing to the imagemagick convert executable, ABeamer can generate a gif without requiring imagemagick convert to be in the search path.
On windows the search path points to windows convert program which can conflict with imagemagick convert. - Add
check
command to the abeamer cli.Gives the user information how to configure
puppeteer
to useChrome
instead ofChromium
. - (DEV) Add windows test batch files.
It helps windows developers to test developer versions.
- Add adapters.frameRendered.
Using
frameRendered
allows animators with multiple animation properties to be called only once per frame. This is the case of charts and many other common canvas and WebGL virtual animators. - Add SimpleVirtualAnimator.animateProps.
- Prepare core parts to be moved into plugins on version 2.x.
By having many core parts as plugins, the ABeamer will load faster and the user can opt-out parts that aren't needed in a project.
Since this will generate breaking changes, this phase will only be a preparation.
- Fix http-server for URL with path with %20(spaces).
- (DEV) Fix unix test scripts project paths containing spaces.
- Fix render plugin injector to apply the same url base part.
This allows the dev script teleport.sh to inject on non-release version, and in the release version to correctly inject in case the user changed from abeamer to another path.
- (DEV) Fix unix test script teleport.sh project paths containing spaces.
- Update cdn.rawgit.com links with a-bentofreire.github.io.
Using
cdn.rawgit.com
didn't guarantee the updated links toabeamer-release
files.
abeamer render
--width
and--height
parameter override abeamer.ini/story.json definition and override story CSS dimension properties.- Remove hide the story when the render starts, and then show it again to avoid first frame problem. It best method is author the way it is, and when authoring is finished hide the story on CSS.
- Documentation breadcrumbs points to new links.
- Documentation uses a custom theme based on mkdocs.
- Update Documentation favicon.
- Read parameters of
gallery/animate-badges
via command line--var
parameter. - (DEV) Set The
README
gif loops more times and waits longer between loops. - (DEV) Refactor set width/height in story.constructor.
- Change from fixed to dynamic dimensions in
animate-badges/main.scss
. - Change
gallery/animate-badges
to support teleported dynamic story. - Change
server-agent
to operate without --file or --out if there is --url. - Change
abeamer render
to operate without any local file, only needs --url,--width,--height. - Remove unnecessary
text-tasks
fromgallery/animate-badges
.
- Add Google Analytics to Documentation.
- (DEV) Add array and object type to command line parameters.
abeamer render
can pass--var
parameters to client lib asargs.vars
.story.args
is exposed as readonly property to allow to accessstory.args.vars
.- Add
duration
,wait
,name-background-color
,value-background-color
togallery/animate-badges
. - Add
name-width
togallery/animate-badges
. - Add all parameters to the serverless pageUrl output in
abeamer render
. - Add object variables in
add-vars
tasks. - Add
overwrite
parameter toadd-vars
tasks. - Add
calcStr
to compute textual expressions and check the output. - Add easings with names defined as an expression starting with '=='
- Add extra exception handling server-agent-puppeteer to prevent freezing.
- Add
story.getStoryToTeleportAsConfig
to provide an object access to story to teleport. - Add '[..]' to the listing in
abeamer serve --list-dir
. - Add
logLevel
tostory.constructor
, allowing to get verbose information during story constructor phase.
- Fix
ChartLegend
inchart-tasks
that had required typingmark
parameter. - (DEV) Fix
gulp build-release
in Windows, by disablegulpPreserveTime
inrel:server-minify
task. - Fix CSS transform property on IE11, by disable overwriting property vendor remapping.
- Fix the transparency in area charts for IE11/MS Edge by changing from #RRGGBBAA to rgb(r,g,b,a).
- Improve documentation.
- Add website information.
- (DEV) Fix the
gulp README-to-local
andgulp README-to-online
. - (DEV) Fix code examples on JSDocs for
gulp build-docs
. - (DEV) Fix the tests that had errors.
- Fix the chart legend color for
line
charts. - Fix the chart y-labels when there is not enough y-space created by labelsX to
chart-tasks
.
- (DEV) Set
npm run test-all-serial
to runs all the tests in serial.
- Add links for property and method classes to
gulp build-docs
. - Add functions:
log
,log10
andexp
. - Add expression series in
chart-tasks
.
chart-tasks
parameters are incompatible.
- Fix several
chart-tasks
bugs.
- Add many features to the
chart-tasks
. - Add
parseEnum
utility function. - Add
elIndex
andi
tofactory
task attribute expressions. - Add object variables to
expressions
. - Add one-dimension indices access to array variable to
expressions
. - Add default values to
chart-tasks
. - each gallery example has a
index-online.html
using links for online ABeamer. - Add
easings-gallery
. - Add to
gulp build-gallery-release
"try it online" link.
- npm
package.json
points to main repo.
- A version bump was required due using npm publish with
[email protected]
. See [0.2.10].
- Fix
abeamer create .
andabeamer create
. - Fix command line error messages.
- Fix
gallery-release
links in order to allow to override a created project. - (DEV) Fix
gulp update-gallery-scripts
. - Fix
abeamer render --inject
plugins. - Fix the creation of
gallery-release/remote-server/code.zip
. - Fix adding
assets
folder togallery-release/remote-server
.
- Add extra file and directory exists tests to
server-agent
. - Add more examples to the command line documentation.
- (DEV)
gulp build-release
makeschmod u+x
forcli/abeamer-cli.js
. - Set gallery html files spacing to 2 spaces.
- Update
teleporter
documentation. - Improve the
README.md
files.
- Improve
README.md
. - Improve documentation.
- Add more utility functions to
expressions
. - Add
virtualAnimators
. - First version of
chart-tasks
.
- This version was used to overcome a critical bug on
npm publish
in[email protected]
that fails to find the README.md, and it's not possible to update to [email protected] because it has a critical bug onnpm update
, plus countless false positives innpm audit
.
Until npm team finds an acceptable solution it will be used[email protected]
for all except fornpm publish
.
- Add
width-height
as dual-property toAdapters
. - Add numerical arrays to
expressions
. - Add array binary operators to
expressions
.
- Paths support expression paths.
- Fix running in JSFiddle by executing
_initBrowser();
duringstory.constructor
.
- Add the
playground
toREADME.md
. - Add
normalize.css
tohello-world
example.
- Relax the
abeamer create
to support a project names with spaces and non-latin characters. - If
server-agent-puppeteer
haspage.goto
it logs the error. - (DEV)
gulp bump-version
checks for error conditions of badge creation. abeamer create
checks if the project name already exists, and throws error if is true.abeamer create
if project name has a path component it doesmkdirp
.- rebranding.
- Add
.webm
and.avi
outputs toabeamer movie
.
- Fix web links.
abeamer-cli
converts exception intoconsole.error
messages.
- Add
.webm
and.avi
outputs toabeamer movie
. - Add
--loop
parameter to define the number of loops toabeamer gif
. - Add animated badges to
README.md
.
- Fix the case where a pixel property has previous animation and has no
valueStart
. - Fix documentation badges.
- (DEV)
pEls
no longer needs to uselaserMarker
. - (DEV) Remove several unused vars.
- Improve
gulp bump-version
.
- Add
advance
parameter to animations and property animations. - Add badges to the
README.md
. - Add
color-functions
to documentation.
- Created a workaround to overcome
github
andnpm
stripingvideo
tag.
- Fix
README.md
. - Improve
_waitForMediaSync
to wait for video ready to play and finish seek, only when is ready. video-sync
Flyover supportserverRender
param to disable ifhasServer
.- Fix
/gallery/animate-video-sync/js/main.ts
duration.
- (DEV)
npm serve-with-dirs
also lists 'index.html', 'README.md' files. - Add more info about the command line utility to the documentation.
gulp build-gallery-release
can add video to itsREADME.md
instead of gifs.- Add
gulp clean-gallery-png
. - Add
--bkg-movie
option to blend a movie with a transparent image sequence toabeamer-cli movie
.
- Set default movie name generated by
abeamer-cli movie
tostory.mp4
.
- Fix
gallery/animate-workbench
top value parameter. - Add extra info to gallery examples to improve browser compatibility.
- Improve browser compatibility in
Adapter
andinterpolator
. - Fix missing devDependencies.
- Add logical
and
, oror
toexpressions
. - Add comment before injecting the plugins to
abeamer-cli create
. - (DEV) Declare function return
void
if it didn't had a return value. abeamer serve --dirs
define the body colors (fixes a problem on firefox with dark themes)
- Set
scene1
instead ofscene0
tohello-world
example. - Improve documentation.
- Improve
build-docs
: remove README.md, generate logs, improve generation ofapi-header
. - Remove
TransitionFuncHandler
.
- Raise an exception if
value
parameter isn't number nor expression. - Add
gallery/animate-video-sync
.
- Set
div
instead ofp
tohello-world
example. gulp build-gallery-release
cleangallery-release
before copy all the examples.- Improve
hello-world
example.
- Fix
radiusY
parameter inellipse
path. - Fix
gulp build-docs
link parser. - Fix
server-agent-phantomjs
. - Minor cosmetic improvements on gallery examples.
- Change
isExpression
toisExpr
. - Remove
vars.defaultDuration
. - Change
DEFAULT_DURATION
to immutable1f
. - Move
rgb
function tocolor-functions
plugin. - Change
typewriter
text task cursor parameterization to a similar way of CSS properties.
- (DEV) Harmonize the internal call parameters.
- Set
parseTimeHandler
to public. - Set
calcExpr
,ifExprCalc
,ifExprCalcNum
to public. - Remove
defaultDuration
from the gallery. - Improve cross-browser CSS support.
- Adapters have access to ABeamerArgs.
- Redesign the render loop to support wait functions.
- Improve
README.md
. - Redesign
gallery/animate-speech
.
- (DEV) Add plugins to
exact
framework. - (DEV) Add
teleport.sh
test script. - Add
DEFAULT_FADE_DURATION = '400ms'
. - Add
color-functions
plugin withrgb
andrgba
functions. _DOMElementAdapter
can sync HTMLMediaElementcurrentTime
property._DOMElementAdapter
check ifimg
src
is loaded, if not addswaitFor
to wait until loaded.- Add First implementation of custom
waitFor
. _DOMElementAdapter
handle Animation property waitFor parameter.
- Fix
gulp build-gallery-gifs
links. - Improve CSS properties teleportation.
- Improve the
gulp bump-version
.
- Add
npm before-*
commands to reduce the errors when abeamer is published.
- Add Easings, Oscillator and Path handlers by Id.
- Lists command line utility options in the dash format.
- Add print
http://localhost:${port}/?dir
toabeamer serve --list-dir
. abeamer serve --list-dir
sorts the listing, and places directory names first.- Add
class
property animation. gulp build-docs*
andbuild-gallery-release
with local and online links.gulp README-*
convertsREADME.md
links to local or online.- Improve documentation.
- Fix
gallery/localization
text label.
- Fix typings.
- Fix
hello-world/main.scss
clip-path.
- Fix
.npmignore
.
- Fix links and fixed phrases in documentation.
- First Release