Development Log

Follow our progress as we continue to expand the feature set of our online industrial simulation software.

May 10, 2024

Version 0.10

Fixes and framework enhancements for ProtoTwin Simulate & Connect.

Features

  • Added ability to rename components.
  • Added automatic placement when importing, ensuring that the bounding box is placed directly over the origin.
  • Added better motor property defaults when created through a transport surface.

Fixes

  • Fixed some FBD edges not being rendered as activated when connected to a single block output.
  • Fixed RTRIG and FTRIG blocks not working correctly.
  • Fixed select property options in the inspector sometimes not getting updated.
  • Fixed console not displaying any errors that occur when loading.
  • Fixed deserialization issue for handles to the base CreatorComponent type.
  • Fixed creator components failing to remove some components on initialization.
  • Fixed creator components failing to remove components from descendant entities on initialization.

May 6, 2024

Version 0.9

Introduction of FBD SoftPLC for controls testing in addition to fixes and enhancements for ProtoTwin Simulate.

Features

  • Added support for Function Block Diagram (FBD) SoftPLC programming to the script editor.
  • Added physics visualization view for debugging physics-related issues.
  • Added accelerometer component.
  • Added additional "Mesh" import recentering option for improved center-of-mass approximation.
  • Added "Axis Locks" property to the physics component, allowing translation/rotation to be restricted in/about specified principal world axes.
  • Added "Flags" decorator, supporting enum bit flag properties.
  • Added "component.requireInitialization()", causing the referenced component to be immediately initialized.

Fixes

  • Fixed the suction gripper component sometimes attempting to grip its own rigid body.
  • Fixed a crash when changing the body type of a collider component to "Attached" if there is no rigid body on an ancestor entity.
  • Fixed a crash when deleting an entity that was used as the base for a joint.
  • Fixed the collision geometry for "Attached" bodies not updating when the entity was moved.
  • Fixed box collision geometry not respecting graphics component scale for graphical meshes.
  • Fixed box and sphere collision geometry including descendant entities that have their own collision geometry.
  • Fixed entities with joints that were created by creator components sometimes jumping to incorrect positions.
  • Fixed rigid bodies on movement surfaces failing to awake after the movement surface velocity is set to a non-zero value.
  • Fixed the "Multiple" variant of the bounding box physics query sometimes reporting the same entity multiple times.
  • Fixed potential non-determinism when using the built-in "Sequence" type.
  • Fixed recentering failing when importing the same asset multiple times.
  • Fixed the performance monitor sometimes failing to record data for every timestep.

Optimizations

  • Improved frame consistency in VR for higher refresh rates.

Breaking changes

  • Component signals have been moved to an "io" property on the "Component" type. Please contact us to recover older models.

March 18, 2024

Version 0.8

Fixes, optimizations and framework enhancements for ProtoTwin Simulate.

Features

  • Added analytics for data collection and visualization with scripting API.
  • Added support for Virtual Reality (VR) using WebXR.
  • Added specular antialiasing to the PBR shader.

Fixes

  • Fixed FPS display in the performance monitor sometimes failing to render correctly.
  • Fixed grid shader line thickness not changing with distance.
  • Fixed an issue where creating a custom material could recall properties from the previously created custom material.

Optimizations

  • Improved frame consistency by reducing render spikes and frame skipping.
  • Improved PBR shader performance.

March 4, 2024

Version 0.7

Fixes, optimizations and workflow improvements for ProtoTwin Simulate.

Features

  • Added synchronization for elements imported from Onshape.
  • Added support for importing models into other models.
  • Added improved syntax and semantic highlighting to the integrated script editor.
  • Added option to select the element (assembly / part studio) to import from Onshape.

Fixes

  • Fixed creation of redundant "occurrence" entities when importing from Onshape.
  • Fixed incorrect recentering when importing an asset multiple times.
  • Fixed incorrect scale being applied when duplicating entities.
  • Fixed transport surface motor property not getting cleared when the bound motor component is removed.
  • Fixed custom physics not getting applied after changing the collider type from "None".
  • Fixed textures for custom materials not getting applied.
  • Fixed animation component causing flickering when repeating.
  • Fixed "unsaved changes" dialog not being displayed when switching between scripts.
  • Fixed built-in environment map textures getting embedded into saved models.

Optimizations

  • Improved performance when opening and saving models.
  • Reduced the file size of saved models.
  • Improved application loading time by reducing asset file sizes.
  • Improved rendering performance of the grid shader.

February 12, 2024

Version 0.6

Fixes and framework enhancements for ProtoTwin Simulate.

