Kinesis SoftwareKineticFusion

[Show Table of Contents]

1 KineticFusion Overview

[Hide Table of Contents]

1.1 KineticFusion Features

General features of KineticFusion include:

  • Decompiles SWF movies created by most popular desktop applications to RVML
  • Decompilation automatically extracts all embedded resources including sound, video, images, ActionScript classes and embedded scripts
  • Compiles all RVML to SWF including ActionScript and resources
  • Can recreate SWF movies from previous decompilations to include new or modified resources, and different scripts
  • Supports all ActionScript syntax and functionality for all Flash versions
  • Contains powerful optimizing ActionScript compiler that compiles both inline and external scripts and AS2.0 classes with extended and configurable semantic analysis capabilities
  • Provides optimized AS2.0 class caching for sub-second compilations
  • Performs independent AS2.0 class analysis that can integrate into any project environment
  • Provides full round-tripping support for external SWC components
  • Extensible RVML vocabulary supporting user-defined Tag Libraries
  • Provides powerful template and Attribute Expression Language features based on the Freemarker Templating Engine
  • Support for SVG drawing elements such as path, polygon, and polyline.
  • GUI and command-line execution that can both operate in single-document and batch mode allowing automated projects builds that can be run on server machines without affecting development
  • Provides comprehensive information on the structure and contents of SWF movies.
  • Works on Windows 2000/XP, Linux, OS/X, Solaris, HP/UX and all Java 1.4 supported platforms

The detailed features of KineticFusion are categorized below:

1.1.1 ActionScript Features

  • Fully-compliant ActionScript 2.0 compiler
  • Fully configurable type-checking with over 100 different semantic checks
  • Each check can be marked globally as Error, Warning, or Ignore enabling consistent coding standards
  • Warnings are output to a fully sortable table in the user-interface or printed on the console
  • Warning messages can be completely disabled for fast compilation
  • Can detect unreachable code and function return paths that do not return values
  • Native ActionScript editor can be invoked from inside KineticFusion by selecting a logged warning
  • Optimized AS 2.0 class byte code output reduces SWF size
  • Supports a System Class Path for 3rd party class libraries that should not be modified and are only checked for fatal errors
  • Supports incremental development by analyzing a specified subset of ActionScript classes
  • ActionScript 2.0 compiler only recompiles modified classes and their dependencies when run in GUI
  • Class analysis option can analyze classes or files using regular expressions
  • Supports extraction of ActionScript 2.0 classes from SWF movies
  • Can specify ActionScript classes to explicitly include and/or exclude in output SWF
  • Can log all classes written to output SWF to the output console
  • Automatically adds SWC components to class path when compiling SWF documents with SWC references
  • Can remove all SWC-related classes when decompiling and includes them automatically when recompiling.
  • Supports additional object-oriented metadata for classes using Javadoc-style specifications including final, const, and abstract concepts
  • Support trace statement replacement with arbitrary user-specified code block that permits substitution of key tracing variables such as file name, line number and method
  • Supports additional metadata in classes for the specification of multiple method signatures
  • Classes and class member can be declared as only available after a specified Flash player version to enable compiler compatibility checks
  • Full support for including external files in ActionScript 1.0 and 2.0 using #include
  • #include files can be located on configurable path or relative to current document
  • Supports byte code obfuscation
  • Full support for ActionScript 1.0 as both inline and external code
  • Easily integrates with debugging components such as the open-source XRay component
  • Inline ActionScript can be created dynamically using code templates
  • Can decompile ActionScript in both ActionScript 1.0 format and ActionScript 2.0 format
  • Can represent Version 7 language extensions in ActionScript 1.0 format and will compile these appropriately
  • Supports FlashLite ActionScript extensions and path syntax

1.1.2 SWC Features

  • Components declared in RVML documents are automatically compiled into an output SWF movie
  • All classes stored inside a component are automatically added to the compilation class path
  • Common resources from multiple components are merged on output
  • Components can be manipulated on a timeline the same as a MovieClip symbol
  • KineticFusion will locate SWC components on multiple user-specified paths
  • All component resources located when translating SWF to RVML can be identified, removed, and replaced with a Component reference
  • Example external tag library for handling components allows component-based UIs to be specified declaratively and can be used as the basis for building sophisticated component-oriented extensions.

1.1.3 Vector Shape Features

  • Supports all SVG vector-drawing operations including quadratic and cubic Bezier curves, arcs, and the Path element.
  • Supports absolute and relative drawing positions.
  • Supports inline shape transformations for applying transforms to nested drawing operations

1.1.4 Media Features

  • Supports popular GIF/PNG/JPG image types in native and SWF formats
  • Can extract images from SWF documents and store in native format
  • Supports MP3 audio on input and can extract and reuse all SWF-embedded audio sources
  • Support all SWF video formats
  • Can provide full vector representation of all embedded SWF fonts
  • Supports user-defined vector fonts
  • Supports TrueType fonts
  • Supports global font folder for storing all frequently-used fonts
  • All extracted fonts stored with an editable Font test card
  • Can reuse all embedded fonts in any output SWF
  • Can extract and read font definitions in XML format.

1.1.5 Animation Features

  • Uses familiar timeline approach for animating elements
  • Supports both geometric and color-oriented transformations
  • Geometric transformations can be expressed in compact form as attributes on the Place element
  • Timeline paradigm can be easily changed using external Tag Libraries to provide different animation representations as used in other XML dialects.

1.1.6 Extensibility Features

  • Users can extend RVML with external Tag Libraries that integrate natively into KineticFusion
  • The full KineticFusion API documentation is provided
  • RVML documents can be parameterized with external data
  • External data can be extracted from text files, XML files, JavaBean instances or specified on the command-line
  • External data can be referenced using the inbuilt Attribute Expression Language, inline templates, and external templates using the full power of the Freemarker Templating engine.

1.1.7 GUI Features

  • Intuitive explorer-style interface
  • Can filter displayed files to only those applicable to KineticFusion
  • Can navigate through project folders using the explorer interface, bookmarked shortcuts, or by entering a desired location directly into the explorer window
  • All ActionScript output redirected to a warning table in the console when warnings and errors are flagged with the appropriate icons.
  • Warning table can be sorted visually by one or more columns allowing users to easily track down specific classes of warnings
  • The source line of each warning is displayed in the status bar when the warning is selected with the code causing the problem highlighted in bold.

1.1.8 General Features

  • Written in Java, KineticFusion will run on all Java-supported platforms
  • General XML technologies such as XSLT style sheets can be easily used to remove duplicate classes and assets from multiple SWF movies
  • Operates in both command-line and GUI modes
  • All features are available using both command-line and GUI modes
  • Can be called directly from Ant
  • Server component can be called from any Java application and most scripting languages
  • Windows installer automatically associates KineticFusion with RVML documents and adds context menus for RVML, XML and SWF documents
  • Windows application automatically detects Java and uses the highest available version for best performance. If Java is unavailable on the client computer, it will offer to download the latest version from the Internet