-
Notifications
You must be signed in to change notification settings - Fork 2
Changelog
diegodoumecq edited this page Feb 16, 2017
·
18 revisions
- Made memoization mandatory, its no longer opt-out
- JoyMap no longer parses all buttons on each poll and now handles that logic on button data request
- Mappers now only receive the player object as argument
- Removed player name because it wasn't necessary and bloated the API
- Made canvas example's use of mappers more interesting
- Added support for multiple gamepads to stateLog example
- Improved flowtype type names
- Updated flowtyped declarations
- Implemented Exporting and Importing of Player configurations
- Cleaned up the canvas example of every dependency and ES6 feature so that it's simpler and less difficult to understand for new js developers
- Added option to memoize button, stick and mapper results
- Added fast-memoize as a dependency to do the memoization
- Removed all unnecessary auxiliary structures being updated on each poll, improving performance greatly
- Now both createJoyMap and createPlayer each return one object composed entierly of functions
- In consequence, added a bunch of setters and getters to both
- Refactored buttonAliases, stickAliases, buttonBindings, stickBindings and aggregators into just buttons and sticks that handle indexes directly
- Added functions to handle said indexes making changing buttons and sticks more flexible and way simpler with less concepts thrown around
- Renamed aggregators as mappers and now they are only used when queried
- Player creation has now been delegated entirely to the user
- Players auto connecting to unused gamepads is now an option
- player.getButtons now returns all of the buttons, some of the buttons or only one depending on the arguments given
- Same thing goes for getSticks
- Moved all non-inline type definitions to the types file
- Updated all of the examples so that they now use the new API
- Replaced es6 classes with factory functions to discourage classical inheritance and to make things simpler
- Refactored the bundling process: now the output is every single file but transpiled and paired with the original file with a .flow extension added. Apparently that's how it must be done. For now
- joyMap.removePlayer now takes a player and not a name as an argument
- Improved canvas example to allow multiple gamepads that can connect and disconnect
- Added alphanumeric checks to all functions that took names as arguments
- Added a proposal for event handling to roadmap
- Started using a Changelog
- Changed how sticks work, instead of having a value of type object like { x: 0, y: 0 } they now are simple arrays of numbers [0, 0]
- Sticks can now have any number of axes instead of being forced into only having 2
- Implemented full rebinding support
- Added the data structure parsedGamepad for ease of use
- Built JoyMap from the ground up
- Refactored it several times, including one complete rewrite
- Decided to have an actual README
- Replaced all mentions of npm with yarn
- Changed the dev environment several times
- Added three examples of usage using different techniques
- Removed the lodash dependency from the library
- Added flowtype support
- Exported flowtypes of library using babel-plugin-transform-flow-comments
- Realized flowtype comments are not being maintained
- Regretted spending so much time on flowtype comments