Changelog
Version 0.7.9 - September 22, 2024
- Added
AnimatedSpriteNode
. - Fixed audio playback issues.
Version 0.7.8 - September 15, 2024
- Scene loading will succeed even if there are unresolved web assets.
- Node: Added
toLocal/toGlobal/fromScreen/toScreen
methods. - Fixed issue with
ParticleGroupNode
. - Fixed
SceneDrawer
issue.
Version 0.7.7 - September 11, 2024
- Added 'WheelJointNode': Create more realistic wheel suspensions.
- Minor scripting updates.
Version 0.7.6 - July 27, 2024
- Added 'blendMode' property for GraphicsNode.
Version 0.7.5 - June 15, 2024
- Enabled texture liquification.
- Improved scene thumbnails.
Version 0.7.4 - March 25, 2024
- Added CapsuleNode.
- Mirror tool improvements.
- Fixed 'isNaN' issue with NumberEditor.
Version 0.7.3 - March 13, 2024
- Added Czech Translation (thanks Tixe!).
- Updated packages.
- Improved validation (using zod).
Version 0.7.2 - January 24, 2024
- Added Conveyor Belt tool.
- Fixed performance issues with JointNode selection.
Version 0.7.1 - December 29, 2023
- Added tool to create Voronoi Cells.
- Added
getLastMouseEvent
method for InputManager. This allows getting the mouse position from scripts. - Added
getReactionForce/getReactionTorque
for JointNode. This allows making breakable joints from scripts. - Added some missing icons.
- Enabled mirroring of ParticleGroupNode.
Version 0.7.0 - December 16, 2023
- Replaced
LiquidNode
andElasticNode
withParticleGroupNode
. - Introduced
particleFlags
property forParticleGroupNode
. This allows for different types of particles (water, spring, elastic, viscous, powder, tensile, color mixing and static pressure). - Added tool for purging unused assets in the Assets Library.
Version 0.6.7 - December 5, 2023
- Added clamp viewport plugin.
- Added defaultViewportPluginsOptions settings.
- Viewport refactoring.
- Fixed ParticleEmitterNode issue.
Version 0.6.6 - December 1, 2023
- Added Sprite Action.
- Better support for parent-child cases (e.g. copy, paste, move, snap).
- Fixed code duplication.
Version 0.6.5 - October 31, 2023
- Added audio support using Tone.js.
- Allow for dynamic imports in scripting.
- Fixed settings issue (grid options are now saved).
- Updated Vietnamese translation.
- Added
clear
method for KeyboardManager. - Minor changes in TextAssetEditor.
Version 0.6.4 - October 7, 2023
- Added
Maze Tool
. - Added
tint
property forSpriteNode
. - Augmented default scripting context (added console, alert, confirm and prompt).
Version 0.6.3 - September 23, 2023
- Added "Scene Search" functionality (see this faq).
- Added option for authenticating with Google.
- Added
DebugLayer
to allow for visual debugging (contacts, bounding rectangles, etc.).
Version 0.6.2 - September 9, 2023
- Fixed issue with
Node.getSceneBoundingRect
. - Fixed issue with
delete
keyboard shortcut. - Added 'bubble' particle emitter preset.
Version 0.6.1 - September 1, 2023
- Added Tools Menu
- Added
TilingSpriteNode
. - Updated packages.
- Fixed redo issue for Liquify, Elastify and MirrorNodes commands.
- Allow moving child nodes.
- Increased
MAX_BODY_DAMPING
to 1.0.
Version 0.6.0 - July 7, 2023
- Joint anchors are now defined as local points.
- More dynamic imports to reduce load time.
- Minor bug fixes.
Version 0.5.21 - May 20, 2023
- Allow changing font name and size for TextNode.
Version 0.5.20 - May 19, 2023
- Scene Rating: Allow users to rate scenes.
Version 0.5.19 - May 6, 2023
- Implemented infinite scrolling for Scenes Browser.
- Updated Vietnamese translation.
- Updated packages.
Version 0.5.18 - March 17, 2023
- Added
spriteScale
andspriteBlendMode
properties for ParticleGroupNode
Version 0.5.17 - March 11, 2023
- Particles
- Fixed SpringNode delete issue
Version 0.5.16 - March 6, 2023
- Allow snapping on paste
- Fixed TracerNode mirroring issue
Version 0.5.15 - January 26, 2023
- Added Springs.
- Fixed issue in Settings Editor.
- Fixed some memory leaks.
- Added user profiles.
- Lazy loading of fonts.
Version 0.5.14 - November 4, 2022
- Added support for Graphs.
- Caching script evaluation results (performance improvement).
- Not automatically selecting nodes when they are added in the Scene.
- Disabled local signup (use Facebook login instead).
- Updated Vietnamese translation.
- Minor changes for faster loading.
- Added
linearVelocity
(read-only) property for BodyNode.
Version 0.5.13 - September 25, 2022
- Updated the text tool to visualize the text to be added.
- Using sprites (instead of graphics) for Revolute and Weld joints.
- Fixed some memory leaks.
- Many internal improvements.
Version 0.5.12 - August 30, 2022
Snapping
- Implemented object snapping.
Version 0.5.11 - August 13, 2022
Property Editor Revamp
- Added the ability to expand/collapse sections.
- Added section icons.
Version 0.5.10 - July 15, 2022
- Added Selection Editor.
- Performance improvements.
- Fixed broken Facebook icon.
Version 0.5.9 - July 9, 2022
- Added StatusBar.
- Fixed some minor issues.
Version 0.5.8 - July 7, 2022
- UI Revamp (Dockable layout).
- Added support for sub-menus.
Version 0.5.7 - June 27, 2022
- Fixed issue with linear/angular damping limits.
- Updated Vietnamese translation (thanks to Box).
- Distance Joint performance improvements.
Version 0.5.6 - June 24, 2022
- Performance improvements (TracerNode, RevoluteJointNode)
- Added linear/angular damping properties for BodyNode
Version 0.5.5 - June 19, 2022
- Added Tracers
Version 0.5.4 - June 17, 2022
- Minor changes
Version 0.5.3 - June 6, 2022
- Fixed issue with Asset Selector.
- Improved visual feedback when moving objects.
- Fixed issue with Scene cloning (Assets Library is now cloned too).
Version 0.5.2 - June 2, 2022
Liquid and soft body simulation
- Added the ability to create liquids and elastic bodies.
Other improvements/fixes:
- Improved selection performance.
- Fixed issue with
TextNode
editing. - Fixed issue with mirroring of
PolylineNode
. - Fixed some memory leaks.
Version 0.5.1 - May 25, 2022
Scene's y-scale is no longer inverted
- Using an "inverted" container instead.
Added methods for getting:
- Node's local transform (getLocalTransform())
- Node's scene transform (getSceneTransform())
- Node's bounding rect (getBoundingRect())
- Node's scene bounding rect (getSceneBoundingRect())
Replaced selected
property with isSelected()/setSelected() methods
Better drawing for DistanceJoint
Scene size validation
- Checking Scene size before posting it to the server. (Max size: 1mb)
Version 0.5.0 - May 16, 2022
Compression of Scene data
- Using compression to reduce the size of the scenes saved in the database.
Version 0.4.6 - April 29, 2022
Added gravityScale
property
Added mobile view
- Physion app is rendered in view-only mode for mobile devices
Less important stuff
- Using portals for dialogs
- Loading time improvements
- Lazy loading of Scene thumbnails
- Updated Vietnamese translation
Version 0.4.5 - March 29, 2022
Bug fixes
- Handling polygons with opposite orientations in boolean operations.
- Fixed issue with not being able to save white fill color.
- Skipping collinear triangles when triangulating.
Added "shortcuts" for BitfieldEditor
- Added "check all" / "uncheck all" shortcuts.
Reduced bundle size
- Removed unused icons.
- Using custom (more lightweight) PIXI bundle.
Version 0.4.4 - March 14, 2022
Added MirrorCommand
- Allows mirroring of selected nodes on a user-defined axis of symmetry.
- More info: https://physion.net/docs
Version 0.4.3 - March 7, 2022
Boolean operations fixes
- Avoid some corner case issues by rounding-up the result polygon (6 decimals)
- Handle boolean operations on bodies with attached joints.
Performance
- Skipping internal updates for temporary nodes.
- Do not attempt polygon decomposition in the case of
SpiralNode
. - Avoid repeating the actual boolean operation on every redo.
SpriteNode selection
- Fixed issue with
SpriteNode
selection not being visualized.
Fixed CutCommand issues
CutCommand
will now also delete dependant nodes (just likeDeleteCommand
does)
Version 0.4.2 - March 3, 2022
Added WeldJointNode
Version 0.4.1 - February 27, 2022
Added getShape
method for Nodes
- Allow each Node to define its shape (polygon)
- Allow invisible Nodes to be selected.
- Better selection of nodes in the Scene.
Boolean operations fixes
- Disable boolean operations if joints are selected.
- Order of boolean operations is now based on z-index.
Minor fixes
- Fixed issue with not being able to set alpha to zero.
- Exposed
Assets
for scripting (assets are now new-able). - Fixed sizing issue with
AssetsLibraryEditor
.
Version 0.4.0 - February 19, 2022
Scene Assets
Minor changes
- Included
Audio
in default context (scripting). - Fixed unhandled SVG command issue
- Fixed active design action bug
Version 0.3.1 - February 1, 2022
Minor changes
- Included
fetch
in default context (scripting). - Removed
followedNodeChanged
andbackgroundColorChanged
signals from Scene. - Fixed
removeAllChildren
bug - Fixed exceptions with
CutCommand
andPasteCommand
(when items were removed in wrong order).
Version 0.3.0 - January 29, 2022
Assets hosted on GitHub
- Physion Assets are now hosted on GitHub: physion-assets
- This allows for:
- Better management of assets
- Quick updates via a simple
git push
- User contributions (via pull requests)
Icons update
- Using a single icons sprite (instead of individual svg icons) to reduce the number of requests
Version 0.2.5 - January 17, 2022
Using safe-eval
for script execution
- Script execution context was limited: Only the
physion
object is now accesible from within scripts.
Added onEndContact
for scripting
- The
onEndContact
can now be implemented in a Node script. - This callback will be called when a contact ceases to exist.
Added removeAllChildren
method for Node
- This method can be called to remove all children of a Node.
- This can be used to 'clear' the Scene (e.g. in cases where you populate your Scene programmatically)
Google Analytics updated
Version 0.2.4 - January 14, 2022
Added move tool
- Allows to move selected items
- Enabled only if at least one item is selected
- Keyboard shortcut: "m"
- Movement visualization will be improved in the future
- Not 100% tested (might not work well with moving joints)
Fixed issue with moveNodes
function
- The function can now be used to move SpriteNodes too
Version 0.2.3 - January 13, 2022
Added some keyboard shortcuts
Action | Keyboard Shortcut |
---|---|
Select | s |
Circle | c |
Rectangle | r |
Polyline | p |
Snap to Grid | # |
Fixed toolbar issue
- Do not allow unchecking the active design action
Vietnamese translation update
- Corrected spellings
- Added new translations for some elements
- Modified some translations
KeyboardManager update
- KeyboardManager is not initialized by default. It will attach (and start monitoring key presses) when a new Scene is set and it will detach (and stop monitoring key presses) when the Scene is unset.
- Fixed issue: Long key presses no longer reset the original timePressed of the key
Version 0.2.2 - January 9, 2022
Added userData property
- This new property allows the user to set custom properties on each Node. Properties saved under userData will be saved with the Scene.
Example:
let circle = new physion.CircleNode();
circle.userData.foo = "bar"; // Saved with the Scene
circle.foo = "bar"; // Valid but not saved with the Scene
Using deep cloning of values for getState/setState
- Making deep copies of values when getting or setting the state of an object.
The previous behavior (of shallow copies) didn't work properly on values of type
object
Fixed JointNode bug
- Better handling of the case where a BodyNode is removed from the Scene before its dependant joints.
Fixed PropertyEditor bug
- Fixed issue with ObjectEditor value not being updated.
Fixed 'unsaved scene' warning
- The app was prompting the user to save the Scene although there were no unsaved changes.
Version 0.2.1 - January 8, 2022
Added Vietnamese translation
- Thanks to Box