. Coherent Labs

Changelog: Prysm

Prysm 1.38.0.5 – released 06 Mar 2023


Feature Introduce a new ‘UI Surface Partitioning” feature that gives the ability to split the UI in parts that will be rendered in separate textures. See the documentation for more details’
Enhancement Added documentation for the coh-composition-id, coh-partitioned, and coh-rendering-options
Enhancement Enhanced stroke rounded rects to use geometry instead of Path for better performance. This requires changes in shaders for custom backends.
Enhancement Implemented a full page capture feature that can serialize a loaded page to a binary blob for easier debugging
Enhancement Added support for null when setting style.[top|left|right|bottom]PX for unsetting the property
Enhancement Unreal Engine Added a way to ignore the automatic binding of specific UFunctions
Fix Fixed a crash when applying white-space property on input elements
Fix Fixed a deadlock that can occur during loading of images
Fix Fixed a regression with user images that may have caused crashes
Fix Borders having width less than 1px and using images/gradients as border-image-source are no longer disappearing
Fix Fix the disappearing of small border corners
Fix Fixed pausing animations with zero duration to render the correct state
Fix Fixed a potential crash when creating/destroying video elements or changing the src attribute
Fix Fixed a potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option
Fix Fixed a crash when nesting elements that use the clip-path property in an SVG
Fix Fixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option, leading to the missing texture errors
Fix Removed additional memory allocation for texture updates
Fix Fixed an assert in Debug configuration related to visual AABBs
Fix Fixed possible GPU hang due to failing Index buffer diagnostic check 16690 in the stock PS4 backend.
Fix Fixed wrong layout when using font-fit in a dynamically sized flex sub-tree
Fix Fixed inner HTML in localized content not displayed correctly unless wrapped in a single HTML element
Fix Fixed unnecessary request for an invalid texture from the backend in the Compositor sample
Fix Fixed incorrect handling of background-size single value extent and auto value
Fix Fixed possible assertion for a missing render target when having an element with both coh-composition-id and filter CSS properties
Fix Fix the occasional disappearing of SVGs used as masks
Fix Fixed SVGs not drawing correctly when using preserveAspectRatio="none"
Fix Unity Fixed submission validation errors for PlayStation 5
Fix Unreal Engine Fix retrieval of game viewport when multiple PIE processes exist

Exporter 2023.1.0 (LTS) – released 9 Feb 2023


Fix Aliases are now resolved correctly for placeholder components that are imported in different projects.

Prysm 1.37.0.1 – released 01 Feb 2023


Feature Added support for debugging with Visual Studio Code
Feature Added text-anchor property for SVGs
Feature Added movementX and movementY for mouse events
Feature Unity Add a window in Unity editor warning for known issues with specific Unity versions
Feature Unity C# Rendering backend support for Android with Vulkan
Feature Unity C# Rendering backend support for MacOS
Enhancement Added more meaningful debug logs for the lifetime events of images
Enhancement Provided a callback for whenever a user image is dropped before being used
Enhancement Reduced draws in SVGs when duplicate paths are present
Enhancement Each view can be inspected by multiple inspector instances
Enhancement classList add and remove work with more than one argument
Fix Fixed getBoundingClientRect for transformed elements.
Fix Fixed multiple sources in background-image delimited by whitespace being valid
Fix Address potential COM warnings related to XInput usage in samples
Fix Hidden elements are no longer redrawn.
Fix Fix threading issues when compositor is used
Fix Fixed parsing of font families in SetAdditionalFontFallbacks function caused by whitespaces
Fix Fixed leaking frame rendering data of discarded frames when using the multi-threaded paint option
Fix Fixed disappearing styles in the inspector styles tab on declarations edit
Fix Unity Removed GLES2 and GLES3 dependency for iOS.
Fix Fixed data-bind-style-transform swapped second and third matrix values
Fix Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.
Fix Fixed issues when appending multiple HTML, HEAD and BODY elements to a document
Fix Fixed a crash when destroying a view while tracing in the inspector.
Fix Stop tracing when the inspector frontend disconnects.
Fix Fixed launching the Player app on newer Mac OS versions

Prysm 1.36.2.1 – released 16 Jan 2023


Enhancement Unreal Engine Significantly reduced the size of the Unreal Engine installers for consoles by removing the most of the binaries present in the regular installer
Fix Fixed data-bind-style-transform swapped second and third matrix values
Fix Fixed a crash during GC tracing of events
Fix Fixed a deadlock regression with user images
Fix Fixed potential “Called EndLayer to a command buffer which has … saved states to restore!” warning when using backdrop filter
Fix Fixed a precision error when calculating font-fit when given high precision numbers from CSS
Fix Fixed the rendering of nested SVG elements that use clip-path
Fix Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.
Fix Unreal Engine Fixed installer logic that adds module dependency for Cohtml and CohtmlPlugin when installing over an existing game
Fix Unreal Engine Fix the crash when the inspector starts performance recording with screenshots enabled
Fix Unreal Engine Fix non-compiled shaders for Custom Effects because of Unreal Engine 5.1’s ODSC

Prysm 1.36.0.3 – released 19 Dec 2022


Enhancement Support for Sony PlayStation 5 SDK version 6.000

Prysm 1.36.0.1 – released 16 Dec 2022


Enhancement Implement optimization that caches SVGs used in elements so that the SVGs are not redrawn every frame
Enhancement Optimized approximating cubic curves into quadratic ones when doing font rendering
Enhancement Unreal Engine Make custom effects to work with dedicated layout thread
Fix Fixed virtual list parsing when there is a function call in the expression
Fix Unity Fixed Unity 2022.2 HDRP rendering when using the native D3D12 backend
Api Unreal Engine Removed support for old engines prior to Unreal Engine 4.27

Exporter 2022.4.1 (LTS) – released 9 Dec 2022


Enhancement Bindings overview tab can now be used for editing data-bindings instead of just previewing.
Enhancement Added ‘Auto renew’ option in the Bindings overview tab. When it is enabled all the data in the panel will be automatically updated.
Note that when the option is enabled the whole document DOM will be checked for changes and for large scenes this might produce some performance implications.
Enhancement Double clicking onto the split view line is going to hide/show the elements menu in the Bindings overview tab.
Fix Fixed alert about ‘timeline undefined’ error when navigating to symbol/symbol instance via clicking on the pen button in the Bindings overview tab.

Prysm 1.35.0.3 – released 05 Dec 2022


Feature Added mouse event type MouseLeave, which clears hover effects when the mouse leaves the view
Feature Implemented import.meta.url for ES6 modules for platforms using V8
Feature Implemented dynamic import for ES6 modules for platforms using V8
Feature Unreal Engine Support for Unreal Engine 5.1
Enhancement Reduced the amount of log messages caused by unsupported CSS syntax
Enhancement Non-inline SVGs are now shared between DOM elements in order to avoid re-rendering for each individual element
Enhancement Unity MacOS bundles support all CPU architectures
Enhancement Fixed possible incorrect generation of “streaks” when tessellating a path for filling. Note that this changes the tessellation result slightly, most noticeable when rasterizing thin fills.
Enhancement Improved error reporting of declaration parsing with custom variables
Enhancement Improved image decoding performance (sped up the automatic premultiplication of the alpha channel by 2x-3x depending on platform)
Fix Fixed a crash when modifying the DOM of an inline SVG
Fix Fixed a crash when using events outside of event handlers
Fix Fixed rem units not working with SVGs
Fix Fixed a leak when inspector network tab is disabled
Fix transform: translate/font-size with non-pixel units on SVG elements no longer causes an assert/warning
Fix Unity Fixed code stripping removing classes or methods for the JIT aware scripting backends
Fix Fixed a bug where part of the viewport gets clipped when the rendering resolution API is used and the size of the view’s render target is changed
Fix Unity Fixed a crash when not supported arguments are passed from JavaScript
Fix Unity Fixed a crash when using HDR on DirectX12 in Unity
Fix Fixed incorrect sampling of very thin elements using a large scale, that previously led to incorrect interpolation
Fix Fixed a crash when resolving calc expression with invalid parentheses
Fix Fixed elements to update their font after registered fonts without explicit font family are loaded
Fix Fixed scroll juddering when panning with touch or scrolling fast
Fix Fixed a crash during garbage collector tracing
Fix Fixed SVG used as masks being partially rendered sometimes
Fix Unity Removed GetNativeTexture call for Linux on each update loop
Fix Removed assert/log errors when an invalid url is provided to properties like background-image
Fix The getAnimations API now takes into account the display property of an element and its parents
Fix Fixed font family to be case insensitive
Fix Unity Removed redundant View’s BackdropFilter property
Fix Fixed parsing of inline styles containing various whitespace characters
Fix Fixed possibly incorrect gradient drawing on PlayStation platforms
Fix Fixed a crash when command processors are being reused
Fix Fixed em units to be calculated against the first parent with explicit font-size instead of the direct parent

Prysm 1.34.2.1 – released 17 Nov 2022


Feature Added support for text-decoration-line, text-decoration-color, text-decoration-thickness, text-underline-offset, text-underline-position and the text-decoration CSS properties
Enhancement Unity Mac OS bundles support all CPU architectures
Fix Fixed linking of iOS ARM64 builds
Fix Fixed scroll juddering when panning with touch
Fix Fixed potential double trace and crash of objects during V8 garbage collector tracing

Prysm 1.34.0.4 – released 10 Nov 2022


Feature Added API to remove arrays exposed by reference from JavaScript
Feature Dispatch window Error event for platforms using V8
Feature Add cohtml::ScriptCompiler for compiling scripts before loading for platforms using V8
Enhancement New documentation with improved usability and searching for Custom engines, Unreal Engine and Unity Engine
Enhancement Clarified System API usage – System API must be called on the thread that initialized the System, unless explicitly stated otherwise
Enhancement Support for PlayStation 4 SDK 10
Enhancement Optimized performance of font data preloading
Enhancement Added new API for creation/destruction of custom effects
Enhancement Gamepad events are now fired before JS timers execution on Advance
Enhancement Added warnings for registering an already registered gamepad and unregistering a non-registered gamepad
Enhancement Documented the new execution flow of resource commands throught the rendering backends
Enhancement Enhance batching to check for older combinable commands
Enhancement Added pdb files for the prebuilt Renoir backends
Enhancement Inspector now accepts shorthand declarations
Enhancement Style tags now display their content in the inspector
Enhancement Added the event name to the warning message when trying to remove non-existent event listeners
Enhancement Abort execution of newly loaded scripts after document unloading has started
Enhancement Unreal Engine Added support for Custom Effects in Unreal Engine 5
Fix Moved invocation of RegisterGamepad and UnregisterGamepad on the System initializing thread in GDK XBox samples for thread-safety
Fix Fixed log spam when inspector is enabled without an available network connection
Fix Fixed assert on Linux with Vulkan backend caused by wrong texture layout
Fix Fixed a crash when reloading pages using canvases and not calling ViewRenderer::Paint on all advanced frames
Fix Fixed inspector taking up memory space when disabled
Fix Fixed a case where the client’s backend can receive a DestroyTexture command for a user image before the WrapUserImage command
Fix Fixed a crash with std::map reading from JavaScript and a numeric string is used as a key
Fix Fixed forward fill mode animations to retain animated value on end when animation direction is reversed
Fix Fixed C4100 warnings in public headers, modules and samples
Fix Fixed bottom and right properties percent values being calculated against the width of the parent element
Fix Fixed assert when opening the inspector with Chrome language default different than English
Fix Fixed a crash when parsing background shorthand
Fix Fixed a crash when there are several elements inside element in a SVG
Fix Fixed !important order when used with custom variables
Fix Fixed a crash when importing a module that contains syntax errors
Fix Fixed a crash when performance handler is not passed
Fix Fixed hover functionallity for elements that are part of complex selectors
Fix Fixed a crash when registering and unregistering gamepads
Fix Fixed setting a gamepad object when creating GamepadEvent from JavaScript
Fix Fixed a crash when unregistering a gamepad twice
Fix Fixed a GamepadEvent related crash during garbage collector tracing
Fix Fixed a crash when parsing clip-path:ellipse with a single argument
Fix Fixed animations not playing when a new element is shown after immediately being hidden
Fix Fixed crash when there is no function handler in engine.on call
Fix Fixed border-radius not working until a certain proportion of width and radius
Fix Fixed style matching of CSS attribute selectors with empty value
Fix Fixed the crash when clipPath is used together with opacity in SVGs
Fix Fixed an assert on Vulkan when user texture layout is different from VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL

Exporter 2022.4.0 (LTS) – released 03 Nov 2022


Fix Fixed a .timeline undefined error that happened when editing bindings through the Bindings overview panel.
Fix Fixed data bindings not being displayed correctly when updating documents from version 2022.1.1.

Prysm 1.33.3.1 – released 21 Oct 2022


Feature Experimental support for inline layout background styles per row (color, images and gradients)
Fix Fixed elements leaving visual artifacts after being removed from the DOM
Fix Fixed a case where CSS variables will fail to be resolved
Fix Fixed a crash when certain SVGs have zero width/height

Prysm 1.33.1.2 – released 12 Oct 2022


Feature Added an interface for time zone support for Sony PlayStation and Nintendo Switch
Enhancement Implemented an optimization to reduce the number of render passes when rendering complex effects
Enhancement Added functionality and API to capture backend command buffers
Enhancement Unity Support for Android x64
Enhancement Introduced new backend API for resource barriers (see the rendering migration guide)
Enhancement Enhance batching to check for older combinable commands
Fix Fixed the growth of the stroke width for elements in SVGs to be bidirectional
Fix Unity Fixed binding between C# and JavaScript
Fix Fixed typescript definition of registering binding attribute
Fix Fixed order of custom element reactions when content is added through insertAdjacentHTML
Fix Fixed wrong indexing arrays with literal numbers in data-binding expressions
Fix Fixed crash in data-binding with complex expression and literal numbers indexing arrays
Fix Fixed the Date.now() time on Nintendo Switch.
Fix Fixed clipped text shadows when using line height which is less that the character height.
Fix Fixed background/mask-position when using a gradient as an image
Fix Fixed mask-position property when the mask-image is a gradient.
Fix Fixed a crash when changing the html background before the body element is created.
Fix Unreal Engine Fixed assert when custom effects are enabled
Fix Unreal Engine Fixed safe zone calculation with multiple viewports
Fix Unreal Engine Fixed texture drawing in atlas crash in Unreal Engine 5 with DirectX12
Fix Fixed the default value of stop-color in gradients defined in SVGs

