diff --git a/.gitignore b/.gitignore
index c99104e92..46df4e679 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,8 @@ target
.idea/
build/
cmake-build-debug/
+.vscode/settings.json
+spine-runtimes.code-workspace
spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.metaDataTags.prefs
diff --git a/spine-as3/README.md b/spine-as3/README.md
index 5dce5d53c..206a16919 100644
--- a/spine-as3/README.md
+++ b/spine-as3/README.md
@@ -16,9 +16,7 @@ For the official legal terms governing the Spine Runtimes, please read the [Spin
spine-as3 works with data exported from Spine 3.9.xx.
-spine-as3 supports all Spine features, including meshes. If using the `spine.flash` classes for rendering, meshes are not supported.
-
-spine-as3 does not yet support loading the binary format.
+spine-as3 supports all Spine features, including meshes. If using the `spine.flash` classes for rendering, meshes and two color tinting are not supported.
## Usage
1. Create a new Flex or Adobe AIR project in your preferred IDE.
@@ -26,25 +24,23 @@ spine-as3 does not yet support loading the binary format.
3. Add the sources from `spine-as3/spine-as3/src/` to your project
## Example
-The Spine AS3 example works on Windows, Linux and Mac OS X. This guide assumes you are using [FDT Free](http://fdt.powerflasher.com/) as your development environment.
+The Spine AS3 example works on Windows, Linux and Mac OS X. This guide assumes you are using [Visual Studio Code](https://code.visualstudio.com/) together with the [ActionScript & MXML extension for Visual Studio Code](https://github.com/BowlerHatLLC/vscode-as3mxml/wiki) as your development environment.
-1. Download [FDT free](http://fdt.powerflasher.com/buy-download/) for your operating system.
-3. Download and install [Adobe Flash Player 23 with debugging support](https://www.adobe.com/support/flashplayer/debug_downloads.html#fp15)
-2. Download the latest [Flex SDK](http://www.adobe.com/devnet/flex/flex-sdk-download.html). We assume it will be installed to some folder on your disk called `flex_sdk`.
-3. Download the latest [Adobe AIR SDK](http://www.adobe.com/devnet/air/air-sdk-download.html)
-4. Extract the AIR SDK contents, and copy them to your `flex_sdk` folder. This will replace the Adobe AIR version shipped with Flex.
-5. Open FDT, go to `Preferences -> FDT -> Installed SDKs`
-6. Click `Add` and browse to `flex_sdk`
-7. Go to `File -> Import -> General -> Existing Projects into Workspace`
-6. Browse to `spine-as3/`. You should see both the `spine-as3` and `spine-as3-example` project in the import dialog. Click `Finish`
-8. Right click the `Main.as` file in `spine-as3-example/src/spine` in the FDT explorer and select `Debug As -> FDT SWF Application`
+1. Install [Visual Studio Code](https://code.visualstudio.com/).
+2. Install the [ActionScript & MXML extension for Visual Studio Code](https://github.com/BowlerHatLLC/vscode-as3mxml/wiki).
+3. Install [Adobe Flash Player Projector version 32 with debugging support](https://www.adobe.com/support/flashplayer/debug_downloads.html#fp15).
+4. Install the [Adobe AIR SDK 32](http://www.adobe.com/devnet/air/air-sdk-download.html) by simply extracting it to a known location.
-**Note**: FDT Free does not allow project dependencies. If you modify the sources of `spine-as3`, you will have to compile the project to an `.swc` and place it in `spine-as3-example/libs`.
+To run the Flash example project `spine-as3-example`.
-## Demos
+1. Open the `spine-as3-example/` folder in Visual Studio Code.
+2. Set the AIR SDK location when prompted.
+3. Launch the `Launch Spine AS3 Example` launch configuration.
-* [Flash Demo](http://esotericsoftware.com/files/runtimes/spine-as3/spineboy/index.html)
- [Flash Demo source](spine-as3-example/src/spine/Main.as#L43)
+Instead of directly adding the sources of from `spine-as3/src` to your project, you can also link the SWC file `spine-as3/lib/spine-as3.swc`. To (re-)compile this file yourself with Visual Studio Code:
+
+1. Open the `spine-as3/` folder in Visual Studio Code.
+2. Press `CTRL + SHIFT + B` (`CMD + SHIFT + B` on macOS) and select `ActionScript: compile release - asconfig.json`
## Notes
diff --git a/spine-as3/spine-as3-example/.project b/spine-as3/spine-as3-example/.project
deleted file mode 100644
index 4b108e4c0..000000000
--- a/spine-as3/spine-as3-example/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- spine-as3-example
-
-
-
-
-
- com.powerflasher.fdt.core.FlashBuilder
-
-
-
-
-
- com.powerflasher.fdt.core.FlashNature
-
-
diff --git a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.classpath b/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.classpath
deleted file mode 100644
index 470af8f8c..000000000
--- a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- lib
- frameworks/libs/player/30.0/playerglobal.swc
- src
- lib/spine-as3.swc
-
diff --git a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.prefs b/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.prefs
deleted file mode 100644
index 5dea19e96..000000000
--- a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.prefs
+++ /dev/null
@@ -1,24 +0,0 @@
-com.powerflasher.fdt.core.CompatiblePlayers=External_SWF_Viewer\:Browser\:Standalone_Flash_Player
-com.powerflasher.fdt.core.CompilerArguments=-static-link-runtime-shared-libraries\=true\n-target-player\={playerVersion}\n-library-path+\="{flexSDK}/frameworks/locale/en_US"\n-default-size\=550,400
-com.powerflasher.fdt.core.CompilerConstants=CONFIG\:\:AUTHOR\!"{user.name}"\nCONFIG\:\:DEBUG\!{debug}
-com.powerflasher.fdt.core.DefaultOutputFolder=bin
-com.powerflasher.fdt.core.DefaultPlayer=External_SWF_Viewer
-com.powerflasher.fdt.core.IncludeTestResources=false
-com.powerflasher.fdt.core.Language=AS3
-com.powerflasher.fdt.core.Manifests=
-com.powerflasher.fdt.core.PassClasspath=true
-com.powerflasher.fdt.core.PassDefines=true
-com.powerflasher.fdt.core.PassExterns=false
-com.powerflasher.fdt.core.PassMainclass=true
-com.powerflasher.fdt.core.PassManifests=true
-com.powerflasher.fdt.core.PassRsls=false
-com.powerflasher.fdt.core.PassSwcs=true
-com.powerflasher.fdt.core.PlatformType=WEB
-com.powerflasher.fdt.core.PlayerVersion=30.0
-com.powerflasher.fdt.core.ProjectTypeHint=Web
-com.powerflasher.fdt.core.Runtime=Flash_Player
-com.powerflasher.fdt.core.SdkName=Flex 4.6.0
-com.powerflasher.fdt.core.mobile.AirDesktop.ACTIVE=true
-com.powerflasher.fdt.core.mobile.AirDesktop.MOBILE.DESCRIPTOR=bin/spine-as3-example-app.xml
-com.powerflasher.fdt.core.useProjectProblems.com.powerflasher.fdt.core.AS3RegionType=true
-eclipse.preferences.version=1
diff --git a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.problems.prefs b/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.problems.prefs
deleted file mode 100644
index f7c143627..000000000
--- a/spine-as3/spine-as3-example/.settings/com.powerflasher.fdt.core.problems.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-com.powerflasher.fdt.code.deadCode.AS3=Disabled
-eclipse.preferences.version=1
diff --git a/spine-as3/spine-as3-example/.settings/launch/spine-as3-example.launch b/spine-as3/spine-as3-example/.settings/launch/spine-as3-example.launch
deleted file mode 100644
index 5cc750494..000000000
--- a/spine-as3/spine-as3-example/.settings/launch/spine-as3-example.launch
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spine-as3/spine-as3-example/.settings/org.eclipse.core.resources.prefs b/spine-as3/spine-as3-example/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c020..000000000
--- a/spine-as3/spine-as3-example/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/spine-as3/spine-as3-example/.vscode/launch.json b/spine-as3/spine-as3-example/.vscode/launch.json
new file mode 100644
index 000000000..d43380a99
--- /dev/null
+++ b/spine-as3/spine-as3-example/.vscode/launch.json
@@ -0,0 +1,14 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "swf",
+ "request": "launch",
+ "name": "Launch Spine AS3 SWF",
+ "preLaunchTask": "ActionScript: compile debug - asconfig.json"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spine-as3/spine-as3-example/asconfig.json b/spine-as3/spine-as3-example/asconfig.json
new file mode 100644
index 000000000..13c1202ea
--- /dev/null
+++ b/spine-as3/spine-as3-example/asconfig.json
@@ -0,0 +1,18 @@
+{
+ "compilerOptions": {
+ "output": "bin/spine-as3-example.swf",
+ "source-path": [
+ "src",
+ "../spine-as3/src"
+ ],
+ "default-size": {
+ "width": 550,
+ "height": 500
+ },
+ "target-player": "32.0",
+ "swf-version": 43
+ },
+ "files": [
+ "src/spine/examples/Main.as"
+ ]
+}
\ No newline at end of file
diff --git a/spine-as3/spine-as3-example/lib/spine-as3.swc b/spine-as3/spine-as3-example/lib/spine-as3.swc
deleted file mode 100644
index ff39eb080..000000000
Binary files a/spine-as3/spine-as3-example/lib/spine-as3.swc and /dev/null differ
diff --git a/spine-as3/spine-as3/.project b/spine-as3/spine-as3/.project
deleted file mode 100644
index e29679a1d..000000000
--- a/spine-as3/spine-as3/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- spine-as3
-
-
-
-
-
- com.powerflasher.fdt.core.FlashBuilder
-
-
-
-
-
- com.powerflasher.fdt.core.FlashNature
-
-
diff --git a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.classpath b/spine-as3/spine-as3/.settings/com.powerflasher.fdt.classpath
deleted file mode 100644
index dd2edc145..000000000
--- a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.classpath
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- src
- frameworks/libs/player/30.0/playerglobal.swc
-
diff --git a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.prefs b/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.prefs
deleted file mode 100644
index 653c8279c..000000000
--- a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.prefs
+++ /dev/null
@@ -1,22 +0,0 @@
-com.powerflasher.fdt.core.CompatiblePlayers=External_SWF_Viewer\:Browser\:Standalone_Flash_Player
-com.powerflasher.fdt.core.CompilerArguments=-static-link-runtime-shared-libraries\=true\n-target-player\={playerVersion}\n-library-path+\="{flexSDK}/frameworks/locale/en_US"\n-default-size\=550,400
-com.powerflasher.fdt.core.CompilerConstants=CONFIG\:\:AUTHOR\!"{user.name}"\nCONFIG\:\:DEBUG\!{debug}
-com.powerflasher.fdt.core.DefaultOutputFolder=bin
-com.powerflasher.fdt.core.DefaultPlayer=External_SWF_Viewer
-com.powerflasher.fdt.core.IncludeTestResources=false
-com.powerflasher.fdt.core.Language=AS3
-com.powerflasher.fdt.core.Manifests=
-com.powerflasher.fdt.core.PassClasspath=true
-com.powerflasher.fdt.core.PassDefines=true
-com.powerflasher.fdt.core.PassExterns=false
-com.powerflasher.fdt.core.PassMainclass=true
-com.powerflasher.fdt.core.PassManifests=true
-com.powerflasher.fdt.core.PassRsls=false
-com.powerflasher.fdt.core.PassSwcs=true
-com.powerflasher.fdt.core.PlatformType=WEB
-com.powerflasher.fdt.core.PlayerVersion=30.0
-com.powerflasher.fdt.core.ProjectTypeHint=Web
-com.powerflasher.fdt.core.Runtime=Flash_Player
-com.powerflasher.fdt.core.SdkName=Flex 4.6.0
-com.powerflasher.fdt.core.useProjectProblems.com.powerflasher.fdt.core.AS3RegionType=true
-eclipse.preferences.version=1
diff --git a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.problems.prefs b/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.problems.prefs
deleted file mode 100644
index 7081d5dba..000000000
--- a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.core.problems.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-com.powerflasher.fdt.typeProblems.implicitBooleanConversion.AS3=Disabled
-eclipse.preferences.version=1
diff --git a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.exclude b/spine-as3/spine-as3/.settings/com.powerflasher.fdt.exclude
deleted file mode 100644
index c956132d8..000000000
--- a/spine-as3/spine-as3/.settings/com.powerflasher.fdt.exclude
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/spine-as3/spine-as3/.settings/launch/spine-as3.swc.launch b/spine-as3/spine-as3/.settings/launch/spine-as3.swc.launch
deleted file mode 100644
index 94a8145e7..000000000
--- a/spine-as3/spine-as3/.settings/launch/spine-as3.swc.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spine-as3/spine-as3/.settings/org.eclipse.core.resources.prefs b/spine-as3/spine-as3/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 358ca866c..000000000
--- a/spine-as3/spine-as3/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,52 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/spine/Bone.as=UTF-8
-encoding//src/spine/BoneData.as=UTF-8
-encoding//src/spine/IkConstraint.as=UTF-8
-encoding//src/spine/IkConstraintData.as=UTF-8
-encoding//src/spine/Interpolation.as=UTF-8
-encoding//src/spine/MathUtils.as=UTF-8
-encoding//src/spine/PathConstraint.as=UTF-8
-encoding//src/spine/PathConstraintData.as=UTF-8
-encoding//src/spine/Skeleton.as=UTF-8
-encoding//src/spine/SkeletonClipping.as=UTF-8
-encoding//src/spine/SkeletonData.as=UTF-8
-encoding//src/spine/SkeletonJson.as=UTF-8
-encoding//src/spine/Skin.as=UTF-8
-encoding//src/spine/TransformConstraint.as=UTF-8
-encoding//src/spine/TransformConstraintData.as=UTF-8
-encoding//src/spine/Triangulator.as=UTF-8
-encoding//src/spine/Updatable.as=UTF-8
-encoding//src/spine/Vertex.as=UTF-8
-encoding//src/spine/VertexEffect.as=UTF-8
-encoding//src/spine/animation/Animation.as=UTF-8
-encoding//src/spine/animation/AnimationState.as=UTF-8
-encoding//src/spine/animation/AnimationStateData.as=UTF-8
-encoding//src/spine/animation/AttachmentTimeline.as=UTF-8
-encoding//src/spine/animation/ColorTimeline.as=UTF-8
-encoding//src/spine/animation/CurveTimeline.as=UTF-8
-encoding//src/spine/animation/DeformTimeline.as=UTF-8
-encoding//src/spine/animation/DrawOrderTimeline.as=UTF-8
-encoding//src/spine/animation/EventQueue.as=UTF-8
-encoding//src/spine/animation/EventTimeline.as=UTF-8
-encoding//src/spine/animation/EventType.as=UTF-8
-encoding//src/spine/animation/IkConstraintTimeline.as=UTF-8
-encoding//src/spine/animation/Listeners.as=UTF-8
-encoding//src/spine/animation/MixBlend.as=UTF-8
-encoding//src/spine/animation/MixDirection.as=UTF-8
-encoding//src/spine/animation/PathConstraintMixTimeline.as=UTF-8
-encoding//src/spine/animation/PathConstraintPositionTimeline.as=UTF-8
-encoding//src/spine/animation/PathConstraintSpacingTimeline.as=UTF-8
-encoding//src/spine/animation/RotateTimeline.as=UTF-8
-encoding//src/spine/animation/ScaleTimeline.as=UTF-8
-encoding//src/spine/animation/ShearTimeline.as=UTF-8
-encoding//src/spine/animation/Timeline.as=UTF-8
-encoding//src/spine/animation/TimelineType.as=UTF-8
-encoding//src/spine/animation/TrackEntry.as=UTF-8
-encoding//src/spine/animation/TransformConstraintTimeline.as=UTF-8
-encoding//src/spine/animation/TranslateTimeline.as=UTF-8
-encoding//src/spine/animation/TwoColorTimeline.as=UTF-8
-encoding//src/spine/interpolation/Pow.as=UTF-8
-encoding//src/spine/interpolation/PowOut.as=UTF-8
-encoding//src/spine/vertexeffects/JitterEffect.as=UTF-8
-encoding//src/spine/vertexeffects/SwirlEffect.as=UTF-8
-encoding/=UTF-8
diff --git a/spine-as3/spine-as3/asconfig.json b/spine-as3/spine-as3/asconfig.json
new file mode 100644
index 000000000..a9204a80f
--- /dev/null
+++ b/spine-as3/spine-as3/asconfig.json
@@ -0,0 +1,13 @@
+{
+ "type": "lib",
+ "compilerOptions": {
+ "source-path": [
+ "src"
+ ],
+ "include-sources": [
+ "src"
+ ],
+ "output": "../spine-as3/lib/spine-as3.swc",
+ "target-player": "32.0"
+ }
+}
\ No newline at end of file
diff --git a/spine-as3/spine-as3/lib/spine-as3.swc b/spine-as3/spine-as3/lib/spine-as3.swc
new file mode 100644
index 000000000..7ab431b61
Binary files /dev/null and b/spine-as3/spine-as3/lib/spine-as3.swc differ
diff --git a/spine-starling/README.md b/spine-starling/README.md
index 00524de63..46771692e 100644
--- a/spine-starling/README.md
+++ b/spine-starling/README.md
@@ -18,33 +18,28 @@ spine-starling works with data exported from Spine 3.9.xx.
spine-starling supports all Spine features.
-spine-starling does not yet support loading the binary format.
-
# Usage
1. Create a new Starling 2.0 project as per the [documentation].
2. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it as a zip via the download button above.
3. Copy the sources in `spine-as3/spine-as3/src/` and `spine-starling/spine-starling/src/` into your project's source directory
## Example
-The Spine AS3 example works on Windows, Linux and Mac OS X. This guide assumes you are using [FDT Free](http://fdt.powerflasher.com/) as your development environment.
+The Spine Starling example works on Windows, Linux and Mac OS X. This guide assumes you are using [Visual Studio Code](https://code.visualstudio.com/) together with the [ActionScript & MXML extension for Visual Studio Code](https://github.com/BowlerHatLLC/vscode-as3mxml/wiki) as your development environment.
-1. Download [FDT free](http://fdt.powerflasher.com/buy-download/) for your operating system.
-3. Download and install Adobe Flash Player 22 with debugging support](https://www.adobe.com/support/flashplayer/debug_downloads.html#fp15)
-2. Download the latest [Flex SDK](http://www.adobe.com/devnet/flex/flex-sdk-download.html). We assume it will be installed to some folder on your disk called `flex_sdk`.
-3. Download the latest [Adobe AIR SDK](http://www.adobe.com/devnet/air/air-sdk-download.html)
-4. Extract the AIR SDK contents, and copy them to your `flex_sdk` folder. This will replace the Adobe AIR version shipped with Flex.
-5. Open FDT, go to `Preferences -> FDT -> Installed SDKs`
-6. Click `Add` and browse to `flex_sdk`
-7. Go to `File -> Import -> General -> Existing Projects into Workspace`
-6. Browse to `spine-as3/`. You should see both the `spine-as3` and `spine-as3-example` project in the import dialog. Click `Finish`
-7. Go to `File -> Import -> General -> Existing Projects into Workspace`
-6. Browse to `spine-starling/`. You should see both the `spine-starling` and `spine-starling-example` project in the import dialog. Click `Finish`
-8. Right click the `Main.as` file in `spine-starling-example/src/spine` in the FDT explorer and select `Debug As -> FDT SWF Application`
+1. Install [Visual Studio Code](https://code.visualstudio.com/).
+2. Install the [ActionScript & MXML extension for Visual Studio Code](https://github.com/BowlerHatLLC/vscode-as3mxml/wiki).
+3. Install [Adobe Flash Player Projector version 32 with debugging support](https://www.adobe.com/support/flashplayer/debug_downloads.html#fp15).
+4. Install the [Adobe AIR SDK 32](http://www.adobe.com/devnet/air/air-sdk-download.html) by simply extracting it to a known location.
-**Note**: FDT Free does not allow project dependencies. If you modify the sources of `spine-as3` or `spine-starling`, you will have to compile the project to an `.swc` and place it in `spine-starling-example/libs`.
+To run the Flash example project `spine-starling-example`.
-## Examples
+1. Open the `spine-starling-example/` folder in Visual Studio Code.
+2. Set the AIR SDK location when prompted.
+3. Launch the `Launch Spine Starling Example` launch configuration.
-- [Spine atlas example](spine-starling-example/src/AtlasExample.as#L21)
-- [Starling atlas example](spine-starling-example/src/StarlingAtlasExample.as#L18)
-- [Skin example](spine-starling-example/src/GoblinsExample.as#L21)
+Instead of directly adding the sources of from `spine-starling/src` to your project, you can also link the SWC file `spine-starling/lib/spine-starling.swc`. To (re-)compile this file yourself with Visual Studio Code:
+
+1. Open the `spine-starling/` folder in Visual Studio Code.
+2. Press `CTRL + SHIFT + B` (`CMD + SHIFT + B` on macOS) and select `ActionScript: compile release - asconfig.json`
+
+Note that `spine-starling` depends on the sources of the `spine-as3` project. See the `asconfig.json` file more information on dependencies.
\ No newline at end of file
diff --git a/spine-starling/spine-starling-example/.project b/spine-starling/spine-starling-example/.project
deleted file mode 100644
index 3a0d78300..000000000
--- a/spine-starling/spine-starling-example/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- spine-starling-example
-
-
-
-
-
- com.powerflasher.fdt.core.FlashBuilder
-
-
-
-
-
- com.powerflasher.fdt.core.FlashNature
-
-
diff --git a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.classpath b/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.classpath
deleted file mode 100644
index 40e6c835d..000000000
--- a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- lib
- frameworks/libs/player/30.0/playerglobal.swc
- src
- lib/spine-starling.swc
- lib/spine-as3.swc
- lib/starling-2.4.swc
-
diff --git a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.core.prefs b/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.core.prefs
deleted file mode 100644
index 0ce1c9dfc..000000000
--- a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.core.prefs
+++ /dev/null
@@ -1,21 +0,0 @@
-com.powerflasher.fdt.core.CompatiblePlayers=External_SWF_Viewer\:Browser\:Standalone_Flash_Player
-com.powerflasher.fdt.core.CompilerArguments=-static-link-runtime-shared-libraries\=true\n-target-player\={playerVersion}\n-library-path+\="{flexSDK}/frameworks/locale/en_US"\n-default-size\=550,400
-com.powerflasher.fdt.core.CompilerConstants=CONFIG\:\:AUTHOR\!"{user.name}"\nCONFIG\:\:DEBUG\!{debug}
-com.powerflasher.fdt.core.DefaultOutputFolder=bin
-com.powerflasher.fdt.core.DefaultPlayer=External_SWF_Viewer
-com.powerflasher.fdt.core.IncludeTestResources=false
-com.powerflasher.fdt.core.Language=AS3
-com.powerflasher.fdt.core.Manifests=
-com.powerflasher.fdt.core.PassClasspath=true
-com.powerflasher.fdt.core.PassDefines=true
-com.powerflasher.fdt.core.PassExterns=false
-com.powerflasher.fdt.core.PassMainclass=true
-com.powerflasher.fdt.core.PassManifests=true
-com.powerflasher.fdt.core.PassRsls=false
-com.powerflasher.fdt.core.PassSwcs=true
-com.powerflasher.fdt.core.PlatformType=WEB
-com.powerflasher.fdt.core.PlayerVersion=30.0
-com.powerflasher.fdt.core.ProjectTypeHint=Web
-com.powerflasher.fdt.core.Runtime=Flash_Player
-com.powerflasher.fdt.core.SdkName=Flex 4.6.0
-eclipse.preferences.version=1
diff --git a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.ui.sourceLocation.prefs b/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.ui.sourceLocation.prefs
deleted file mode 100644
index 6cc33682a..000000000
--- a/spine-starling/spine-starling-example/.settings/com.powerflasher.fdt.ui.sourceLocation.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-//lib/starling-2.0.1.swc=/Applications/flash/starling/src
-eclipse.preferences.version=1
diff --git a/spine-starling/spine-starling-example/.settings/launch/spine-starling-example.launch b/spine-starling/spine-starling-example/.settings/launch/spine-starling-example.launch
deleted file mode 100644
index a58d277bf..000000000
--- a/spine-starling/spine-starling-example/.settings/launch/spine-starling-example.launch
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spine-starling/spine-starling-example/.settings/org.eclipse.core.resources.prefs b/spine-starling/spine-starling-example/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index adcfe1dd6..000000000
--- a/spine-starling/spine-starling-example/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/spine/examples/TankExample.as=UTF-8
-encoding//src/spine/examples/TwoColorExample.as=UTF-8
-encoding/=UTF-8
diff --git a/spine-starling/spine-starling-example/.vscode/launch.json b/spine-starling/spine-starling-example/.vscode/launch.json
new file mode 100644
index 000000000..38add36ee
--- /dev/null
+++ b/spine-starling/spine-starling-example/.vscode/launch.json
@@ -0,0 +1,14 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "swf",
+ "request": "launch",
+ "name": "Launch Spine Starling Example",
+ "preLaunchTask": "ActionScript: compile debug - asconfig.json"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spine-starling/spine-starling-example/.vscode/settings.json b/spine-starling/spine-starling-example/.vscode/settings.json
new file mode 100644
index 000000000..14d49200d
--- /dev/null
+++ b/spine-starling/spine-starling-example/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "as3mxml.sdk.framework": "/Applications/air-sdk"
+}
\ No newline at end of file
diff --git a/spine-starling/spine-starling-example/asconfig.json b/spine-starling/spine-starling-example/asconfig.json
new file mode 100644
index 000000000..f179362d2
--- /dev/null
+++ b/spine-starling/spine-starling-example/asconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "output": "bin/spine-starling-example.swf",
+ "source-path": [
+ "src",
+ "../../spine-as3/spine-as3/src",
+ "../../spine-starling/spine-starling/src"
+ ],
+ "library-path": [
+ "../../spine-starling/spine-starling/starling-2.4.swc"
+ ],
+ "default-size": {
+ "width": 550,
+ "height": 500
+ },
+ "target-player": "32.0",
+ "swf-version": 43
+ },
+ "files": [
+ "src/spine/examples/Main.as"
+ ]
+}
\ No newline at end of file
diff --git a/spine-starling/spine-starling-example/lib/spine-as3.swc b/spine-starling/spine-starling-example/lib/spine-as3.swc
deleted file mode 100644
index ff39eb080..000000000
Binary files a/spine-starling/spine-starling-example/lib/spine-as3.swc and /dev/null differ
diff --git a/spine-starling/spine-starling-example/lib/spine-starling.swc b/spine-starling/spine-starling-example/lib/spine-starling.swc
deleted file mode 100644
index 4d3ccaac9..000000000
Binary files a/spine-starling/spine-starling-example/lib/spine-starling.swc and /dev/null differ
diff --git a/spine-starling/spine-starling/.project b/spine-starling/spine-starling/.project
deleted file mode 100644
index d23d30714..000000000
--- a/spine-starling/spine-starling/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- spine-starling
-
-
-
-
-
- com.powerflasher.fdt.core.FlashBuilder
-
-
-
-
-
- com.powerflasher.fdt.core.FlashNature
-
-
diff --git a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.classpath b/spine-starling/spine-starling/.settings/com.powerflasher.fdt.classpath
deleted file mode 100644
index d07363708..000000000
--- a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- lib
- src
- lib/spine-as3.swc
- frameworks/libs/air/airglobal.swc
- lib/starling-2.4.swc
-
diff --git a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.core.prefs b/spine-starling/spine-starling/.settings/com.powerflasher.fdt.core.prefs
deleted file mode 100644
index 16287c0de..000000000
--- a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.core.prefs
+++ /dev/null
@@ -1,21 +0,0 @@
-com.powerflasher.fdt.core.CompatiblePlayers=AIR_Debug_Launcher
-com.powerflasher.fdt.core.CompilerArguments=-static-link-runtime-shared-libraries\=true\n-target-player\={playerVersion}\n-library-path+\="{flexSDK}/frameworks/locale/en_US"\n-default-size\=550,400
-com.powerflasher.fdt.core.CompilerConstants=CONFIG\:\:AUTHOR\!"{user.name}"\nCONFIG\:\:DEBUG\!{debug}
-com.powerflasher.fdt.core.DefaultOutputFolder=bin
-com.powerflasher.fdt.core.DefaultPlayer=AIR_Debug_Launcher
-com.powerflasher.fdt.core.IncludeTestResources=false
-com.powerflasher.fdt.core.Language=AS3
-com.powerflasher.fdt.core.Manifests=
-com.powerflasher.fdt.core.PassClasspath=true
-com.powerflasher.fdt.core.PassDefines=true
-com.powerflasher.fdt.core.PassExterns=false
-com.powerflasher.fdt.core.PassMainclass=true
-com.powerflasher.fdt.core.PassManifests=true
-com.powerflasher.fdt.core.PassRsls=false
-com.powerflasher.fdt.core.PassSwcs=true
-com.powerflasher.fdt.core.PlatformType=AIR
-com.powerflasher.fdt.core.PlayerVersion=30.0
-com.powerflasher.fdt.core.ProjectTypeHint=Library AIR
-com.powerflasher.fdt.core.Runtime=AIR
-com.powerflasher.fdt.core.SdkName=Flex 4.6.0
-eclipse.preferences.version=1
diff --git a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude b/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude
deleted file mode 100644
index 4fa9ce312..000000000
--- a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- SDK:frameworks/libs/air/aircore.swc
- SDK:frameworks/libs/air/airglobal.swc
- SDK:frameworks/libs/air/applicationupdater.swc
- SDK:frameworks/libs/air/applicationupdater_ui.swc
- SDK:frameworks/libs/air/servicemonitor.swc
- SDK:frameworks/libs/authoringsupport.swc
- SDK:frameworks/libs/core.swc
- SDK:frameworks/libs/osmf.swc
- SDK:frameworks/libs/textLayout.swc
-
-
diff --git a/spine-starling/spine-starling/.settings/launch/spine-starling.swc.launch b/spine-starling/spine-starling/.settings/launch/spine-starling.swc.launch
deleted file mode 100644
index 91df32df7..000000000
--- a/spine-starling/spine-starling/.settings/launch/spine-starling.swc.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spine-starling/spine-starling/.settings/org.eclipse.core.resources.prefs b/spine-starling/spine-starling/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 42fadd454..000000000
--- a/spine-starling/spine-starling/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/spine/starling/SkeletonAnimation.as=UTF-8
-encoding//src/spine/starling/SkeletonMesh.as=UTF-8
-encoding//src/spine/starling/SkeletonSprite.as=UTF-8
-encoding//src/spine/starling/StarlingAtlasAttachmentLoader.as=UTF-8
-encoding//src/spine/starling/StarlingTextureLoader.as=UTF-8
-encoding//src/spine/starling/TwoColorEffect.as=UTF-8
-encoding//src/spine/starling/TwoColorMeshStyle.as=UTF-8
-encoding/=UTF-8
diff --git a/spine-starling/spine-starling/.vscode/settings.json b/spine-starling/spine-starling/.vscode/settings.json
new file mode 100644
index 000000000..14d49200d
--- /dev/null
+++ b/spine-starling/spine-starling/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "as3mxml.sdk.framework": "/Applications/air-sdk"
+}
\ No newline at end of file
diff --git a/spine-starling/spine-starling/asconfig.json b/spine-starling/spine-starling/asconfig.json
new file mode 100644
index 000000000..e4a1bc9af
--- /dev/null
+++ b/spine-starling/spine-starling/asconfig.json
@@ -0,0 +1,18 @@
+{
+ "type": "lib",
+ "compilerOptions": {
+ "source-path": [
+ "src",
+ "../../spine-as3/spine-as3/src"
+ ],
+ "include-sources": [
+ "src",
+ "../../spine-as3/spine-as3/src"
+ ],
+ "external-library-path": [
+ "starling-2.4.swc"
+ ],
+ "output": "lib/spine-starling.swc",
+ "target-player": "32.0"
+ }
+}
\ No newline at end of file
diff --git a/spine-starling/spine-starling/lib/spine-as3.swc b/spine-starling/spine-starling/lib/spine-as3.swc
deleted file mode 100644
index ff39eb080..000000000
Binary files a/spine-starling/spine-starling/lib/spine-as3.swc and /dev/null differ
diff --git a/spine-starling/spine-starling/lib/spine-starling.swc b/spine-starling/spine-starling/lib/spine-starling.swc
new file mode 100644
index 000000000..47990d6ae
Binary files /dev/null and b/spine-starling/spine-starling/lib/spine-starling.swc differ
diff --git a/spine-starling/spine-starling/lib/starling-2.4.swc b/spine-starling/spine-starling/lib/starling-2.4.swc
deleted file mode 100644
index 92d52da0b..000000000
Binary files a/spine-starling/spine-starling/lib/starling-2.4.swc and /dev/null differ
diff --git a/spine-starling/spine-starling-example/lib/starling-2.4.swc b/spine-starling/spine-starling/starling-2.4.swc
similarity index 100%
rename from spine-starling/spine-starling-example/lib/starling-2.4.swc
rename to spine-starling/spine-starling/starling-2.4.swc