Skip to main content

Changelog

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 and ElasticNode with ParticleGroupNode.
  • Introduced particleFlags property for ParticleGroupNode. 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 for SpriteNode.
  • 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 and spriteBlendMode 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


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 like DeleteCommand 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 and backgroundColorChanged signals from Scene.
  • Fixed removeAllChildren bug
  • Fixed exceptions with CutCommand and PasteCommand (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

ActionKeyboard Shortcut
Selects
Circlec
Rectangler
Polylinep
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