Features

  • Added support for curved transport surfaces of constant radius.
  • Added support for displaying/modifying signal properties in the inspector.
  • Added support for changing the non-uniform scaling of graphics components via the transform gizmo.
  • Added simulation speed selection to the control bar.
  • Added loading progress bar when opening models.
  • Added physics settings for constraint iterations and maximum depenetration velocity.
  • Added graphics setting for changing the environment-based lighting brightness.
  • Added API Documentation site for scripting.

Fixes

  • Fixed motors failing to immediately respond when the target position or velocity is set every frame.
  • Fixed highlighting entities when hovering over component dropdown options in the inspector.
  • Fixed component initialization functions not getting called for components added by other components.
  • Fixed a crash when cancelling after clicking to open a model.
  • Fixed missing meshes after importing glTF assets.
  • Fixed imported materials with the same base color but different opacities from being treated as the same material.
  • Fixed transport surface normals being determined incorrectly, resulting in some edge catching.
  • Fixed ambient lighting not getting applied to all entities.
  • Fixed Onshape thumbnails for models belonging to enterprise accounts.

Breaking changes

  • Sensors, distance sensors, creators and deleters no longer detect kinematic physics bodies by default.

January 31, 2024

Version 0.5

Fixes and framework enhancements for ProtoTwin Simulate.

Features

  • Added support for physics collision layers.
  • Added the ability to generate and switch between environment maps.
  • Added import option for simplifying meshes.
  • Added import option for recentering transform origins.
  • Added setting for changing the physics solver.
  • Added setting for changing the shadow quality.
  • Added setting for changing ambient lighting.
  • Added setting for controlling gamma correction.
  • Added automatic determination of shadow orthographic projection size.
  • Added graphics component property for configuring whether the entity casts shadows.
  • Added logarithmic depth buffer, reducing z-fighting at distance.
  • Added warning when switching away from the script editor with unsaved changes.
  • Added utility function for waiting on multiple futures.

Fixes

  • Fixed a crash when selecting mesh features on detailed meshes.
  • Fixed a crash when reparenting entities with physics to the world.
  • Fixed a crash when creating multiple scripted components with the same name.
  • Fixed dynamic rigid bodies catching on the edges of transport surfaces.

Optimizations

  • Reduced memory usage for models containing large numbers of entities.
  • Improved performance when importing large glTF assets.
  • Automatically optimize imported meshes for rendering performance.

Breaking changes

  • Bindable type renamed to Signal.

December 22, 2023

Version 0.4

Initial beta release for ProtoTwin Simulate.

  • Rework non-uniform scale as a graphics component property instead of a transform component property.
  • Created custom physics collider software for generating a convex decomposition of meshes.
  • Fixed bug causing non-determinism in the physics engine.
  • Added instanced blinn-phong shader.
  • Added physically-based grid shader.
  • Added custom dropdown component to the inspector.
  • Added entity creator and deleter components.
  • Added volumetric and distance sensor components.
  • Added servo motor component with control and stall properties.
  • Added dynamic physics joints.
  • Added mesh feature selection by selecting edges, curves and normals.
  • Added physics materials with dynamic/static friction and restitution.

September 7, 2023

Version 0.3

Implementation of core features for ProtoTwin Simulate.

  • Display dot indicating that there are unsaved changes to script components.
  • Fixed normal map not being visible when importing GLB files.
  • Added console to display logs from script components.
  • Added window to display the current simulation time, speed, number of entities and bodies.
  • Added handle type to allow components to reference other components and entities.
  • Added documentation to the TypeScript API for classes, functions and properties.
  • Added intelisense for types imported from other script components.
  • Added auto-import for built-in and user-defined types in the script editor.
  • Added copy-paste to entities for the hierarchy and transform gizmo.

August 22, 2023

Version 0.2

Bug fixes and improvements for ProtoTwin Render.

  • Load textures from content delivery network.
  • Fixed bug when loading environment maps.
  • Added new import tab to support importing CAD from Onshape.
  • Added main website.

August 12, 2023

Version 0.1

Initial beta release for ProtoTwin Render.

  • Added navigation view which hides the explorer and inspector.
  • Fixed custom and imported materials getting purged when they were not used.
  • Added displacement maps for custom materials.
  • Fixed inspector from flickering when live-update is enabled.
  • Fixed inspector not being updated when adding or removing core components.
  • Serialization and deserialization of custom materials.
  • Allow naming entities and finding entities by name.
  • Added animation component.
  • Added performance monitor to display FPS, simulation/physics/scripting/render time, draw calls, triangles and memory consumption.
  • Fixed resetting models and raycasts with meshes.
  • Fixed shadows for transparent entities.
  • Added transform gizmo for translating, rotating and scaling selected entities.
  • Added model settings.
  • Improved camera controller implementing smooth scrolling, panning and orbiting about non-origin points.