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.
- Repair release: include sources in the 'files' of package.json
- Remove .npmignore and rely on 'files' alone.
- Add TypeScript type declarations
index.d.ts
(#29 #30) - Release UMD bundle via Unpkg.com (#32)
- Add dev dependency: yamdog (#34) and terser (#32)
- Add navigational links to README
- Add source code links from API docs to GitHub.
- Add GitHub Pages for Nudged.
- Add GitHub action job for testing type declarations.
- Generate API docs with yamdog instead of ad-hoc tooling. (#34)
- Improve documentation all around.
- Minify standalone builds by default (#32)
- Fix a property name typo in transform.toMatrix documentation.
- Remove unused dev dependencies: async, lodash
- Add dependency status badge in README
- Write "See also" section in README
- Write CHANGELOG.md (#35)
- Improve error message in
nudged.estimate
regarding nullishparams.estimator
property. (#37) - Migrate continuous integration from Travis CI to GitHub Actions CI (#33)
- Improve test output: replace outdated tap-spec with tap-arc
- Upgrade standalone module bundler: browserify
- Upgrade code style guide: standard
- Upgrade version module generator: genversion
- Improve wording in README: Acknowledgements, Guidelines, Versioning
- Fix robustness issues relating to near-zero determinant in
R
,TS
,TR
, andTSR
estimators (#31) - Repair error message bug in
nudged.estimate
(#37)
The TS, TR, and TSR estimators now always fall back to translation when domain and range provide only a single point pair for estimation. Previously this was not guaranteed in rare edge cases due to floating point rounding errors. Therefore, if your application had some additional checks to choose T for single point situations over TS, TR or TSR, those additional checks can now be safely removed.
The library switched from object-oriented to pure functional paradigm.
- Add namespaces
nudged.estimators
,nudged.transform
,nudged.point
, andnudged.analysis
. - New analysis tools to compute estimation error:
nudged.analysis.mse
for mean-squared error andnudged.analysis.rss
for residual sum of squares. - Generate API documentation from selected source code comments. (#23)
- Breaking: whole API was rewritten to follow more functional paradigm instead of object-oriented.
- Breaking: arrange code and API into namespaces.
- Breaking: code base uses ES6 syntax instead of ES5.
- Migrate test suite from
mocha
totape
- Breaking: remove classes Transform and Point. Use nudged.transform and nudged.point namespaces instead.
- Ensure your environment is compatible with ECMAScript 2015 (ES6)
- Use
{ x: 1, y: 2 }
instead of[ 1, 2 ]
to denote a point. - Use
{ a: 1, b: 2, x: 3, y: 4 }
instead ofTransform
to denote a transformation. - Call
nudged.estimate({ estimator, domain, range })
instead ofnudged.estimate(estimator, domain, range)
- Call
nudged.estimators.TS
instead ofnudged.estimateTS
. The same goes for all the estimator types. - Use pure functions like
nudged.transform.toMatrix
andnudged.point.distance
to work with transformations and points instead of methods ofTransform
andPoint
classes.
- Add
nudged.createFromString
to enable creating a Transform from CSS matrix string. (#21)
- Repair weird characters in docs.
- New translation estimators:
nudged.estimateL
,nudged.estimateX
, andnudged.estimateY
- New method:
transform.toString()
that returns a CSS transform-function string.
- A slight efficiency improvement in
nudged.estimate
function. - Restructure and partly rewrite the main documentation.
- Migrate continuous integration from travis-ci.org to travis-ci.com.
- Update Git workflow: drop development branch
- Alias for
Transform#equals()
:Transform#equal()
- New methods for
Transform
:almostEqual
,add
,subtract
,negate
,norm
. (#19) - Expose
Transform.EPSILON
tolerance variable.
- Assing methods via Transform class prototype instead of patching in constructor. (#18)
- Repair near-zero floating point issues in
estimateTR
andestimateTS
(#16)
- New alias for
Transform
methodmultiplyBy
:multiplyRight
(#12) - Add prebuilt transformations:
Transform.R90
,.R180
,R270
, andX2
. (#13) - Add new estimator type
I
. (#14) - Add
.npmignore
file for more compact npm releases.
- Improve code style: replace
jshint
withstandard
- Use
genversion
to generate the version property. - Improve documentation on
estimate
function andTransform.IDENTITY
(#8)
- Add
Transform
serialization methods:createFromArray
,toArray
(#11) - Add new demo: Tokyo metro map viewer
- Improve
Transform
property documentation. (#10) - Upgrade dev dependencies.
- Improve tests on
nudged.create
.
- Use correct SPDX expression in license.
- Add
nudged.create
to constructTransform
objects with ease. - Add reference to the founding M.Sc. thesis of Nudged.
- Improve documentation on
Transform#multiplyBy
,Transform#equals
,Transform#get_matrix()
, andTransform.IDENTITY
. (#7 #8 #10)
- Reference to the math involved in the main algorithm.
- Add project badges for npm version and travis.
- Add more package keywords.
- Add new example: nudged-taataa
- Set up Travis CI integration.
- Add estimator for translation:
nudged.estimateT
- Add estimator for scaling:
nudged.estimateS
- Add estimator for rotation:
nudged.estimateR
(#4) - Add estimator for translation-scaling:
nudged.estimateTS
- Add estimator for translation-rotation:
nudged.estimateTR
- Add
Transform
manipulation methods:translateBy
,scaleBy
,rotateBy
,multiplyBy
. (#5) - Add general
nudged.estimate
method. - Add a multi-touch gesture example app with mouse support.
- Write documentation for pivoted transformation.
- Add package keywords.
- Breaking:
Transform#getMatrix
now returns an object instead of an array of arrays. - Improve documentation, illustrations, and example thumbnails.
- Improve pivoted estimator
estimateFixed
. - Simplify
nudged.estimate
regarding single point pairs. - Improve example app.
- Improve transformation documentation.
- Improve documentation intro and add a link to the example app.
- Implement a fixed point estimator:
estimateFixed
- Implement a new
Transform
method:getInverse
- Write an example app.
- Add package logo.
- Refactor: divide project index to dedicated function modules.
- Improve introduction and documentation.
- Improve the main estimator to working condition:
estimate
- Add methods for
Transform
:getMatrix
,getRotation
,getScale
,getTranslation
. - Write documentation for Install, Usage, and API.
- Improve test suite.
- Set up the package.
- Sketch
estimate
function andTransform
class. - Set up initial test suite.