Exporter 2022.3.1 (LTS) – released 28 Sep 2022


Enhancement Added an option to enable preserving of the current selection when publishing.
Fix Fixed one-pixel gaps for 9 slice with semi-transparent content.
Fix Fixed animations not being accessible from custom data binding attributes when data binding models are synchronized.

Prysm 1.32.1.2 – released 05 Sep 2022


Feature Added new interface for logging performance hints
Feature UE Added Live Reload option for different directories
Enhancement Changed custom css float param for the custom effects to an array. Maximum of 16 values
Enhancement Added a new API for the compositor for notification when composition is created
Enhancement Unity Support Android Vulkan native rendering
Enhancement Moved AGC Shader library from include to lib folder in the native packages
Enhancement Command buffers are pooled now, instead of reallocated every frame
Enhancement Automatic disabling of constant buffer optimization if custom shader mapping is used in the backends
Fix Fixed a crash when modifying the DOM of an inline SVG
Fix Fixed a hang when using canvases with ExecuteCommandProcessingWithLayout option enabled and a dedicated layout thread
Fix Fixed early closing of renderer frames when doing layout on the DOM thread that was causing leaks
Fix Fixed failing transitions when combined with CSS animations
Fix Fixed a failing assert when the inspector is attached to a page with pseudo elements
Fix Fixed flickering of SVGs when the SVG element is moved.
Fix Fixed a crash when switching render target with processing rendering commands on the layout thread enabled
Fix Fixed binding objects with BaseClass in the CoherentBind function
Fix Fixed eager wrapping of multiple words caused by improper layout cache invalidation
Fix Fixed a crash when there are two wrap RenderTarget commands
Fix Fixed possible wrong positioning of element when using the –rescaleFontSizeWithMatrixScale developer option
Fix Fixed crash in CPU workload flow when trying to draw an image that wasn’t loaded successfully
Fix Fixed a crash when more than 65k vertices are requested during patterns/gradient drawing
Api Added API for controlling the command buffer pool size (see cohtml::InternalCaches::ICACHE_GfxCommandBuffers / ICACHE_GfxCommandProcessors)

Prysm 1.31.2.2 – released 22 Aug 2022


Fix Fixed eager wrapping of multiple words caused by improper layout cache invalidation

Prysm 1.31.0.1 – released 03 Aug 2022


Feature Absolute positioned elements support for inline layout
Enhancement Enhance objects logging in the Inspector console for platforms using V8 for JavaScript execution. Objects are now properly expandable in the console log messages with captured callstack
Enhancement Added rem and % setters for left, right, top, bottom, width, height, maxWidth and maxHeight
Enhancement Added partial Float32Array setters for transform, filter, clip-path, transform-origin, mask-size and mask-position
Enhancement Increased the duration of JavaScript CPU profiles in the Performance tab
Enhancement Added support for transform-origin for SVG nodes
Enhancement Added documentation about the Inspector’s new tracing capabilities
Enhancement Unity Added support for Vulkan rendering on Android using the C# rendering backend
Enhancement UE Add option to propagate mouse wheel events through transparent CSS classes
Fix Fixed inconsistencies with nested elements in inline layout
Fix Fixed inline layout word wrapping when text is nested in elements
Fix Fixed minor issues with text wrapping in inline layout
Fix Fixed potential crashes when drawing glyphs and using the PreferCPUWorkload option
Fix Unity Fixed C# backend crash when the VB/IB buffer data is being set to the mesh
Fix Fixed a deadlock when the layout is processed on the DOM thread and rendering canvases
Fix Fixed a crash when detaching elements with animated pseudo elements
Fix Fixed artifacts from text not properly clearing in cases when the used font-size and line-height made the text get outside of the line’s visual dimension
Fix Fixed possible race condition in ShaderGradientTextureCache when using command processing on the layout thread
Fix Fixed possible memory leak when displaying a path at a very low scale (less than ~0.01)
Fix UE Fixed input propagation for in-world Views

Exporter 2022.3.0 (LTS) – released 8 Aug 2022


Feature Added an option to export components scripts only to the document configuration options.
Feature Added button to open the resolved output folder location.
Feature Added a search field for searching specific document configuration settings.
Feature Added a new event target option – ‘Current timeline’ that enables selecting labels from a specific timeline for the ‘Goto and play’ and ‘Play from to’ handlers.
Enhancement
Breaking change
Improved the animation’s speed. Now the Animations system library is working 3 times faster than before and the scripting time is significantly reduced. For more information check the documentation. This enhancement requires version 1.31.0.1 of the Prysm core library or greater.
Enhancement Added support for all the data-bind-style attributes.
Deprecated Removed Prysm 1.0 from the zxp package. If you want to use it make sure to download Prysm Exporter with a version less than 2022.3.0.
Fix Fixed memory leak when data-bind-if is used in combination with ‘Apply to children’ on symbols with a shape element in their timeline.
Fix Fixed events with “Javascript” handlers to be exported when their source includes the symbol ‘&’.

Prysm 1.30.0.1 – released 06 Jul 2022


Feature Added View::TerminateScriptExecution to terminate long running scripts
Enhancement Improved the performance of the C++ character processing functions(tolower/toupper) in the internal code
Enhancement Updated Nintendo Switch SDK to version 14
Enhancement SDF text with different size is now batched
Enhancement Renamed ICU libs with cohtml_ prefix
Enhancement Unity Added support for binding long and ulong values
Fix Fixed wrong text direction with some RTL scripts
Fix Fixed preloading of unsupported formats in the instaload sample
Fix Reduced JS garbage memory from fired events
Fix Fixed hover not working for newly added elements styled by complex selectors
Fix Fixed incorrect layout when using flex subtrees with simple mode layout
Fix Fixed overlap of transparent borders when using border-radius
Fix Guarded against drawing too small rectangles when using the inspector highlight, which could potentially trigger an assertion in the SDK
Fix Fixed possible excessive fullscreen draws to the stencil buffer when executing clipping commands
Fix Fixed load event not firing when using the same image as background and border or mask image
Fix Fixed load event firing before all images are loaded when using the same image source of an IMG tag as a background-image
Fix Fixed graphic artifacts when “transform-style: preserve-3d”” was missing between 3D transformed elements and elements with perspective”
Fix UE Fixed hang when loading atlasses saved with previous version of the atlas medata
Fix UE Fixed video decoding hang for console platforms in Unreal Engine 5

Prysm 1.29.2.1 – released 10 Jun 2022


Feature Added sample for using Google Protocol Buffers with data-binding
Feature Implement custom property binding for protobuf::Message and protobuf::Field
Feature Added support to the Devtools to display the state of some internal caches
Feature Added support for GDK native rendering in Unity3D.
Feature UE Add delegate for controlling which properties are exposed with the automatic binding
Enhancement The rendering library will automatically detect multithreaded usage and will set AllowMultithreadedCommandProcessing accordingly
Enhancement Fixed iOS simulator by adding new metal shader library built specificly for simulator in the package. For Unity3D it’s embedded in the native plugin.
Enhancement The CSS parser will try to continue parsing the stylesheet after encountering errors in rules and declarations
Enhancement Increased the severity of CSS parsing errors
Enhancement Added support for attributes on the HTML element
Enhancement Enable duplicate rendering command buffer checking by default. This saves the execution of potentially costly commands.
Fix Fixed possible artifact when a node is hidden with display:none without other layout changes
Fix Fixed crashes when parsing badly defined media queries
Fix Fixed broken layout when hiding and showing cohinline paragraph elements
Fix Fixed broken layout when using justify-content space-around with a single element
Fix Fixed a race condition when using XmlHTTPRequests with response headers and enabled inspector that might cause a crash
Fix Fixed an issue where styles won’t be applied to elements with transitions that have already been displayed once
Fix Fixed the artifacts when drawing repeated an image from a texture atlas
Fix Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation
Fix Fixed the library from crashing the process when the UISystem::Unitialize has not been called
Fix Fixed transform-origin being reset to a default value when changing a style through the inspector
Fix UE Fixed deadlock issue with accessing a texture resource TSoftObjectPtr on worker threads
Fix Fixed possible artifact when tessellating the same path at different scales
Fix Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation
Api Added means for destroying the user render target through the Scene’s DestroyRenderingResources method

Exporter 2022.1.1 (LTS) – released 10 Jun 2022


Feature Added freeze methods on AnimationState and Timeline instances that make it possible to stop their animations and hide them efficiently.
Feature Added a “Bindings overview” tab that displays all data bindings added to all elements in a fla file.
Feature Added a “Strip scale transform from images” option that embeds the scale transform of images into their width and height.
Enhancement Made clip paths responsive.
Fix Updated the deprecated coh-font-fit-mode directive with font-fit-mode.
Fix Fixed the export of mix blend mode to be correctly applied.
Fix Fixed a memory leak when unregistering elements from the animation system.
Fix Fixed 1 pixel offsets between nine slice grids.
Fix Fixed 1 pixel overlapping anti-aliasing on semi-transparent nine slices.
Fix Fixed incorrect spamming of “Missing metadata for shapes as divs” warnings.
Fix Fixed components not being added to FLA files from project files.

Prysm 1.28.2.3 – released 06 Jun 2022


Enhancement Update Sony PlayStation 5 SDK to 5.000
Enhancement Update Sony PlayStation 4 SDK to 9.500
Enhancement Update Game Development Kit to March 2022
Fix Fixed incorrect generation of anti-aliased border geometry when drawing a gradient with perspective transformation
Fix Fixed an issue where styles won’t be applied to elements with transitions that have already been displayed once

Prysm 1.28.0.1 – released 18 May 2022


Feature Devtools Add rendering trace markers
Feature Devtools Add ability to record screenshots
Feature Devtools Add support for tracking the creation, destruction, and count of GPU objects
Feature Devtools Add support for tracking the GPU memory used by the rendering library
Feature Add custom CSS property ‘coh-use-aa-geometry’ to enable control over AA of specific element. By default it’s enabled and it can be used for disabling AA of an element.
Enhancement Devtools The rendering trace events in the inspector’s performance tab now have information about the DOM node which was rendered
Enhancement Add support for “background-repeat: round” for background SVGs larger than 1024px
Fix Add support for changing the Window origin on Nintendo Switch. Note that you need to use the –disableSimpleSublayers developer option for full support
Fix Fixed V8 freeing memory on small GC collections
Fix Fixed a regression in absolute element size calculation when width and height weren’t specified margins were ignored
Fix Fixed wrongly positioned absolute flex items with percents when parent element had margins
Fix Unreal Engine Fixed CohtmlHUD Material compatibility with Unreal Engine 4

Prysm 1.27.0.2 – released 04 May 2022


Feature Implemented the DOMContentLoaded event
Feature The page load event fires after all images are loaded, including images specified in styles
Feature UE5 Preview support for Unreal Engine 5. Known issues include rendering artifacts on Nintendo Switch and iOS and video playback on game consoles
Feature U3D Implement Input event propagation handler
Feature Implement an optimization for constant buffers to reduce number of updates and memory used.
Enhancement Fixed increasing memory when changing the style attribute or its properties
Enhancement U3D Add new sample to demonstrate the input events handling propagation
Enhancement Documented how to avoid banding in gradients
Enhancement Documented animation, chat and map JavaScript libraries support
Enhancement Add different semantics for null and undefined in the C++ bindings
Enhancement Implemented the ‘animationstart’ and ‘transitionstart’ events.
Enhancement Added ‘propertyName’ to transition events.
Enhancement Added ‘animationName’ to animation events.
Fix Fixed 9-slice and wrong image repeat in some cases
Fix Fixed calling pushState and replaceState History APIs without URL
Fix Fixed possible frame delay when drawing a new image from an atlas
Fix Fixed firing animationend event more than once for certain animations
Fix Fixed flickering artifacts caused by negated scaling for path objects (used by clip-path, clip-polygon, etc.)
Fix Fixed a crash in ClipboardData::Set when called nullptr string or invalid length
Fix Fixed custom elements reaction callbacks invocation order
Fix Fixed deferred scripts execution order
Fix Fixed WebAnimations API to return current frame time instead of the previous frame time
Fix Fixed document.readyState to report the document state correctly no matter when it is queried
Fix Fixed leaking WebSocket connections in the Player app
Fix Fixed nodes ignoring scroll set via JavaScript on the first frame
Fix Fixed transitions not activating on elements with pseudo elements
Fix Fixed transition state breaking when cloning nodes with JavaScript
Fix Fixed duplicated Inspector and Mutation Observer events on element inlineStyle change
Fix Fixed absolute element positioning when size is defined
Fix Fixed the ‘animationend’ event to be fired once per animation instead of per property.
Fix Fixed a race condition when multithreaded command processing was enabled.
Fix Fixed a crash when destroying GPU buffers (vertices & indices).
Api Removed forceStyleResolve option from GetAnimationsOptions, getAnimations now works by standard
Api Deprecated ReadNull in favor of SkipValue in the cohtml::Binder

Prysm 1.26.4.1 – released 15 Apr 2022


Enhancement Improved performance of setting inline style in terms of CPU and memory usage.

Prysm 1.26.2.1 – released 07 Apr 2022


Fix Fixed InputManager gamepad null reference in Unity3D
Fix Fixed a regression of cohtml.js that made it unusable in a browser
Fix Fixed transitions not activating on elements with pseudo elements
Fix Fixed transition state breaking when cloning nodes with JS
Fix Fixed absolute element positioning when size is defined

Prysm 1.26.0.1 – released 04 Apr 2022


