Changelog: Prysm Exporter

Exporter 2024.1.0 (LTS) - released 27 Sep 2024

feature
Added support for the coh-simple-opacity CSS property. The option is available in the Properties tab, labeled as 'Simple Opacity'.
fix
Resolved an issue where components would append the original text after localization.
fix
Fixed an issue where custom class definitions generated a warning and did not receive animation styles.
fix
Fixed HTML parser errors caused by special characters in text elements.
fix
Fixed broken escape characters in text elements within components.
fix
CSS now reloads correctly after unloading a component.
fix
Fixed dynamically added nodes to be correctly shown or hidden in a running timeline.
fix
Updated the PRYSM_CONVERTER script to work with the latest exporter.
documentation
Documented a known issue with Animate 2024 in the requirements page.
Exporter 2023.4.2 (LTS) - released 14 Feb 2024

fix
Fix JavaScript errors by no longer generating HTML Character Entities.
fix
Fix multiline texts in components.
Exporter 2023.4.1 (LTS) - released 18 Jan 2024

fix
Fix animations not starting for masks.
fix
Fix components auto unloading and unloading with runtime aliases.
Exporter 2023.4.0 (LTS) - released 15 Dec 2023

feature
Added an option for exporting the full source when in production mode.
feature
Added methods that unload components in the component library.
feature
Added a component dependencies overview tab.
feature
Added a surface partitioning export mode.
feature
Breaking change
Added support for dependant components.
api
Removed animation system and component system backwards compatability scripts.
enhancement
Made runtime aliases resolved correctly at runtime for components.
fix
Fixed multiple mask images sometimes not generating all images.
fix
Fixed broken export when special symbols are present in menus.
fix
The Export shapes as divs warning no longer appears when it shouldn’t.
fix
Fix positioning issues for mask layers with an image.
fix
Fix text coordinates being slightly off in the Editor compared to COHTML.
Exporter 2023.3.0 (LTS) - released 9 Sep 2023

fix
Fix timelines braking nested animations after playFromTo ends and causing infinite looping animation.
Exporter 2023.1.1 (LTS) - released 19 June 2023

enhancement
Reduced memory usage of the animation library by caching all the Float32Array objects.
feature
Added a new callback type `window.prysm.ASCallbackType.ADVANCED` that is called every time the animation system has finished advancing.
feature
Added an option for the components to be loaded or not. If the option is enabled the component can be loaded runtime with a script.
feature
Added an option for lazy displaying of the components when loaded in the UI. If enabled the component instances will be initialized/created by the animation system when they need to be shown.
feature
Added an option for lazy animation states. If enabled the animation data of a component will be loaded when it has to be shown and that will optimize the “Compile code” step of the JavaScript execution.
feature
Added an option for exporting in production mode. When the option is enabled all generated code-containing files are going to be minified so the load time is optimized.
fix
data-bind-html attribute is set properly so the element styles are not lost on model synchronization.
fix
Large .fla files with a complex structure are no longer crashing when opened or exported.
fix
A document with a non-existing project file is now exported correctly.
fix
Old component scripts that are linked in a project file are read correctly and the component name is visualized in the panel.
fix
Fixed styles not being applied to data-bind-for generated elements.
fix
Stopped the framesCatchUp option from having an effect in the runtime as it causes state loss and unexpected looping animations.
fix
Pointer events are now set correctly to the prysm-shape elements and not causing undefined behavior when adding input events.
fix
CLAnimations.gotoAndStop method now stops animations at the right time no matter the .fla document FPS.
Exporter 2023.1.0 (LTS) - released 9 Feb 2023

fix
Aliases are now resolved correctly for placeholder components that are imported in different projects.
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.
Exporter 2022.4.0 (LTS) - released 3 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.
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.
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 ‘&’.
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.
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.
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.
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.
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.
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.
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.
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.
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 9 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.
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.
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