This repository has been archived by the owner on Apr 15, 2022. It is now read-only.
Releases: PBS-KIDS/Platypus
Releases · PBS-KIDS/Platypus
Platypus v0.11.9
Minor Changes
- TiledLoader: Added the ability to handle tile sets with margin and spacing (647c3c4) and layer offsets (8ecd4bc).
- Updated Vector to handle Vector-like objects on set up (1de32bd).
- Added "rotate" listener and "orientation-updated" event to LogicRotationalMovement (63321e1, e036fba).
- RenderContainer now accepts
tint
as a string of the form"#ffffff"
in addition to the numerical0xffffff
form (9fff317). - Added a RenderText component. This wraps a
PIXI.Text
display object in a Platypus component for use with Platypus entities (97f5734).
Bug Fixes
Platypus v0.11.8
Minor Changes
- RenderContainer has been optimized so that a given entity will only do at most a single check to determine whether it's on camera, rather than two checks.
Bug Fixes
- RenderSpine has been fixed so that its entity will not be loaded until it's ready to be rendered.
Platypus v0.11.7
Minor Changes
- Set up Scene to trigger "scene-live" without waiting for the end of a SpringRoll state transition. This allows the camera and rendering systems to gear up and show visual content before the transition-in effect begins.
Platypus v0.11.6
Bug Fixes
- Fixed Messenger to handle space-delimited events as individual events like SpringRoll's implementation.
- LogicButton has been updated to accept malformed pointer events without crashing.
- RenderSpine now correctly handles an entity's rotation property.
Platypus v0.11.5
Bug Fixes
- A bug in AudioSFX has been fixed to prevent stale audio references from being retained.
- LogicButton has been updated to re-position correctly when
bottom
,left
,right
, ortop
properties are dynamically changed. - HandlerRender now pauses correctly when pause events are triggered.
Platypus v0.11.4
Minor Changes
- RenderSpine has been updated to support pixi-spine 1.4.0 and the RenderContainer component. Also added support for relaying Spine events.
Bug Fixes
- LogicRegionSpawner has been fixed so that it won't break on removal from scene if no regions have been specified.
- PIXIAnimation textures are unloaded at the end of a scene to prevent loading issues with following scenes.
Platypus v0.11.3
Minor Changes
- RenderDebug: This component now accepts color properties to better distinguish between collision regions.
- TiledLoader: "scene-live" is not triggered until all map entities are fully loaded.
- AudioSFX now permits adjusting audio pan while a sfx is playing.
Platypus v0.11.2
Minor Changes
- Added a Jasmine-based test-runner to facilitate unit testing going forward. A few basic unit tests are in place.
- HandlerCollision: Added a
getShapeCollisions()
method to allow for shape-checking and atarget
parameter to collision events to list the entity on which the collision event is initially triggered. - CollisionShape: Added a
moveXY()
method to complementmoveX()
andmoveY()
methods. - Removed the example component "ComponentExample.js". It's now included as part of the Platypus SpringRoll Template
- Updated EntityController to allow a drag motion to change joystick direction.
- LogicPortable: Added a "force-release" method so portable objects can be released apart from collision dynamics.
Bug Fixes
- EntityContainer now correctly adds pre-built entities to the list of entities.
- RenderContainer now correctly handles translation and transformation for entities using an
Orientation
component. - RenderTiles has been updated to correctly support PixiJS v4.5.
- Camera's
windowToWorld
method has been fixed to correctly report camera position. - Fixed a glitch in LogicDirectionalMovement that caused "up" to be reported for "down-left".
- Fixed LogicButton's toggle mode to accept pointer events.
- Orientation "replace-transform" now accepts a string as documented.
Platypus v0.11.1
Bug Fixes
- PIXIAnimation now works correctly with tinting when using PIXI.CanvasRenderer.
- RenderContainer now supports tinting children when using PIXI.CanvasRenderer. (The logic used here should probably be revisited if the status of pixi.js issue #2328 changes.)
Platypus v0.11.0
Major Changes
- RenderContainer: This new component encapsulates all rendering at the single entity level. This provides a better structure for handling entities composed of more than one render component. RenderContainer handles all display object manipulation so that an entity can be moved or transformed as a whole unit rather than individually manipulating multiple components. The RenderContainer component is automatically added by other render components if it does not already exist on the entity.
- An Entity will wait until its dependent components are completely loaded before being added to the world.
- The following deprecated items in v0.9.x have been removed: LogicCanvasButton component, HandlerRender's
acceptInput
property; RenderSprite'sacceptInput
property, "stop-sprite" event, and "play-sprite" event; and LogicButton's "down" state.
Minor Changes
- Entity: Added a
toJSON
method that will return the entity as a JSON definition that can be used to rebuild the entity via EntityContainer'saddEntity
method. This also addstoJSON
methods to the following classes needed by Entity: Component, CollisionShape, and DataMap. - HandlerCollision: Added a
getPointCollisions
method to check a coordinate against the world's colliding entities. - Camera: Moved
windowToWorld
andworldToWindow
methods to the Camera from HandlerRender. - LogicAttachment: Made attached position dynamic with "change-attachment-offset" event listener.
- HandlerRender now exposes its PIXI Container on the layer entity as
worldContainer
. - AABB: Added
collidesPoint
method to detect intersection exclusively (as opposed tocontainsPoint
which is an inclusive check).
Bug Fixes
- StateRender now pairs with a render component so visual behavior is not corrupted for entities having more than one state-based render component.
- Entity: Fixed auto-generation of entity ids to prevent duplicates, and fixed stored event triggers to report a value of -1 if there are message ids matching the stored event.
- Fixed HandlerLogic to be aware of its own looping state for all logic loop events.
- Fixed CollisionBasic so that it cannot be added to the collision system multiple times.
- Fixed LogicButton's toggle to work correctly with pointer events.