Feature Added public interface for a custom virtual allocator to the library
Feature Implemented default public virtual allocators for PlayStation and Switch
Feature Added support for the clipPathUnits property for elements in SVGs
Feature Added support for the image-rendering CSS property
Feature Added support for the caret-color CSS property
Feature Implemented the Inspector Search functionality in the Elements tab
Feature Added support for the InspectorDOM domain protocol function `DOM.describeNode which could be used for automation
Feature Added support for the InspectorDOM domain protocol functions – DOM.querySelector, DOM.querySelectorAll, and DOM.getAttributes
Feature U3D Update ICU library to ICU v69 and provide InternationalizationManager and BreakIterator support for all platforms
Enhancement Implemented input caret navigation and selection for complex and RTL text
Enhancement Update V8 to 9.4 with latest security fixes
Enhancement Large SVGs used for mask-image use less memory and won’t create temporary textures larger than 1024×1024
Enhancement Added Player command line argument option for fullscreen borderless window
Enhancement Implemented promise rejection event for V8 as some JS frameworks require it
Enhancement Using text measure cache more aggressively to improve text layout performance
Enhancement Update Nintendo Switch SDK to 13
Enhancement Update Microsoft GDK to October 2021 release
Enhancement U3D Fixed performance regression from a Linux patch that is now behind a platform define
Enhancement UE4 Add backwards compatibility for Atlas metadata files created prior to 1.14.3
Fix Fixed crash when connecting the inspector to a page using lots of CSS variables
Fix Fixed binding unsigned integers greater than 2^31
Fix Fixed a crash with complex text when the fonts used are missing the glyphs for it
Fix Fixed constant redraw of text nodes that were selected at some point
Fix Fixed firing of ViewListener::OnNodeTouched for TouchMove events
Fix Fixed a memory leak caused by binder state leak
Fix Fixed artefacts when scrolling right or center aligned text
Fix Fixed trailing artefacts of elements with inherited filters
Fix Fixed complex text letter spacing which was wrongly applied on overmarks and undermarks
Fix Fixed attributeChangedCallback for custom elements to be called only for attributes listed in observedAttributes
Fix Fixed a crash on UWP when utilizing a specific symbol on the JavaScript side
Fix Fixed JS return value of the isolation property. Now properly returns “isolate” instead of “isolation”
Fix UE4 Moved UObject creations from the Render thread to the Game thread
Fix UE4 Fixed Compositor errors for missing textures
Fix UE4 Initialize USTRUCT member variables that were not initialized at construction time
Fix UE4 Fixed debug asserts due to improper usage of GWorld
Fix UE4 Fixed soft locking when loading a streamable Texture
Fix UE4 Added a mutex lock to prevent concurrent accessing of the internationalization manager’s resources

Prysm 1.25.1.2 – released 04 Mar 2022


Feature Support for Binary WebSockets in the Network panel in the inspector
Feature Support MQTT over WebSockets
Feature Binary messages support for WebSockets
Feature Introduced support for anti-aliased clipping
Feature UE Added option that enables the loading of UTextures instead of raw images if they exist inside an Atlas or can be located on disk
Enhancement Exposed V8 Tracing events on Xbox, which show where V8 is spending time when executing JavaScript code
Enhancement Introduced new member in Compositor’s DrawInfo structure to show which view owns the composition which has to be drawn
Enhancement Reduced various internal classes memory footprint
Enhancement Cache attributes NamedNodesMap instead of allocating a new one on each query for better performance and memory
Enhancement Optimized redrawing areas size and frequency
Enhancement Reduced the HTMLParser memory usage
Enhancement Optimized the transitions performance to be not affected by using transition: all
Enhancement Added support for render passes in the DirectX12 backend
Fix Fixed a crash when GC happens inside MutationObserver notification
Fix Fixed premature removal of data-bind nodes from the evaluation graph when they have mutators
Fix Fixed Player app gamepad swapped buttons 8 and 9
Fix Fixed possible graphics artifact (color bleeding) when using a SVG as repeated background image
Fix Fixed positioning of SVG <use> elements when using the WAAPI
Fix Fixed the class, style and id attributes to be able to be empty
Fix Added missing mutation records when classes are changed through classList
Fix Handle possible assertion for a degenerate triangle when handling glyphs that contain cubic curves
Fix Fix SVG clipping for background SVGs with viewBox attribute that has non-zero position
Fix Fixed mutation observers being garbage collected too early
Fix Fixed resized images being minified when drawing them onto CanvasRenderingContext2D
Fix Fixed possible null access crash in DrawShadowShape
Fix Fixed suffix attribute selector
Fix Fixed flex absolute children size calculation not respecting the direct parent
Fix Calculate transform origin based on snapped to pixel size box
Fix Fixed ArrayBuffer type on JSC VM
Fix Allow cohtml.js to be included multiple times without side effects
Fix Fixed a rare crash when profiling performance via the inspector
Fix Fixed stale stacking contexts which in certain cases improves memory consumption
Fix Fixed an assert failure when using the compositor feature in Debug configuration
Fix Fixed rare cases where elements would be missing their visual style during rendering leading to assert failures and crashes
Fix Fixed wrong AABB debug visualization when using ShowElementAABBs feature
Fix Fix dissappearing pseudo elements
Fix Fixed URL parsing for URLs that contain backslashes
Fix Transitionend events are no longer fired when an element with a transition is shown
Fix Transition property changes now correctly take effect when the active transition ends
Fix Fix incorrect display of preloaded images using non-premultiplied alpha
Fix UE Fixed Video sample crash on Switch by disabling the Procedural sounds
Api Modified the User fonts API so it takes the Ascent/Descent of a font instead of just the baseline
Api Introduced new field in the RenderCaps structure of the backends – EndingRenderPassRequiresStateUpdate

Exporter 2022.1.0 (LTS) – released 17 Feb 2022


Enhancement Added a publish type alias to the pre-publish and post-publish commands.
Fix Fixed nine slice dynamic rescale.
Fix Readded touch events to the exporter UI.
Fix Fixed incorrectly ignoring CLPrysmComponentsSystem.js when set through the project configuration.

Prysm 1.24.1.3 – released 15 Feb 2022


Fix Fixed MutationObservers being garbaged collected too early
Fix Fixed crash when DOM elements are created and destroyed during garbage collection
Fix Fixed assert for exposing garbage collected NodeList instances

Prysm 1.24.1.1 – released 04 Feb 2022


Feature Added polyfill for the form element
Feature Added JavaScript sampling profiler in the Inspector Performance Tab on Windows
Feature UE Added possibility to specify different directory locations for UE Texture Atlases
Feature UE Added callback which notifies when the input focus has changed
Feature UE Added Starter Guide for Unreal Engine
Enhancement Added ICU integration and BreakIterator support in GFP Player app and Samples on all platforms
Enhancement UE Added C++ API for CohtmlInputActor input setup
Enhancement UE Added ResizeRenderTarget API
Fix Fixed flaky wrapping of the elements when using flex wrap
Fix Fixed an issue in V8 that was blocking the use of the PlayStation Memory Analyzer tool
Fix Fixed SVG not being rendered in certain cases
Fix Fixed stroke width to be correctly computed on rescaling for SVG path elements with stroke-dasharray
Fix Fixed clipping artifact when layers with opacity and SVGs are present
Fix Fixed SVG elements inside a SVG hierarchy to correctly apply transformations at runtime
Fix Fixed crash due to unclamped negative size of image destination rectangles
Fix Fixed crash in the svg rendering when svg are displayed as images inside a backdrop filter
Fix Fixed playback of videos with low frame rate or gaps between frames
Fix Fixed looped videos playback
Fix Fixed the ::before pseudo element not showing in the inspector
Fix Fixed not matching pseudo elements with complex CSS selectors
Fix Fixed a crash when using null or undefined as an event listener.
Fix Fixed the DX12 Backdrop Sample crash during init and close.
Fix Fixed comments that were incorrectly displayed in the inspector Elements tab
Fix Fixed a crash with whitespace in text and RTL glyphs
Fix Fixed a crash when setting transform scale from JS
Fix Fixed tagName and nodeName to correctly return capitalized names for custom elements and unknown elements
Fix Fixed having duplicated nodes in the Inspector Elements Tab
Fix Fixed a V8 crash when using onpopstate event listener
Fix UE Fixed a crash on CohtmlViewWrapper trying to access uninitialized FSlateApplication
Fix UE Fixed a crash in CohtmlEditorPlugin::ShutdownModule when running applet commands
Api Changed media seeked event to be fired before a new frame has been shown
Api Added decoder type getter method to the IDecoder interface

Prysm 1.23.0.2 – released 18 Jan 2022


Enhancement Allowed WebSocket constructor to also accept a single string as a protocol
Enhancement Updated Sony PlayStation 4 SDK to 9.000
Enhancement Updated Sony PlayStation 5 SDK to 4.000
Fix Fixed incorrect clipping of SVG elements when they are within a sublayer
Fix Unity3D Fixed the backdrop filter support in HDRP projects in Unity3D
Fix Fixed some SVGs not being displayed inside an element with backdrop filter
Fix Fixed innerHTML to return the tag name of unknown elements.

Prysm 1.22.1.3 – released 13 Jan 2022


Feature Support for network requests in the Network panel in the inspector
Feature Support for WebSockets in the Network panel in the inspector
Feature UE Add raw image to UTexture import feature
Enhancement Update distributed ICU module with libraries for all platforms. The ICU version is also updated from v67 to v69.
Enhancement Style attribute updates dynamically as inline style changes in the inspector elements tab
Enhancement Reduced the memory used by the JavaScript heap on Sony PlayStation 4 and Sony PlayStation 5
Enhancement Reduced the memory used by the JavaScript heap on Nintendo Switch
Enhancement Reduced HTMLElement memory footprint
Enhancement Reduce memory spikes caused by JavaScript accessing temporary DOM objects
Fix Implemented proper incremental garbage collection of the DOM objects
Fix Elements with backdrop filter now have the same size as the ones without
Fix UE Fixed the backdrop filter for Unreal Engine
Fix Fixed data-bind-html sometimes not updating when nested in data-bind-if
Fix Unity3D Fixed synchronization drawing Unity3D on Sony PlayStation 4 and Sony PlayStation 5 with the C# rendering backend
Fix Fixed a regression with the timing of firing internal media events when playing videos
Fix Unity3D Fixed missing font symbols when C# backend was used for the first time in the project
Fix Fixed crash in the inspector, caused by elements with invalid computed value for border-width
Fix Removed the warning for unknown mime type when the inspector is not running
Fix Fixed paint flashing not displaying dirty rectangles when triggered through the inspector
Fix Fixed crash when accessing the style property on UWP x64 builds
Fix Free video data memory when the source is removed from a video element
Fix Fixed a memory leak when calling GetElementsByClassName or GetElementsByTagName on detached elements
Fix Fixed a memory leak when making circular references using the mutation observer
Fix Fixed a memory leak when making circular references using event listeners
Fix UE Fix post build step for earlier UE versions to copy libraries with correct build configuration
Fix UE Fix issue with updating our UMG texture

Exporter 2021.4.0 (LTS) – released 23 Dec 2021


Feature Masking with a bitmap element in Animate will result in an element with a mask-image property to the HTML.
Feature Exposed methods to the 9-slice elements for rescaling them dynamically.
Feature Made a default ‘Export shapes as divs’ option in the Document tab that its value can be used to specify ‘Export shapes as divs’ for symbols or scenes by choosing ‘Document default’.
Enhancement Improved Prysm components by removing component libraries and working just with components instead. However, old documents that are having Prysm component libraries added will be backward compatible with the new workflow. For more information, you can check here.
Enhancement Made initialization optimizations. Now the animation system will be started when all the Prysm elements/components are loaded inside the Player. For more information, you can check here.
Enhancement Publishing is no more aborted if Prysm exporter fails to read/parse a font file.
Enhancement Font files with the following extensions – ‘.TTF’, ‘.TTC’, ‘.OTF’ are now supported.
Enhancement Improved synchronization between the Prysm exporter panel and Animate. The resolved external files will now preserve their order when a document is opened from the ‘Recent files’ as well.
Fix Animations on elements that are having data-bind-for are now working correctly when the scene starts in the Player.

Prysm 1.20.0.1 – released 03 Dec 2021


Feature Added CanvasRenderingContext2D.measureText
Feature Added sample a demonstrating how to use observable models feature
Feature Unity3D Integrated audio playback with Unity3D audio system
Feature Enhanced Inspector timeline to include events for matching elements
Feature Added initiators to the Inspector timeline that show the JavaScript code that invalidated styles and layout
Feature Add a way to receive the View and System when they are created for the CohtmlOverrides
Feature Add support for innerHTML and outerHTML getters
Enhancement Enhanced timeline events for RecordRendering, Layout, RecalculateStyles, BuildDOM to contain extra data
Enhancement Updated the Inspector UI to the version used in Chromium 94
Enhancement Added support for border-color: inherit
Enhancement Improved the Dynamically-typed object data binding documentation
Enhancement Unity3D Add logic to reassign LogHandler default log functionality
Enhancement Unity3D Exposed the low level rendering options to the plugin
Enhancement UE Optimize memory tracking in Cohtml and CoherentRendering plugins
Enhancement SVGs used as background images with background-repeat mode set to “no-repeat” are now culled before reaching the GPU, netting a large performance improvement
Fix Fixed clip-path undefined behavior when CSS animations are present
Fix Fixed skipped custom element lifetime functions
Fix Fixed custom element lifetime callbacks not being called on synchronize models
Fix Fixed out-of-bounds memory access violation when using transform attribute with rotate value on SVG nodes
Fix Fixed not correctly scheduled canvas layout task which resulted in artifacts
Fix Fixed running transitions on elements with initially and dynamically hidden parents
Fix Fixed animations being activated on elements with initially hidden parent
Fix Fixed crash on certain iOS devices with complex regular expressions
Fix Fixed Inspector showing non-existing children after they were removed with removeAllChildren
Fix Fixed HTML preview in the Sources tab of the inspector when loading through HTTP
Fix UE Fixed the loading of Streaming Textures that were looking blurry when not fully streamed
Fix UE Fixed Resource loading of not yet fully initialized UTextures, that was sometimes resulting in crashes
Fix UE Fixed a crash when loading UserImage with not yet initialized Texture Resource
Fix UE Fixed HostLocation resolving when there is no slash (“/”) in the path
Fix UE Fixed UE Editor viewport resize crash
Fix UE Added ImageData width and height to ContentRect if a Texture doesn’t have an ImportedSize
Fix Fixed the calculation of the miter limit for SVG path elements (previously it could end up much larger than specified)
Fix Fixed possible issue when using mix-blend-mode (the blended area may be incorrect)
Fix Fixed percent units in SVGs

Prysm 1.19.0.4 – released 24 Nov 2021


Fix Fixed layout of inline SVGs when parent element size and position changes
Fix Fixed incorrect clipping of elements using linearGradient in SVGs
Fix Fixed subtree styles rematching when parent is being rematched
Fix Fixed incorrectly re-positioned cohinline paragraphs
Fix Fixed a crash on certain iOS devices with complex regular expressions
Fix Fixed a bug with complex selector matching with data attributes selectors
Fix Fixed a bug that caused pseudo classes to always match in complex selectors
Fix U3D Updated prebuilt ICU libraries to Sony PlayStation 4 SDK 8.500
Fix U3D Updated prebuilt ICU libraries to Sony PlayStation 5 SDK 3.000

Prysm 1.19.0.1 – released 04 Nov 2021


Feature Added support for pseudo elements before and after
Feature Added Text-to-speech sample for PlayStation 5 and GDK platforms
Feature Added synthesizers for PlayStation 5 and GDK platforms to the Text-to-speech module
Feature Added cohtml-speech-api JS library for interacting with Text-to-speech module from cohtml::View
Feature Added Text-to-speech module for speech synthesizing
Feature UE Added SDK libraries for Release and Debug config
Feature UE Added support for autobinding C-style arrays
Feature UE Added support for binding 2D TArrays
Feature Added a sample for Virtual Lists with scrolling (horizontal/vertical)
Enhancement Updated Nintendo SDK to version 12.3
Enhancement Improved the performance of the complex CSS selectors with classes and ids
Enhancement Optimized getting element attributes by 10%
Enhancement Improved the performance of AudioPlayer::ReceivePCMData
Enhancement Added IsPlaying method for AudioPlayer
Enhancement Improved the performance of Structural Mutators
Enhancement UE Expanded Virtual Keyboard documentation regarding VK Layout and how it depends on HTML input field types
Enhancement UE Added documentation regarding the settings of the individual UTextures that are part of a texture atlas
Enhancement UE Added documentation for autobound UFUNCTION
Fix Fixed incorrect layout of inline text
Fix Fixed leaking transitions that caused Advance calls to become progressively slow
Fix Fixed mutation record NodeList properties to return empty NodeList instead of null
Fix Fixed CSS not loading when selectors with CSS keywords are preloaded
Fix Unity3D Fixed ResourceHandler.HostLocations handling of URLs that cause NullRefference when is not found in the first location.
Fix Fixed cohtml::ByRef binding not updating std::vectors when their size has changed.
Api Deprecated TryBindArrayByRef(void* arr, size_t size, ArrayElementBinder elementBinder, ArrayElementReader elementReader)
Fix Fixed an assert failure about active mutation observers on document disposal
Fix Fixed a potential crash during HTML parsing when using with the HTML preloading feature
Fix Fixed deprecated font-fit-mode property
Fix Fixed inspector crash due to invalid read data
Fix Fixed a crash when passing console methods to async JS methods like setTimeout
Fix UE Fixed trimming of autobound properties with double underscores
Fix Fixed incorrect sizing of images that could cause “squashing” into the visible area instead of clipping
Fix Fixed missing rendering for user images that use NonPremultipliedAlpha alpha mode when simple sublayers are enabled
Fix Fixed a crash in the Caching Manager when a source of an image was being removed from the DOM
Fix Fixed a race condition when Path’s GPU data is being used and copied
Fix Fixed incorrect clipping for elements with transform style

Exporter 2021.3.3 (LTS) – released 19 Oct 2021


Feature Pre and post build steps can be added to a document
Enhancement Data binding aliases are now just “aliases” that can be used in more fields e.g. in the custom attributes
Enhancement Custom AABB can now affect only the width, only the height or both the width and the height of an element
Enhancement Made the input fields in the UI as big as the panel
Fix Fixed missing animations on elements created at runtime through data-bind-for or JS
Fix Fixed event actions that were breaking when a JS file with undefined variables was added to the document

Prysm 1.18.2.8 – released 12 Oct 2021


Feature Added universal ICU library working natively on Mac OS X with M1 processors
Feature Made UnityPlugin for Mac an universal library working natively on Mac OS X with M1 processors
Feature Add support for tree-structural pseudo class selectors – first-child, last-child, only-child, nth-child
Feature Added support for the backdrop-filter CSS property for Native and Unity3D
Enhancement Added CSSStyleDeclaration.cssText support
Enhancement UE Added an option to install cohtml libraries in the game directory for Unreal Engine
Enhancement Added a new sample demonstrating an example implementation for the ISubLayerCompositor and its integration into an application
Enhancement Implemented BigInt binding and data binding for numbers representable with 64 bits.
Enhancement UE Added documentation about how individual Texture settings affects Atlas generation and which are the settings that may be ignored
Enhancement Applied several security vulnerability fixes in V8
Enhancement Allowed iteration with for...of for DOM collections
Enhancement Implemented an optimization so that parts of some index buffers are reused and less GPU memory is needed. Read the rendering migration guide.
Fix Fixed a crash when passing console methods to async JS methods like setTimeout
Fix Fixed the HTML Parser to not throw warnings on commented code with CSS variables inside
Fix Fixed |= attribute selector matching elements that should not be matched
Fix Fixed incorrect sampling coordinates for elements that are partly outside of the viewport, causing “squashing of the image into the visible portion
Fix Fixed incorrect clipping for elements creating sublayers (e.g. opacity, mix-blend-mode, etc.) that may cause elements disappearing
Fix Fixed rare occurence of an assert for trying to destroy a missing texture
Fix Fixed incorrect passing of options for the rendering library needed for multithreaded awareness. Read the rendering migration guide.
Api Removed support for ARMv7 processors for iOS

Exporter 2021.3.2 (LTS) – released 11 Sep 2021


Enhancement Returned the animations play state options for scene and symbol. Now the animations’ play state could be controlled from the UI
Fix Fixed incorrectly generated relative paths in HTML when shared images mappings are used
Fix Fixed showing incorrect information in the Document tab when switching between different .fla documents
Fix Fixed resolved files order that is not preserved when a .fla document is reopened
Fix Fixed errors that are produced from the CLPrysmAnimationSystem that were related to unregistering timelines
Fix Fixed wrongly exported selector for the scene when adding animation events targeting the current scene from the UI
Fix Fixed the button for removing the project file to be enabled when it does not exist
Fix Fixed errors produced from the tabindex polyfill
Fix Fixed reverse playback errors

Prysm 1.17.0.1 – released 10 Sep 2021


Enhancement The Player now supports Mac M1 natively
Enhancement Added support for vw, vh, em, rem size units for inline images
Enhancement Added an option for setting virtual keyboard layout for text to AlphaNumeric in Unreal Engine
Enhancement Unreal Engine 4.27 support
Enhancement Added support for fill-rule attribute in SVGs.
Enhancement Allow usage of element within a element in an SVG.
Enhancement Improved the HTML parser error logging to include better error descriptions
Enhancement Unity3D: Integrate request’s method, body and headers
Enhancement Unity3D: Virtual keyboards for GDK Xbox and Playstation 4/5 consoles.
Enhancement Prevent atlas modifications and show message on screen when Atlas meta-data file is read-only in Unreal Engine
Enhancement Add a way to load UI from different predefined locations (resource hosts) in Unreal Engine
Enhancement Add a way to override and reimplement all input processing in Unreal Engine via the Input Preprocessor feature
Enhancement Updated the Components sample to use the latest version of the coherent-gameface-components
Fix Fixed occasional video freezes and playback issues
Fix Fixed a crash when handling JavaScript events
Fix Fixed asserts when View methods on ChakraCore are called on multiple views.
Fix Fixed showing nodes after changing their styles while they were hidden using display:none
Fix Fixed using heading tags with data-bind-for
Fix Fixed converting JavaScript numbers to integer and unsigned according to ECMA-262.
Fix Fixed baseline offset for inline images with floating point height
Fix Fixed cohtml crash for data binding expressions bound to null values.
Fix Unreal Engine: Fixed a crash when UCohtmlWidget::SetReadyForBindings is called with invalid SWidget and View
Fix Unreal Engine: Made the contained textures inside the Atlas to be Editor only data as they may not be packaged in a Client
Fix Unreal Engine: Fixed DedicatedUIThread map OpenSSL module loading check fail in Debug configs on Sony platforms
Fix Unreal Engine: Update deprecated Shader Platform API Getter
Fix Unreal Engine: Fixed TArray crashes when exposed by cohtml::byRef
Fix Unreal Engine: Fixed failing rebuild of the Cohtml Texture Atlas
Fix Fixed a crash when an inline SVG node is removed from the DOM and then added again.
Fix Fix rare crash when parsing inline SVG content.
Fix Fix broken display of SVG elements when they are added, removed and then readded in the DOM.
Fix Fixed passing float arrays to CoherentToTransformMatrix2D when using the properties.
Fix Unity3D: Fixed gamepad events regression from version 1.15.3.1
Fix Unity3D: Input manager Enter key char code fixed to 13.
Fix Unity3D: Fixed CohtmlTouchKeyboard and TextInputHandler code flaws
Fix Unity3D: Change system’s resource request calls to be Synchronous
Api Unifed the custom CSS properties to have a coh- prefix. font-fit-mode is changed to coh-font-fit-mode. The old names are working, but are deprecated.
Api Unified the custom attributes to have a coh prefix. caretblinkinterval is changed to cohcaretblinkinterval; coh-inline to cohinline; coh-fastseek to cohfastseek. The old names are working, but are deprecated.

Version 1.16.5.2 – released 30 Aug 2021


Fix Fixed a crash on document unload related to the unified garbage collection
Fix Fixed video playback freeze when video errors are present
Fix Fixed a crash when a sublayer ends up with zero size
Fix Fixed linking errors when delay loading renoir library with LTCG enabled

Exporter 2021.3.1 (LTS) – released 23 Aug 2021


Enhancement Made custom AABB change width and height through an animated symbol
Enhancement Restored the CLAnimations script. It is now named CLPrysmAnimations.js
Fix Fixed incorrectly generated animations for classic tweens on different resolutions

Experimental Version 1.16.5.1 – released 19 Aug 2021


Feature
Experimental
Unified garbage collection for JavaScript and C++ DOM objects for V8
Feature Implemented video element “preload” attribute which now preloads video data for faster seeking
Feature Introduced an example JS library for handling videos with states “coh-state.js”
Enhancement JavaScript garbage collection runs in more incremental steps for V8
Enhancement Initialize virtual keyboard with the data from HTML input elements attributes in Unity3D
Enhancement Added more native JS array methods to the CoherentArrayProxy
Enhancement Made CSS animations to stop on display:none and restart on showing the element
Fix Fixed text shadows on multiline inline text
Fix Fixed enormous memory allocation when letter spacing is negative
Fix Fixed images drawn with incorrect size when CSS filter is applied
Fix Fixed a regression that failed to parse background shorthand without image/color
Fix Fixed a leak during video playback when the Inspector is enabled
Fix Fixed resource request spam when a video reaches its end
Fix Fixed rare video stalls during playback

Version 1.16.0.1 – released 05 Aug 2021


Feature Support for Unreal Engine 5 early access
Feature Support for Apple M1
Feature Moved all GDK platforms to using V8 for JavaScript virtual machine
Feature Added API for setting additional fallback font families for all elements
Enhancement Updated PlayStation 4 SDK to version 8.5
Enhancement Updated PlayStation 5 SDK to version 3.0
Enhancement Added json based configuration file for the Player
Enhancement Allowed to automatically bind UFUNCTION methods that have parameters in Unreal Engine
Enhancement Enhanced video API for seek performance
Enhancement Made XHRs not delaying the document load event
Enhancement Improved experimental inline layout support – better layout and input handling
Fix Fixed styles rematching crash on removing nested data-bind elements
Fix Fixed packaging and running of the Player for Mac OS X for Unity3D
Fix Fixed css rules matching for custom elements not defined in the registry
Fix Fixed missing mutation observer notification on document unloading
Fix Fixed wrong layout when setting explicit 0 dimensions of elements
Fix Fixed scrolling size of elements not accounting for children margins
Fix Fixed accessing delayed stylesheets in scripts
Fix Fixed XHR asserts caused by synchronously finished resource job due to invalidated job id
Fix Reduced an error message severity related to the CaretPositionFromPoint API
Fix Fixed developer options disabling on library re-initialization
Fix Fixed CohtmlTMapBinder.h compililing with non-MSVC compilers
Fix Fix sanitization of URL’s containing hashtag symbols in Unreal Engine
Fix Fix crash with Standalone net mode with more than 1 Player when using a UMG widget with a Cohtml component in Unreal Engine
Fix Fixed issue with unnecessary creation of textures (caused by improper clipping of texture based on the parent element)

Exporter 2021.3.0 (LTS) – released 23 Jul 2021


Enhancement Prysm Exporter is now providing workflows that are closer to Flash. This version makes it possible to extend the generated content from Prysm Exporter with custom functionality. However, there are some points that any Prysm user needs to be familiar with before upgrading to the LTS version. For more information about all the changes that are made with the LTS version you can check here. The last version before the LTS will be available with the known Prysm Exporter workflow if the update to LTS is undesirable.

Exporter 2021.2.1 – released 14 Jul 2021


Enhancement Different X and Y blur filter values are now exported correctly.
Enhancement The “auto-import * file fields” are now replaced with “path to * file” fields. Common files are either exported (empty field) or linked to the specified path. This way common files are always exported first and the correct order of scripts is achieved.
Fix Scene files can now be reordered correctly.
Fix Align-items is now correctly exported.

Version 1.15.3.2 – released 08 Jul 2021


Enhancement Made the C# backend to be able to fill Renoir’s Rendering capabilites
Enhancement Enabled SDF GPU text algorithm for PlayStation 4 and PlayStation 5 with the C# backend
Fix Fixed memory leak on V8 platforms when navigating to another page
Fix Fixed linking of iOS samples
Fix Fixed running Unity3D editor in game console mode
Fix Fixed texture destruction in the Unity3D C# backend

Version 1.15.3.1 – released 02 Jul 2021


Feature Added Coherent texture stats and texture stats page In Unreal Engine 4
Feature Added a new capturing mode for the .rend captures that obfuscates the used image assets
Feature Added Xbox One GDK support for Unity3D
Feature Replaced ChakraCore with V8 for JavaScript engine for Xbox One with the XDK
Feature Replaced ChakraCore with V8 for JavaScript engine for PlayStation 4
Feature Replaced ChakraCore with V8 for JavaScript engine for PlayStation 5
Enhancement Added launching the Dev Tools from Unity3D editor on Mac OS X
Enhancement Added support for Android arm64 and x86_64 in Unreal Engine 4
Enhancement Added new Unreal Engine 4 console command (cohtml.setmipbias N) for setting the mip bias for all textures used by the SDK
Enhancement Improved performance 3x of the C# backend in Unity3D
Enhancement React based samples now provide npm scripts for production and development builds
Enhancement Updated Webpack version to 5.39.0 for React based samples
Fix Fixed crash during compound selector matching due to uninitialized simple selector
Fix Fixed invalid return value of IInputProxy::GetTextPositions for empty input elements
Fix Fixed input duplication with multiple Systems in Unity3D
Fix cohtml.js’s Universal Module Definition now propperly accepts the global window object
Fix Fixed warning logs when C# backend in Unity3D is used
Fix Fixed resource loading in Unity3D for Android

Version 1.15.1.8 – released 16 Jun 2021


Feature Added support for SVG clip path
Fix Fixed resource loading error when playing video in a loop
Fix Fixed crash when dynamically adding inline SVG images
Fix Fixed drawing of inline SVG images when scrolling
Fix Fixed a crash on Mac OS X in Unity3D with Metal rendering backend
Fix Fixed a crash in style resolving with inline SVG images
Fix Fixed a crash on top-level exception in JavaScript event handler

Version 1.15.0.1 – released 04 Jun 2021


Feature Inline SVG support
Enhancement Extended support for the SVG Tiny 1.2 Specification

Version 1.14.3.1 – released 04 Jun 2021


Feature Added an HTML linter that detects spelling errors in Gameface’s data binding attributes
Feature Added support for multiple images in the CSS background shorthand
Feature Exposed Blueprint API for object model removal in Unreal Engine 4
Feature Added example input forwarding implementation using the Unreal Engine 4 input preprocessor
Enhancement Added V8 for iOS for arm64 and x64 architectures
Enhancement Added documentation about how to run Unreal Engine 4 Editor as a server
Enhancement Package additional UI samples and resources for Unreal Engine 4
Enhancement Updated GDK support to the 2021 April release
Enhancement Support for Nintendo Switch for Unity3D 2019.4
Enhancement Optimized setting numeric values to style from JavaScript
Enhancement Optimized matching complex CSS rules without pseudo classes
Enhancement Allow getAnimations to return animations added in the current frame to an element with the forceStylesResolving option
Enhancement Allow intercepting of XmlHttpRequest requests
Enhancement Optimized data-binding-for for often changing collections
Enhancement Added protected virtual onEnable and OnDisable methods in CohtmlView in Unity3D
Enhancement Extended Unity3D documentation with sections about Localization, HDRP/URP, Memory Tracking, Web sockets, DefaultUISystem Devtools
Fix Fixed crash when destroying the view with never updated data-binding expressions
Fix Fixed crashes when stringifying CSS values to JavaScript or the Inspector
Fix Fixed support for shuffled keywords in background position CSS properties
Fix Fixed wrongly reported background position shorthand value in JavaScript
Fix Change the ImageData.ContentRect to match Texture’s imported size in Unreal Engine 4
Fix Fix asserts and issues with dedicated UI thread HUD in Unreal Engine 4
Fix Fixed warnings for missing images in certain cases
Fix Fixed auto switch IL2CPP/Mono dll search in UPM package in Unity3D
Fix Always use the C# rendering backend for Xbox One Series X and Nintendo Switch in Unity3D
Fix Fixed NullReference exception when force shutdown on C# recompile triggered in Unity3D
Fix Fixed a possible crash when unitializing RenderingLibrary in Unreal Engine 4
Fix Fixed automatic binding always overriding manual CoherentBind in Unreal Engine 4
Fix Fixed crash in UCohtmlHUD constructor when creating the HUD on a worker thread in Unreal Engine 4
Fix Fixed wrongly reported errors and warnings in data binding.
Fix Fixed warnings in InternalizationManager and IBreakIterator when building Cohtml plugin for Unreal Engine 4 without UnityBuild
Fix Fixed animation instability that could result in drawing elements and styles with off-by-one pixel error
Api iOS arm64 and x64 requires linking with v8_monolith library
Api Nintendo Switch now links with a static V8 library

Exporter 2021.2.0 – released 19 May 2021


Feature Prysm components are now working with masks.
Feature Added a project structure to the Prysm Exporter. With the project structure, multiple .fla documents could be unified under one configuration file that holds all the settings related to the project and fla files. For more info check the documentation.
Feature Added media queries to the Prysm Exporter. With the media queries, one document can now define the same UI in different resolutions making it responsive. For more info check the documentation.
Enhancement Link file to symbol and shared files are removed from the extension. However on an update to the new version all the shared files will be distributed to the current document’s JavaScript, CSS and Video files so they are not lost. If you want to share external files between documents now the project structure could be used for this purpose.
Enhancement Shared folders are now replaced with the Shared images mapping feature which is working the same but just for images. Also, it provides a mapping of a single library bitmap item to a system image. For more info check the documentation.
Enhancement With the deprecation of shared folders, the project fonts now can be mapped from all the font library items created. Font items are used from Prysm to map their names to system font files. For more info check the documentation.
Enhancement The “UE4Root” option is removed from the extension. Now when the “Export for UE4” option is enabled then the path to the preloaded resources in the UE4 project will be matched automatically in the selected output folder if the configuration is right.
Enhancement Mask elements are no more exported with the “mask-image” CSS property. Instead “clip-path” CSS property is used.

Prysm 1.14.1.2 – released 10 May 2021


Feature Added support for rotate3d and translate3d transform functions
Feature Added HUD, GameMode and Map, showing how to use actorless UI on dedicated UI thread in Unreal Engine 4
Feature Added optional memory allocation tracking for the Unity3D plugin
Feature Preview support for V8 on PlayStation 4
Feature Visual Studio code extension providing autocomplete support for data-binding
Feature Support for clip-path property
Enhancement Support for multiple background images for background-position and background-size
Fix Fixed transform-origin parsing for ‘Y X’ values like ‘top left’
Fix Fixed race conditions in user images in Unreal Engine 4
Fix Fixed marshaling exceptions on C# Rendering Backend when HDRP or URP is enabled in the Unity3D plugin
Fix Fixed asserts about wrong threads when destroying a system in the Unity3D plugin
Fix Fixed crash during quit of the Unity3D editor
Fix Fixed asserts for missing images
Fix Fixed artefacts when an element is clipped and parent has blur
Fix Fixed DX12 backend to clear user images propertly
Fix Fixed a rare crash upon applying CSS filters

Version 1.14.0.7 – released 02 Apr 2021


Feature Support for loading a page in single frame
Feature Added HTML preloading and caching API
Feature Added Stylesheet preloading and caching API
Feature Support for HDR rendering
Feature Added support for position: fixed
Feature Added InstaLoad sample for Windows
Feature Update V8 to 8.8.278.14 for Mac OS X, Linux, Stadia
Feature Added TexturePreloading API in the Cohtml HUD BaseComponent and UWidget
Feature Added support for wide color render targets with 16/32 bits per channel
Feature Added new CSS color definition — color(coh-scrgb float float float float) — that can be used to define color values above 1.0
Feature Added support for enabling the wide color render targets in Unreal Engine 4
Feature Added support for enabling the wide color render targets in Unity
Feature Added a new sample that demostrates the HDR rendering
Feature Added new View::SetResolutionForRendering API that controls the output render target resolution.
Feature Added support for Nintendo Switch for Unity3D
Enhancement Added support for whenDefined in the custom elements API
Enhancement Trigger load event on image elements before the image is uploaded on the GPU
Enhancement Removed AsyncStream requests for textures already loaded in Unreal Engine 4
Enhancement Add UE4 Editor synchronous resource requests option
Enhancement Add support for data-biding TPair and TMap in Unreal Engine 4
Enhancement Reduced task scheduling delays for resources when responses are performed synchronously
Fix Fixed expandable objects in the Inspector
Fix Fixed missing vcruntime140_1.dll required by V8 8.8
Fix Fixed memory leak on Nintendo Switch with V8
Fix Fixed prototype of upgraded custom elements on V8 platforms
Fix Fixed the console and debugger in the Inspector on Linux and Mac OS X
Fix Fixed a regression that caused a crash when using engine.off during event execution on V8 platforms
Fix Fixed missing installation files with “Add to existing Game” option
Fix Fixed potential crash in SCohtmlWidget when running windowless
Fix Fixed missing shared libraries for Unreal Engine 4 Stadia packages
Fix Fixed graphics artifacts where an element with a drop-shadow effect left trails when its parent element was the same size and was being animated.
Api Deprecate duplicate Trigger JS Event Blueprint function
Api Added Decoded image state in ImageCacheStats
Api
Breaking change
Removed static data binder. Developer option “–use-static-binding” will not have effect.
Api The API for setting the scene’s rendering target also specifies its format

Exporter 2021.1.3 – released 26 Mar 2021


Feature Movie Clips can now be anchored to the top, left, bottom, and right bounds of their parents.
Feature Mask layers can now contain more than one frame span. A Movie clip made up of shapes can also be used as a mask. Motion tweens and Classic tweens are supported in mask layers.
Fix Fixed animate crash when editing an already deleted AABB layer.

Exporter 2021.1.2 – released 09 Mar 2021


Feature Components can now be generated from a Coherent Prysm document. For more information check out here.
Feature Already generated components can now be loaded in a Coherent Prysm document.
Fix Improved support of fonts that are having UTF-8, UTF-16 symbols, or font-weight in their names. Documented cases where Prysm fonts mapping may not find some font and how to deal with this problem. For more information check out here.

Prysm 1.13.1.3 – released 03 Mar 2021


Feature Improved text rendering
Feature Updated V8 to version 8.8.278 for Microsoft Windows
Feature Precise text layout and positioning
Feature Embedded a last resort fallback font
Feature Implemented font preloading to avoid reading fonts from disk in time critical threads
Feature Nintendo Switch uses V8 for JavaScript execution
Enhancement Optimized matching of complex selectors against DOM elements
Enhancement Add support for automatic binding of UFunctions without parameters in Unreal Engine 4
Enhancement Added option in Unreal Engine 4 plugin for setting the default font
Enhancement Changed the Unreal Engine 4 plugin modules to be ClientOnly
Fix Fixed growing memory usage when data-bind-for is used inside data-bind-if
Fix Fixed advancing a View without a document
Fix Fixed a layout issue with aligned inline text
Fix Fixed a freeze when using font-fit mode fit
Fix Fix a crash in UMG Editor after saving UMG widgets with Cohtml and GT Widget in Unreal Engine 4.26
Api New font API for preloading fonts with specific font description
Api Deprecated the AddFontsFromFolder API
Api Deprecated the SetDefaultFallbackFontName API

Exporter 2021.1.1 – released 17 Feb 2021


Feature JavaScript, CSS, and video files now can be added per scene from the Scene tab. External files added from the Document tab will be included in each scene making them common files. Shared files are visible per scene as well when an author time shared symbol with linked external files exists in the scene.
Feature Rounded rectangles and circles are now exported as div elements when the “Export shapes as divs” option are enabled.
Enhancement Removed scientific notation and trailing zeros in generated files.
Fix Data binding events with custom handlers are now exported correctly when they are added from the Symbol tab.
Fix The automatically generated custom data binding attribute for a custom-bound event is now registered correctly so the event is not broken on export.
Fix Using “Test Movie” and “Test scene” options will generate a warning in the output panel notifying the user to use the buttons from the Prysm panel for exporting the document.

Prysm 1.12.4.2 – released 08 Feb 2021


Feature Added clipboard support in Cohtml Player for Mac OS X
Feature Added support for font-weight CSS property support
Feature Added clipboard support for CohtmlPlugin in Unreal Engine 4
Feature Added support for media decoders and inspector for UnrealEngine 4 on Nintendo Switch
Feature Added WebSocket support for Unity3D
Enhancement Added support XMLHttpRequest timeout
Enhancement Added support for Unreal Engine 4.26
Enhancement Added support for Universal Rendering Pipeline for Unity3D
Enhancement Allowed OnEnabled and OnDisabled to be overridden in Unity3D
Fix Fixed exposing the INodeProxy to C# code in Unity3D
Fix Fixed redrawing SVG images every frame
Fix Fixed complex text shaping issues when mixing different languages
Fix Fixed Cohtml Player not working with –root cmd argument on Mac OS X
Fix Fixed freeze when running the video playback sample on a machine without audio devices
Fix Fixed missing context when using mutation observers
Fix Fixed issues with parsing @font-face URL declarations
Fix Fixed parsing of multiple CSS selectors followed by selection pseudo selector
Fix Fixed crash on closing the Player with open Websocket connections
Fix Fixed reversed Ctrl and Command/Meta modifiers on Mac OS X
Fix Fixed crash on Xbox One with Unity3D
Fix Fixed missing JavaScript context during destruction of canvas elements
Fix Fixed layout of flexbox items after changing their text content
Fix Removed usage of Unity3D APIs in static constructors on PlayStation 4
Fix Fixed clashes between renoir float2 and client float2 types
Fix Fixed parsing of fonts specified with url() without quotes
Fix Fixed mixing of files in a single folder from Unity3D packages for different platforms
Api Changed the logging severity of assert failures to be CriticalError and above the current Error level
Api The load event is fired after the fonts from the stylesheets have been loaded

Prysm 1.12.2.1 – released 18 Dec 2020


Feature Add aspect ratio media feature support
Feature Added support for the change event listener for input and textarea elements
Enhancement Support VW/VH suffices in scrollTop and scrollLeft element properties
Enhancement getModifierState support for Keyboard and Mouse events
Enhancement Update PlayStation 4 to SDK 8.0
Enhancement Update PlayStation 5 to SDK 2.0
Fix Fix image alignment with coh-inline paragraphs
Fix Fixed CohtmlToTransformMatrix2D to handle invalid inputs
Fix Fixed text-transformation styles sticking to detached nodes
Fix Added I18NManager in Unity3D for PlayStation 4 and PlayStation 5
Fix Fixed View flicking when creating multiple views
Fix Fixed a crash in FInternationalizationManager class
Fix Fixed crash when passing null for custom data-binding attribute state
Fix Fixed mouse cursor notification for input fields without explicit type
Fix Fixed event.target.selection indices for input elements
Fix Fixed the timestamp for gamepad events in Unreal Engine 4

Prysm 1.12.0.1 – released 30 Nov 2020


Feature Support for CSS property text-stroke
Feature Support for layout and display of text in complex scripts
Feature Support CSS transitions for shorthand properties
Feature Add a way to pick the primitive that the Prysm component attaches to by specifying its name in Unreal Engine 4
Feature [Experimental] New Unity C# backend. It is supported for Unity 2019.3 or newer and for every platform except MacOSX, iOS and Androd.
Feature Support for Xbox Series X in Unity. The platform is supported only with C# rendering backend.
Enhancement Added Prysm Mac Player and Launcher to the UE4 packages
Enhancement Added mechanism for reusing ViewStates between HUD/UWidget recreations in Unreal Engine 4
Enhancement Added vw, vh suffices for scrollHeight and scrollWidth properties
Enhancement Added HTTP support for the Player on Mac OS X
Fix Fixed crash when binding JavaScript models with null value
Fix Fixed a crash when invoking innerHTML inside custom element callbacks
Fix Fixed wrongly calculated dimensions when using dynamically sized flex containers
Fix Fixed performance regression caused by allowing multiple paint rectangles
Fix Fixed XHR response status code propagating to JavaScript
Fix Fixed event.target.selection index values on input events
Fix Trigger video onerror for unsupported codecs and errors during decoding
Fix Fixed document loading after image loading has been canceled
Fix Fixed custom event attributes handling on cloned elements
Fix Fixed suffixed properties like right[PX|VH|VW] in computed styles
Fix Fixed potential crash during initialization on Mac OS X
Fix Fixed default input element cursor
Fix Ignore unsupported CSS selectors and continue parsing the stylesheet
Fix Fixed untracked allocations in MediaPlayerSourceBuffer
Fix Fixed accumulating unresolved promises for engine.call invocations with missing C++ handlers
Fix Fixed setting timestamp value when updating the gamepad data in Unreal Engine 4
Fix Fixed user image request leaks that caused deadlocks
Fix Fix possible broken state of ClickThroughQuery after resize
Fix Fix crash when game starts with Korean language
Fix Fix crash in break-iterators due to incorrect string conversion in Unreal Engine 4
Fix Add proper handling of overlapping border radii when clipping with rounded rectangle and filling and stroking rounded rectangle
Api Add API for setting rendering resolution, independent from the HTML resolution Render sublayers that are transformed with the correct scaling as well
Api Expose methods for setting all the caches
Api Calls to engine.call without C++ handler bound, will reject the returned promise objects
Api Modify the Renoir backends initialization so that all constructors take a single settings object

Prysm 1.11.0.1 – released 09 Nov 2020


Feature Added experimental generation of text atlases on GPU
Enhancement Increased maximum allowed blur radius for blur effects from 24px to 95px.
Enhancement Added PlayStation 5 CommonGame and samples
Enhancement Added XboxSeriesX CommonGame and samples
Enhancement Added XboxOneGDK CommonGame and samples
Fix Fixed Player failing to start in evaluation packages
Fix Fixed crash when updating and unregistering a model in the same SynchronizeModels
Fix Fixed keeping unresolved promises for engine.call calls without a C++ handler registered for the call
Fix Fixed crash when calling UnloadDocument explicitly before destroying a view or navigating to another URL
Fix Fixed ES6 modules crash and assert failure in Debug configuration
Fix Fixed parsing CSS stylesheets containing unsupported media queries
Fix Fixed evaluation of data-binding expression after unregistering and registering model for a second time
Fix Fixed ChakraCore crashes and possible memory leaks due to missing context
Fix Reduced video buffer size to reduce memory consumption
Fix Fixed performance regression of finished animations with fill mode forwards/both
Fix Fixed PlayStation 4 and XboxOne assembly definitions in Unity3D UPM package.
Fix Fixed using the inspector with Unity3D UPM packages
Api Calls to engine.call without a C++ handler registered and no failure callback for the promise will trigger error messages

Prysm 1.10.0.2 – released 06 Oct 2020


Feature Added support for custom elements upgrading (V1 API)
Feature Added support for drawing and styling all HTML tags
Feature Added support for break-iterator for Asian text in UnrealEngine 4
Enhancement GPU timing for Nintendo Switch is now available when doing a performance trace in the Inspector
Enhancement Added packaging of V8 libraries with separated debug symbols for Unix based platforms in UnrealEngine 4
Fix Fixed a crash in V8 due to double exposing of the same C++ objects
Fix Fixed a crash when reloading a view with JavaScript breakpoint set at file level
Fix Fixed color interpolation between semi-transparent colors
Fix Fixed a rare issue causing nesting of events in the inspector performance timeline
Fix Fixed frontend and backend inspector performance events not appearing in the timeline
Fix Fixed disappearing elements when using gradients as masks
Fix Fixed wrong pending image counter causing an assert failure in Debug
Fix Fixed the scroll of Computed style panel in Inspector’s Elements tab
Fix Fix assertion caused by std::function on PlayStation 4
Fix Fixed crash when game starts with Korean language in UnrealEngine 4
Fix Fixed crash in Cohtml break-iterators due to incorrect string conversion in UnrealEngine 4

Exporter 2020.4.0-beta – released 30 Sep 2020


Feature The Show border around text feature of Adobe Animate is now supported
Feature Color effects applied to frames in Adobe Animate are now supported
Feature Blend modes applied to frames in Adobe Animate are now supported
Feature REM units are now supported. The “Units”” tab and the “”Default CSS Length Units”” section are extended with a rem option. A “”rem base”” input in the “”Default CSS Length Units”” defines the base rem pixel value”
Feature 9-sliced movie clips are now supported
Feature Publishing the library item of a movie clip as a component is now supported. Components generate all files that relate to the movie clip in a separate directory
Fix Choosing “percents”” as an option in the “”Default CSS Length Units”” section now affects elements on the stage”
Fix The underscore character can now be used in the “Symbol’s CSS”” and the “”Immediate children’s CSS”” inputs in the “”Properties tab”””
Fix Choosing the “Multiline no-wrap”” behavior for a text now correctly creates texts that don’t wrap long words”
Fix Texts with an origin point outside of their box that are scaled, skewed, or rotated are now correctly published
Enhancement The generated animations are now smoother for classic tweens and motion tweens
Enhancement SVG files are now generated in a new directory named SVG to make the navigation of the resulting files more coherent
Enhancement The names of the HTML files generated for each scene are now always prefixed with the document’s name to reduce collisions with other files
Enhancement Each HTML element is now styled through a single CSS class named “prysm_[position of the element in dom]”” to make browsing the styles of an element more coherent”
Enhancement All geometric shapes created through the various shape and brush tools of Adobe Animate are now published into SVG files
Enhancement Geometric shapes from different layers and frame spans are combined into as little SVG files as possible to increase performance
Enhancement The names of the generated SVG files are changed to [document name]_prysm_[position in dom] to reduce collisions with other files and to make browsing the SVG file of an element more coherent
Enhancement Each geometric shape that can be selected as a single instance in Adobe Animate is wrapped with a group tag in its SVG file to make the generated SVG files more coherent
Enhancement Dynamic texts are now published as p tags in the HTML to fit their semantics
Enhancement Text margins now correctly move the text inside its box rather than moving the text box
Enhancement Rounded borders and bevel borders are now supported for rectangles
Enhancement The generated CSS keyframes are split according to their purpose. There are layoutAnimation, blendModeAnimation, colorEffectAnimation, movieClipVisibilityAnimation and depthAnimation keyframes
Enhancement The generated JS files that contain frame labels are now human-readable
Enhancement The frame labels of the scene are now found under the //scene_labels// key to remove collisions with symbol labels
Enhancement The JS files that contain symbol events are not generated when there are no symbol events
Enhancement A log file with the history of the messages in the “Output”” panel of Adobe Animate is generated in %TEMP%/coherent_prysm_log.log”
Known Issue Mask layers didn’t work as expected in straight cases in the previous version of Prysm, so they are temporarily disabled
Known Issue Bitmap fills didn’t work as expected in straight cases in the previous version of Prysm, so they are temporarily disabled
Known Issue Gradients fills didn’t work as expected in straight cases in the previous version of Prysm, so they are temporarily disabled
Known Issue Filters fills didn’t work as expected in straight cases in the previous version of Prysm, so they are temporarily disabled
Known Issue macOS is unsupported
Known Issue Documents that contain a lot of images in their library are slower to publish
Known Issue Color effects with have alpha additives and alpha multipliers applied to movie clips or layers can turn the background of some geometry elements black
Known Issue Classic tweens with rotation set to “none”” are interpolated from the last frame of the tween to the first frame of the next span”
Expected Behavior Stroke miters that exceed the miter-limit set in Adobe Animate work differently in SVG. Flash clips the strokes to the edge of the miter-limit while the SVG engine acts like the join type is bevel
Expected Behavior Text margins bigger than the text box extend the text box size
Expected Behavior Adobe Animate can create content that is disabled for the Prysm document type. In such scenarios the unsupported content is ignored on publish
Expected Behavior The width and height of a movie clip is defined by the total width and height that its children span
Expected Behavior The X and Y values of objects seen in Adobe Animate can’t be seen in the generated HTML. Elements are published such that applying their affine transformations produces a correct result with the origin point that is set through Adobe Animate
Expected Behavior Movie clips are always published like their registration point is at the top-left of their children’s AABB. This is done so that overflow and events work as expected. This also implies that the top, left and transform-origin values are going to be different from what is seen in Adobe Animate
Expected Behavior When the events set from the “Events”” tab are converted to data-binding events
Expected Behavior Live-view and video is applied only to the image elements of a movie clip, so that the behavior is more predictable
Expected Behavior Choosing “Static”” or “”Relative”” from the “”Position”” dropdown in the “”Properties”” tab removes the top and left values of the generated element”
Expected Behavior Publishing classic tweens that do not have a single movie clip in both frame spans is undefined
Expected Behavior Currently there is no difference in the selected frame label type. All frame label types can be used for animation control
Expected Behavior When “Apply to children”” is selected for the events or properties in the “”Data-binding”” tab any properties or events that have data-binding aliases are resolved at the level of the movie clip”
Expected Behavior Events that are converted to data-binding events are always set to the movie clip. The “Apply to children”” checkbox in the “”Data-binding”” tab does not affect them”
Expected Behavior Movie clip instances that appear in consecutive horizontal frame spans are combined into as little movie clip instances as possible. Their state from different frames is applied as a keyframe animation
Expected Behavior VH and VW units are calculated based on the size of the stage of the document
Expected Behavior Percent units set to a movie clip are calculated relative to the size of the parent symbol. Percent units for elements on the stage are calculated relative to the size of the stage
Expected Behavior The size of the stage is always added to the body tag in pixels. This is done so that percents applied to the immediate children of the body have a baseline value
Documentation In case you have content made with older versions of Prysm, please refer to the migration guide

Prysm 1.9.9.8 – released 16 Sep 2020


Fix

Fixed crash when calling FreeRenderingResources on views with SVG images

Fix

Fixed possible leak of SVG tessellated data

Prysm 1.9.9.5 – released 10 Sep 2020


Fix

Fixed possible deadlock when advancing the views

Prysm 1.9.9.2 – released 02 Sep 2020


Enhancement Added support for the background-position-x and background-position-y CSS properties
Enhancement Improved Dualshock 4 contoller support for Unity3D
Fix Fixed wrongly fired resource abort notifications for already completed requests
Fix Fixed race issues when executing layout tasks in parallel
Fix Fixed linker issues when the library is delay loaded with certain compiler options
Fix Fixed a crash which was occuring during event dispatching
Fix Fixed an error about missing context argument in engine.off
Fix Fixed a bug causing rare failures to load style sheets
Fix Improved tagging of memory allocations to better reflect its usage
Fix Fixed chaining CSS animations on the same CSS property
Fix Fixed by ref binding of empty std::vector collections
Fix Removed requirement for Vulkan runtime on Windows for Unity3D plugin
Fix Fixed scrolling on Linux in Unity3D with the new InputSystem
Fix Fixed Unity3D editor deadlocks when stopping the game
Fix Fixed checkout issues for Perforce users in the Unreal Engine 4 plugin
Fix Fixed memory allignment issue in VirtualAllocators on PS5 and Switch
Api Added option to disable internal allocators that retain memory
Api Added “pixels per scroll” to set the speed of the scrolling in Unity3D
Api Increased the version of cohmtl.js – update all your copies

Prysm 1.9.7.2 – released 17 Aug 2020


Feature

Support for WebSockets in Unreal Engine 4

Fix

Fixed disappearing elements with certain style changes

Fix

Fixed crash when registering new engine.on handers during execution of a handler

Fix

Fixed crash when locking vertex or index buffers fails

Fix

Renamed internal rapidjson and rapidxml libraries to avoid clashes

Prysm 1.9.5.4 – released 06 Aug 2020


Feature Added line break iterator API to aid text wrapping
Feature Enabled saving profile from Inspector’s Performance tab
Feature Added support for aborting of resource requests when the view is destroyed or navigate to another page
Feature Update PlayStation 4 SDK to version 7.5
Feature Added setting for converting property names to lower case in Unreal Engine 4 when using the automatic UType binder
Feature Added a special CSS property “coh-composition-id” which allows users to compose the element with a custom renderer
Feature Added special CSS properties “coh-custom-effect-name” along with several custom animatable parameters that allow users to apply a custom shader to the element
Feature Added new RendererCaps members which allow customizing the maximum allowed texture size. These new properties must be filled in the RendererBackend::FillCaps method.
Feature Support for Live Views in Unity3D
Enhancement Increased the maximum allowed paint rectangles
Enhancement Paint rectangles now leave a short trail
Enhancement Made CohtmlView and CohtmlUISystem Unity3D specific methods virtual
Enhancement Added customizing the Library configuration in Unity3D
Fix Fixed getPropertyValue for the transform CSS property
Fix Fixed crash when using toLocaleLowerCase on Xbox
Fix Fixed FInputGesture deprecated warnings in Unreal Engine 4
Fix Fixed History feature minor memory retention on reload
Fix Fixed capital letters, spaces and special characters in Unity3D with the new Input System
Fix Fixed multiple view srendering and overlaying in HDRP mode for Unity3D
Fix Fixed crash in the CSS parser for malformed calc expressions
Fix Fixed crash when toggling view visibility in Unreal Engine 4
Fix Fixed crash when responding to resource requests after destroying the library in Unreal Engine 4
Api Added an API for an external break iterator implementation
Api Add View::SetCustomSceneCompositor method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface
Api Add View::SetSceneCustomEffectRenderer method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface
Api Added API for clearing the navigation history of a given cohtml::View
Api Added an option to receive resource request calls on the main thread

Prysm 1.9.2.4 – released 20 Jul 2020


Feature

Support for PlayStation 4 SDK 7.5

Prysm 1.9.2.2 – released 14 Jul 2020


Feature

Paint rectangles can be toggled by the Inspector rendering panel

Enhancement

Added support for percent values in SVG images

Enhancement

Reduced per-frame allocations for transformations

Enhancement

Extended the performance timeline of the Inspector with additional events

Enhancement

Made the destruction of the UCohtmlWidget non-blocking in the Unreal Engine 4 plugin

Fix

QuerySelectorAll returns elements in the correct depth-first-search order

Fix

Fixed crash when dispatching events during document unloading

Fix

Fixed crash when starting a XmlHTTPRequest during document unloading

Fix

Fixed elements disappearing during scrolling

API

Deprecated the Android builds with the gnustl standard library. They are moved to the *_gnustl folders

Fix

Fixed lifetime of the AudioWrapper objects in the Unreal Engine 4 plugin

Fix

Fixed the plugin unload order in the Unreal Engine 4

Fix

Crash when responding to XmlHTTPRequests after the plugin has been uninitialized in Unreal Engine 4

Prysm 1.9.0.12 – released 18 Jun 2020


Feature

Support for Unreal Engine 4 4.25

API

This version is not compatible with versions of Unreal Engine 4 different that 4.25

Prysm 1.9.0.11 – released 17 Jun 2020


Feature

Unity3D Package Manager packages for console platforms

Feature

Added custom memory allocator support to Renoir backends

Feature

Added callbacks for resources lifetime in Renoir backends

Enhancement

Improved the performance of loading font collections

Enhancement

Reduced the repaint area when a small part of the view is changed

Enhancement

Improved error messages when binding map-like objects with non-string keys

Enhancement

Improved using custom SystemSettings in Unity3D

Enhancement

Added engine.off information to the Documentation

Enhancement

Updated support for Unity3D HDRP to the latest rendering pipeline API changes

Fix

Text wrapping properly respects &nbsp;

Fix

Query selectors and CSS selectors work with data- attributes

Fix

Fixed crash when multiple gradient definitions are parsed in parallel

Fix

Fixed assert on view destruction for ChakraCore platforms with multiple views and data-binding are used

Fix

Fixed degrading performance when using hover on complex selectors

Fix

Fixed updated layout styles depending on rem or em units when the unit changes

Fix

Fixed flex properties that continued to be in effect after removing their CSS declarations

Fix

Fixed loading resources with a backslash in the URL for Unity3D

Fix

Fixed gamma-correctness for Unity3D HDRP

Fix

Fixed handling of events by the TextInputHandler when Advance() is not called on the System

Fix

Fixed crash caused by updating of the pointed/hovered elements after scrolling.

API

Deprecated handled flag for input events

Prysm 1.8.2.10 – released 5 Jun 2020


Fix

Fixed crash with scrolling and moving the mouse outside of the view

Prysm 1.8.2.5 – released 5 May 2020


Feature

Added support for images that have non-premultiplied alpha

Enhancement

Updated Unity3D HDRP rendering support to new Unity3D 2019.3

Enhancement

Mouse pointer events are handled during scrolling

Enhancement

Added localization sample with React

Fix

Fixed border color when top side of the border is missing

Fix

Fixed pointer-events for HTML elements when the parent is clipped or creates a stacking context

Fix

Fixed typing into text input fields when text transform is used

Fix

Fixed Unity3D warning about package version using more than 3 numbers

Prysm 1.8.1.4 – released 27 April 2020


API

Changed Unity3D license keys – please download your new key from the developer portal

Feature

Added support for multiple UISystem instances in Unity3D

API

Refactored the Unity3D plugin to be based on the vanilla C++ API

Enhancement

Localization works for elements that are added dynamically to the DOM

Enhancement

Added support for DirectX 12 to the Unity3D plugin

Fix

Fixed running Unity3D with Vulkan on Linux

Fix

Fixed text transformation on dynamically created elements

Fix Reintroduced the scrolling optimization with fixes for the artifacts and input issues.

Prysm 1.8.0.11 – released 16 April 2020


Feature

Added experimental inline layout for text

Enhancement

Allowed registering models with complex sub-model as a first member (on the same address)

Fix

Fixed array-like behavior of NodeList collections for platforms using ChakraCore

Fix

Improved rendering of SVGs when background-repeat with transformations is used

Fix

Fixed crash when destroying the view or navigating to a different URL with XML HTTP Requests in flight

Prysm 1.7.4.1 – released 24 April 2020


Fix Reintroduced the scrolling optimization with fixes for the artifacts and input issues.

Prysm 1.7.3.1 – released 15 April 2020


Enhancement

Added sample with polyfill for <ol>, <ul> lists and <li>

Enhancement

Added sample for using subtitles for videos

Enhancement

Moved text case transformations to the DOM thread

Fix

Fix turned off the scrolling optimization, because it can break the input in certain cases

Fix

Fix layout overwriting the scroll position set on the DOM thread

Fix

Fix crash when element change parents with overflow: hidden

Fix

Fix some animations not running to complete 100%

Fix

Fix crashes due to missing temporary allocator in TriggerEvent when calling it from fibers or different threads

Fix

Fix scrollWidth for text with overflow

Fix

Fix coordinated for scroll event in Unity3D packaged games

Fix

Fix Unity3D reloading when TextTransformationManager is used

Fix

Fix scrolling coordinates with the new Unity3D input system

Prysm 1.7.0.15 – released 16 March 2020


Fix Reintroduced the scrolling optimization with fixes for the artifacts and input issues.

Prysm 1.7.0.14 – released 11 March 2020


Fix Reverted scrolling optimization due to causing artifacts and input issues.

Prysm 1.7.0.12 – released 09 March 2020


Enhancement

Improve performance of scrolling and hit tests

Enhancement

Improve performance of reading font files

Enhancement

Add virtual list scrolling sample

Enhancement

Add support gamepad with Input Manager in Unity3D

Enhancement

Implement gamepad editor tool to insert gamepad controls in Unity3D

Enhancement

Add units support for flex basis

Enhancement

Add support for preloaded images in Unity3D with DirectX 12

Enhancement

Support building the PlayerOverrides project in Unreal Engine 4

Fix

Fix crash in video when there are multiple layout threads and views are not updated every frame

Fix

Fix scrolling in elements with dynamically changed content and size

Fix

Fix crash when using data-bind-for for a string value

Fix

Fix crash when converting a non-boolean value to boolean for data-binding

Fix

Fix undefined behavior when binding empty arrays and vectors

Fix

Fix clearing of canvas textures in certain cases

Fix

Add missing temp allocator for IME related methods of cohtml::View

Fix

Fix scrolling and panning when it is performed very slowly

Fix

Fix triggering events with null objects from C# to JavaScript in Unity3D

Fix

Fix changing styles in the inspector in Chrome 80 and later

Fix

Fix submission warnings for debug symbols on Stadia

API

Switch C++ standard library to libc++ on Stadia

API

Switch C++ standard library to libc++ on Linux

API

Add developer option for controlling whether to snap the display boxes before transforming. Warning: Enabling this option results in more repainting.

Prysm 1.6.1.1 – released 20 Feb 2020


Feature

Support for WebSockets (see the documentation how to use them)

Feature Support for Android x86_64
Feature Moved Unity3D packages to use the Unity3D Package Manager
Enhancement Improved support for nullable types in Unity3D
API

Moved COHTML_BUILD_VERSION and COHTML_SDK_VER to <cohtml/Revision.h> header

Prysm 1.6.0.4 – released 11 Feb 2020


Fix Fixed running the inspector in Google Chrome version 80.

Prysm 1.6.0.1 – released 04 Feb 2020


Enhancement

Significantly reduced memory usage of SVG images

Enhancement

Exposed the image cache inspection API to Unity3D

Enhancement

Added support for DateTime struct in Unity3D

Enhancement

Added support for read-only List in Unity3D

Feature

Support for Unreal Engine 4 4.24

Fix

Fixed drawing order for combinations of elements with z-index and positioning

Fix

Fixed several issues with stroking paths in SVG images

Fix

Fixed clipping child elements when parent has border-radius

Fix

Fixed text selection and caret placement on transformed text

Fix

Firing events on wrong elements in certain cases

Fix

Fixed text alignment with text-overflow

Fix

Fixed parsing floating point numbers in stylesheets on non-US locale POSIX based platforms

Fix

Exposed UnbindCall and UnregisterEvent to Unity3D

Fix

Exposed ITextTransformationManager to Unity3D

Fix

Fixed exposing FString on POSIX based platforms

Prysm 1.5.0.1 – released 19 Dec 2019


API

Improved anti-aliasing

Feature

Added a dropdown (<select>) reusable widget

Feature

Added new input sample using the text entry API

Feature

Support for Unity3D new InputSystem

Enhancement

Fixed pathological memory usage with better GC heuristics

Enhancement

Vertex and index buffers for SVGs are properly reused

Enhancement

Added rotate-around-point for SVG

Fix

Fixed various issues with scaling SVGs

Fix

Fixed assert when using box-shadow on an element with width 0

Fix

Fixed bitmap fonts reloading after FreeRenderingResources

Fix

Fixed support for SVGs with transform and gradients

Fix

Fixed crash when seeking a paused video

Prysm 1.4.2.2 – released 13 Dec 2019


Fix

Fixed video playback freezing with certain videos

Prysm 1.4.2.1 – released 09 Dec 2019


Fix

Fixed regression in rendering certain SVGs with applied transformation

Fix

Fixed text-shadow being rendered when the text is not visible

Prysm 1.4.2.0 – released 05 Dec 2019


Feature

Unity3D support for Linux

Feature

Unity3D support for PlayStation 4

Enhancement

Made async and defer scripts work according to the standard

Enhancement

Enhanced the Player to support DPI on Mac OS X

Fix

Fixed styling of elements affected by attribute based CSS selectors

Fix

Fixed using preloaded images in Unity3D on Xbox One

Fix

Fixed [] of dom collections to return undefined for invalid indices

Fix

Fixed using sampler filtering for bitmap fonts

Fix

Fixed detecting mouse events on elements with certain transformations

Fix

Exposed the ILocalizationManager to Unity3D

Fix

Fixed SVGs disappearing with certain transformations

API

Fixed gamepad indices to work as specified by the standard. Read more about the changes

Prysm 1.4.1.0 – released 05 Nov 2019


Feature

Dynamic data-binding is available as an experimental option

Feature

Support for gamepad in Unity3D

Feature Added support for all the dynamic text behaviors (Single line, Multiline and Multiline no wrap).
Feature

Support for custom plugins in the Player

Feature

Support for localization in the Player

Feature

Added the document.elementFromPoint and document.elementsFromPoint methods

Enhancement

Support for the text-overflow CSS property

Enhancement

Support for the white-space CSS property

Enhancement

Reduced memory consumption of CSS variables

Enhancement

Added support for BC7 compressed textures

Enhancement

Improved performance of dash stroke paths

Enhancement

Enhanced new text entry API

Enhancement

Added option for controlling vertex and index buffer ring size

Enhancement

Added option for controlling the SDF character size for font rendering

Enhancement

Improved layout for text with different alignment

Enhancement

Added relatedTarget to JavaScript events

Enhancement

Added support for HTTP(S) resources in Unity3D

Enhancement

Added location for keyboard events in Unreal Engine 4

Enhancement

Added location and isRepeat for keyboard events in Unity3D

Enhancement As of version 2019.1.3, documents with type Coherent Prysm Legacy won’t be available anymore. If you have projects created with this document type please make sure you have converted them to the Coherent Prysm document type via the document converter described here.
Fix

Fixed drawing of positioned elements below non-positioned elements

Fix

Fixed GC triggered crash in Unreal Engine 4 with preloaded images

Fix

Fixed borders when border-radius is used

Prysm 1.4.0.3 – released 10 Oct 2019


API New License Keys have been generated!
Feature Support for Google Stadia for native and Unreal Engine 4
Feature Support for Linux for native and Unreal Engine 4
Feature Support for Unreal Engine 4.23
Enhancement Data-binding attribute for mask-image
Enhancement Moved shaders inside the plugin for Unreal Engine 4
Enhancement Updated Preact sample and documentation
Enhancement Added first tier of a more powerful text entry API
Enhancement Gamepad support for the Player on Mac OS X
Enhancement Added API to control which resources can be loaded from a view
Fix Fixed issues with using the IME and changing focus
Fix Fixed the order of applying transformations and filters to elements
Fix Fixed box shadows visible for non-visible elements
Fix Fixed adding visible children to non-visible elements
Fix Fixed video playback in Unreal Engine 4 on Mac OS X
Fix Fixed setting relative URL using the history API
Fix Fixed crash when calling C++ method from JavaScript inside engine.on events
Fix Fixed support for SVGs with transform and gradients
Fix Fixed mouse buttons for MouseEvent in Unreal Engine 4

Prysm 1.3.2.1 – released 05 Sep 2019


Enhancement Added support for five button mouse events
Enhancement Added support for scroll events for textarea
Enhancement Support for pre tags
Enhancement Added support for the change event for input elements
Enhancement Added UserIndex for virtual keyboard support in Unreal Engine 4
API Added API to customize the resource loading in Unreal Engine 4
Fix Fixed controller indices when connecting and disconnecting multiple
controllers
Fix Fixed the garbage collector on PlayStation4 to collect more
aggresively on certain loads
Fix Fixed several JavaScript engine crashes on PlayStation4 and Xbox One
Fix Fixed crash when calling C++ methods with wrong number of arguments
from JavaScript
Fix Fixed reversed mouse scroll in Unreal Engine 4

Prysm 1.3.1.4 – released 22 Aug 2019


Fix Fixed rendering artifacts related to text without specified width.
Fix Fixed memory corruption on PlayStation 4, XBox One, iOS, UWP.

Prysm 1.3.1.1 – released 23 Jul 2019


Feature Support for mixing languages and fonts in a single text.
Feature Custom event handlers can now be added through the Events and Documents tab.
Feature When multiple scenes are exported separately, system folders and library folders can now be linked, so that resources from the library are referenced by a relative path, instead of being copied multiple times.
Enhancement The loop property of videos can now be controlled through the Coherent Prysm panel in Adobe Animate.
Enhancement When exporting a scene, Prysm now exports JavaScript files with symbol variables and animation labels for each scene rather, and not one file per document. A JavaScript file in the old format with all layers and all symbol variables is still exported for compatibility, but is not referenced in the exported HTML.
Enhancement Updated Android samples projects to support ARM64
Enhancement Updated Android samples projects to Android Studio 3.4
Enhancement Added support for optional RequireJS modules with error event for
script and link elements
Fix Fixed the offsetWidth and offsetHeight functions for hidden
elements
Fix Fixed using custom-element-tag as selector in CSS stylesheets
Fix Enabled ARC for the metal backend library
Fix Fixed cooking game on the fly with Unreal Engine4
Fix Fixed crash when removing DOM elements with data-binding attributes
Fix When removing a file from the external files panel, while the file options are displayed, now removes the options correctly.
Fix Exporting a document containing a scene and a symbol with the same name now works, instead of displaying error.

Prysm 1.3.0.2 – released 28 Jun 2019


Feature Added ability to define Custom data-binding attributes
Feature Vulkan backend Windows implementation for the native SDK
Feature Experimental Unreal Engine 4 Switch support. Video and inspector are
not supported yet.
Feature Experimental support for libc++ for Android
Feature Experimental support for Android ARM64
Feature Added support for CSS cursors in Unreal Engine 4
Feature Added text-transform for Unreal Engine 4
Feature Added an API to advance a view, without it rendering anything
Feature Added support for overflow-wrap CSS property
Enhancement Added DPI scaling to the player application
Enhancement Added data-bind-font-size
Enhancement Enhanced virtual keyboard support for Unreal Engine 4
Enhancement Added engine.whenReady promise object, equivalent to
engine.on('Ready')
Enhancement Added support for mipmaps in DDS textures
Enhancement Added support for the touchmove event
Enhancement Added controller support in the PlayStation 4, Nintendo Switch and
UWP samples
API Added API to control the size of the text atlas texture
Fix Fixed assert when creating input elements in multiple views
Fix Fixed missing invocations to the finish callback of animations
Fix Fixed restarting an animation inside the finish callback
Fix Fixed logging warnings in cohtml.js

Prysm 1.2.3.1 – released 24 Jun 2019


Fix Fixed crash when using by-value getters in data-binding
Fix Fixed crash when recreating views on PlayStation 4
Fix Fixed missing text on the UMG widget on PlayStation 4
Fix Fixed broken gradients on the UMG widget on PlayStation 4
Fix Fixed rendering uninitialized textures with the UMG widget on Xbox One

Prysm 1.2.2.3 – released 13 May 2019


Feature Added support for aliases to data-binding models
Feature Added support for batch export from the command line.
Feature Added a recursive symbol duplication service
Feature Added the :active pseudo selector
Feature Added the visibility CSS property
Feature Added the KeyboardEvent.repeat property
Enhancement Added data-bind-html, which allows to set innerHTML with data-binding
Enhancement Allowed the localization texts to contain html tags
Enhancement Added the load event to script and stylesheet elements
Enhancement Enhanced log messages for wrong property names used for data-binding
Enhancement {{model}} (without property) can be used for data-binding
Enhancement Scrolling works correctly with nested scrollable elements
Enhancement Automatically casting enum types to int for iOS and Switch for binding
Enhancement Binding supports long numbers
Enhancement Regular on event handlers work with data-bind-for
Enhancement Not handled promise rejections are logged
Enhancement Added engine.unregisterModel API to unregister a model from JavaScript
Enhancement Added an API to set the ILocalizationManager in Unreal Engine 4 integration
Enhancement Added support for exposing UDataTable to JavaScript
Enhancement Added ability to customize the automatic binding in Unreal Engine 4
Fix Fixed disappearing SVG images when background-image property is changed
Fix Positioning of text caret in text inputs with aligment
Fix Fixed text selection when text has CSS transform
Fix Fixed crash in Unreal Engine 4 when chaining multiple property accesses in data-binding
Fix Fixed the gamepaddisconnected event to contain which gamepad has been disconnected
Fix Fixed cloneNode to clone attached event listeners
Fix Fixed handling special symbols for input fields in the Binding tab
Fix Fixed events addition to elements generated with data-bind-for

Prysm 1.2.1.1 – released 24 Apr 2019


Feature Updated Unreal Engine to 4.22
Fix Fixed crash when using View::UnloadDocument
Fix Fixed support for React v16.5
Fix Fixed using iterator names that are prefix of other iterator names
in data-binding
Fix Fixed using {{model}} in data-binding expressions for C++ models.
Fix Fixed indexOf and slice for arrays exposed by-ref on ChakraCore
platforms

Prysm 1.2.0.4 – released 09 Apr 2019


Feature Added the ability to export instance names as ID’s via a checkbox in the “Settings” tab
Feature Added CSS transitions in Prysm Exporter
Feature Added support for the font-fit-mode property which resizes text based on its AABB dimensions
Feature Added support for passing DOM elements as arguments to CLAnimations.js functions
Feature Labels from all layers are now exported
Feature Added an option for playing all the nested animations of an element. This option is also added to the CLAnimations.js methods
Feature Added a checkbox in the Settings tab that toggles the export of invisible layers
Feature Checked enable-complex-css by default
Feature Made UE4Root path to be relative to the fla file
Feature Added more options for events handlers related to playing an element animation. With these options you can target elements more accurately
Feature Authortime shared symbols now include all of the metadata added in the source file
Enhancement The exported labels are now subgrouped by layers
Enhancement There is no more need to add an instance name to a symbol to be able to change its custom properties. All properties of a symbol are now shared between all of its instances in the document
Enhancement Instance names are used for targeting a specific element when you want to play its animation
Enhancement Removed the symbol instance metadata option from “Events” and “Binding” tabs to simplify workflow
Enhancement Generated events are now written in separate JS files which are included in the html
Fix Metadata is no longer cleared from elements on guide layers
Fix Fixed a number of crashes and bad exported values
Fix Fixed some SVG mask cases for Prysm Documents. SVG masks are now outputted to a separate file instead of being embedded in the HTML
Fix Fixed SVG mask paths that broke drag and drop into the player
Feature Added support for CSS transitions
Feature Added support for pointer-events CSS property
Feature Enhanced the flex CSS property to support setting grow and shrink
Feature Added support for CSS cursors
Feature Added support for the console tab and script debugging on Mac OS X
Feature Added support for mix-blend-mode: add
Feature Added support for KeyboardEvent.location
Feature Added support for copy and paste
Feature Added support for Home and End keys
Feature Added automatic sizing for text fields
Feature Added API to get the Nodes attributes from cohtml::INodeProxy
Feature Added text selection to all elements
Enhancement Refactored Renoir backend API to work better with low-level rendering APIs like Metal
Enhancement Replaced JavaScriptCore with ChakraCore on Xbox One and PlayStation 4
Enhancement Replaced JavaScriptCore with V8 on Mac OS X
Enhancement The inspector no longer disconnects when the view is reloaded
Enhancement Significantly improved inspector loading speed for pages with lots of elements
Enhancement Data-binding attributes are visible in the inspector
Enhancement Reduced thread-local variables count to allow running on more Android devices
Enhancement Android uses the Android NDK r15b
Enhancement Added gestures support in Unity3D
Enhancement Added range requests support in Unity3D
Enhancement Added gamepad support to PlayStation4 samples
Enhancement Improved performance for drawing polylines in canvas
Enhancement Allowed loading stylesheets encoded in UTF-8 with BOM
Enhancement Moved V8 background tasks to worker threads tasks
Enhancement Added GPU debug metadata in Unreal Engine 4
Enhancement Implemented animation shorthand CSS property
Enhancement Added custom HTMLMediaElement events signaling when a decoder cannot keep up (cohplaybackstalled) and when it catches up (cohplaybackresumed). These events can be used to synchronize other animations with the video playback.
Enhancement Seeking paused videos now shows a preview of the seeked position
Enhancement Added non-standard property to the CanvasRenderingContext2D “enableFastLineSegmentDrawing” which can allows much faster drawing in a canvas if the image consists of line segments only
Fix Fixed assert when calling bound C++ methods with incorrect arguments from JavaScript
Fix Fixed assert when removing the src attribute of an img and reloading the view
Fix Fixed using the skewX property in animations
Fix Fixed leaking some GPU resources on reloading the view
Fix Fixed calling the connectedCallback on custom elements in appendChild
Fix Fixed calling bound methods on objects that have been removed with View::DestroyExposedInstance
Fix Fixed using unsigned numbers for specifying a color in data-binding
Fix Fixed possible memory leak of ParseHTML when the system is destroyed before the load has finished.
Fix Fixed crash when using canvas stroke with gradient
Fix Fixed Inspector to show all transformations on an element with multiple transformations.
Fix Fixed currentTime attribute when the animation is paused
Fix Fixed onBlur, onFocus events on input elements when using React
API Changed Renoir API to allow simultaneous usage from Coherent GT and Gameface
API Split Renoir backend in UnrealEngine 4 to a separate module
API Added virtual destructors to pure virtual classes and structs
API Added default implementation to ViewListener’s methods
API Renamed Renoir library files to start with lib
API Moved enable color writes to the PSO instead of SetRenderTarget param

This is part of a breaking change in Renoir backends. See the how to update guide
API Moved MSAA to the PSO

This is part of a breaking change in Renoir backends. See the how to update guide
API Added upload buffer (constant buffers) management in Renoir

This is part of a breaking change in Renoir backends. See the how to update guide
API Moved auxiliary constant buffers from the Renoir backend to Renoir core library

This is part of a breaking change in Renoir backends. See the how to update guide
API Started doing ClearQuad instead of ClearRenderTarget based on new backend capability

This is part of a breaking change in Renoir backends. See the how to update guide
API Added BeginRenderPass and EndRenderPass backend commands to Renoir

This is part of a breaking change in Renoir backends. See the how to update guide

Prysm 1.1.0.4 – released 08 Feb 2019


Feature Added default rendering backend implementation for the Metal graphics API
Feature Added support for CSS Custom properties (variables)
Feature Added support for CSS “!important” rule
Feature Added support for multiple values in the CSS background-image property
Feature Added support for the CSS calc() function. Currently, mixing percentages with other value types is not supported.
Feature Selection API for input and textarea
Feature Added support for CSS ::selection pseudo element
Feature Added support for CSS :root pseudo-class
Feature Implemented a system that alerts the user about duplicate instance names which cause metadata clashes.
Feature Added cache control API for clearing and setting sizes of caches
Feature Added JavaScript capturing event phase processing
Feature Duplicate instance names can now be automatically renamed via the panel
Feature Most cases of shapes transformed in untweened spans are now exported properly
Feature Frame-by-frame animations are now supported
Enhancement Added support for letter spacing in inputs, buttons and text areas
Enhancement Added default styles for input, button and textarea
Enhancement Added text-align support for input, button and textarea
Enhancement Improved support for SVGs without viewBox
Enhancement Cohtml.js can be used in a standard web browser. Significantly increases the compatibility of pages testing in web browsers.
Enhancement Added samples for workflows based on WebPack and Redux
Enhancement Add support for multiple data models in data-bind expressions
Enhancement Upgraded the JavaScript VM on Windows and Android to V8 6.9.427

The Debug configuration now uses V8 build in Debug, so there will be more error checking at the cost of some performance
Enhancement Reduced the count of dynamic TLS slots allocation for Nintendo Switch
Enhancement Added support for Unreal Engine 4.21
Enhancement Implemented path stroking/filling with gradients in canvas elements
Enhancement Paths to JavaScript and CSS files linked to the document are now relative to the FLA file
Enhancement Labels in the CLAnimation.js file are now separated by scene
Fix Added CloneNode for CustomElements
Fix Fixed CustomElement’s callback invocations (they weren’t always fired)
Fix Fixed canvas element resize behavior (canvas context state is now correctly reset)
Fix Added missing ICU library to the Nintendo Switch package
Fix Fixed animations’ currentTime in Web Animations API (it was reported incorrectly when the animation is paused)
Fix Fixed crash on Nintendo Switch when not passing a custom log handler
Fix Fixed a bug related to changing paths for Autortime sharing on publish
Fix Duplicate instance names no longer have cases where their position is broken
Fix Fixed math rounding and output order differences between Windows and Mac
API Input elements no longer inherit the font related styles of their parents
API Added GPU debug metadata emission useful for graphics debugging.
Enable with View::EmitRenderingMetadata and handle the
BC_PushMetadata, BC_PopMetadata commands in your RendererBackend implementation.
Issue Shape Tween spans are now ignored

Prysm 1.0.0.6

Released 05 Dec 2018


Feature Added support for setting the “overflow” of elements. Overflow refers to parts of an element which are outside the boundaries of the element. Each element can now specify if the overflowing parts should be visible, hidden or if the element should scroll.
Feature Added complete support for z-index. Z-index determines the order in which elements are rendered on the screen so elements with lower z-index are ‘behind’ elements with higher z-index.
Feature UWP Added support for UWP ARM.
Feature UWP The SDK will now use ChakraCore as JavaScript VM on UWP x86. JavaScriptCore is still the JSVM for UWP x64. This nets about 30% performance increase in JavaScript execution. ChakraCore on UWP x64 will be available in a later release.
Feature API Added the ability to dump all currently used images in the UI. This is useful when you want to know which files to package, preload or generate atlases for. See the new method cohtml::View::GetUsedImagesList.
Feature Added support for exposing objects containing std::pair, std::map and std::unordered_map to the UI.
Enhancement Exporting for Prysm will no longer generate fake events in the history panel of Adobe Animate. Previously, hitting the ‘Export’ button would create tens of events, effectively corrupting the undo/redo stack.
Fix Fixed a bug in the Player application which would fail to load files whose paths contained non-ASCII characters.
Fix Fixed a crash in the Player application when using the –height parameter.
Fix Fixed a bunch of minor memory leaks across the scripting sybsystem.
Fix Added virtual destructors to the cohtml::DebugDump and cohtml::FrameCapture structs.
Fix Fixed rendering of SVG gradients which were misplaced when under the effects of a transformation (translation, rotation, etc.).
Fix Fixed a bug which would cause some SVG files no never be loaded if a lot of SVGs were loaded simultaneously at the start of the application.
Fix Fixed a crash when calling cohtml::System::Uninitialize while a video was still playing.
Fix Fixed a bug which would cause videos to sometimes stop spuriously.
Fix Fixed a bug which would cause some SVGs to be rendered incorrectly.
Fix Fixed a bug which would cause elements whose background is a linear-gradient to not update when another linear gradient is applied.
Fix Fixed an issue which would cause hover effects on images to not appear every other time.
Fix Fixed an assert in Debug that was being hit when calculating new styles for some elements that have both box-shadow and transform applied.
Fix Switch Fixed a crash on Nintendo Switch when destroying rendering resources.
Fix Switch You no longer have to define COHERENT_HORIZON manually to build for Nintendo Switch.
Fix iOS Fixed a bug which would cause the SDK to throw an error whenever you accessed window.history.state on iOS.
Fix iOS MacOS Some debug features were disabled in debug builds on MacOS and iOS (e.g asserts). They are now available on all platforms in Debug.
Fix UE4 Displaying a Prysm UMG widget inside a ScaleBox widget will now preserve scaling properly.
Fix UE4 Mouse input will now be correctly calculated even in the presence of safe zones. Previously, if UE4 deemed safe zones were needed, the UI would render correctly but mouse input would be offset.