diff --git a/spine-ts/README.md b/spine-ts/README.md
index c93ee1b9c..198dffbc2 100644
--- a/spine-ts/README.md
+++ b/spine-ts/README.md
@@ -36,9 +36,8 @@ All `*.js` files are self-contained and include both the core and respective bac
If you write your app with TypeScript, additionally copy the corresponding `build/spine-*.d.ts` file to your project.
-## Example
-To run the examples, spawn a light-weight web server in the root of spine-ts, then navigate to the respective
-`index.html` file. E.g.:
+## Examples
+To run the examples, the image, atlas, and JSON files must be served by a webserver, they can't be loaded from your local disk. Spawn a light-weight web server in the root of spine-ts, then navigate to the `index.html` file for the example you want to view. E.g.:
```
cd spine-ts
@@ -47,6 +46,20 @@ python -m SimpleHTTPServer
Then open `http://localhost:8000/webgl/example`, `http://localhost:8000/canvas/example`, `https://localhost:8000/threejs/example` or `http://localhost:8000/widget/example` in your browser.
+## WebGL Demos
+The spine-ts WebGL demos load their image, atlas, and JSON files from our webserver and so can be run directly, without needing a webserver. View the demos [all on one page](http://esotericsoftware.com/spine-demos/) or use the [standalone demos]() which are easy for you to explore and edit. The standalone demos can also be viewed here:
+
+- [Spine vs sprite sheets](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/spritesheets.html)
+- [Image changes](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/imagechanges.html)
+- [Transitions](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/transitions.html)
+- [Meshes](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/meshes.html)
+- [Skins](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/skins.html)
+- [Hoverboard](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/hoverboard.html)
+- [Transform constraints](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/transforms.html)
+- [Tank](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/tank.html)
+- [Vine](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/vine.html)
+- [Stretchyman](http://rawgit.com/EsotericSoftware/spine-runtimes/master/spine-ts/webgl/demos/stretchyman.html)
+
## Development Setup
The spine-ts runtime and the various backends are implemented in TypeScript for greater maintainability and better tooling support. To
setup a development environment, follow these steps.
diff --git a/spine-ts/webgl/demos/framebyframe.html b/spine-ts/webgl/demos/framebyframe.html
deleted file mode 100644
index 10ff67bdc..000000000
--- a/spine-ts/webgl/demos/framebyframe.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
Frame-by-frame - Spine Demo
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spine-ts/webgl/demos/ikconstraint.html b/spine-ts/webgl/demos/hoverboard.html
similarity index 56%
rename from spine-ts/webgl/demos/ikconstraint.html
rename to spine-ts/webgl/demos/hoverboard.html
index b48a2bc9a..9534e2a72 100644
--- a/spine-ts/webgl/demos/ikconstraint.html
+++ b/spine-ts/webgl/demos/hoverboard.html
@@ -4,16 +4,16 @@
-
+
-
- Display Bones
+
+ Display Bones
diff --git a/spine-ts/webgl/demos/ikconstraint.js b/spine-ts/webgl/demos/hoverboard.js
similarity index 96%
rename from spine-ts/webgl/demos/ikconstraint.js
rename to spine-ts/webgl/demos/hoverboard.js
index 1f7e04d4f..25bb6ec64 100644
--- a/spine-ts/webgl/demos/ikconstraint.js
+++ b/spine-ts/webgl/demos/hoverboard.js
@@ -1,4 +1,4 @@
-var ikConstraintDemo = function(loadingComplete, bgColor) {
+var hoverboardDemo = function(loadingComplete, bgColor) {
var COLOR_INNER = new spine.Color(0.8, 0, 0, 0.5);
var COLOR_OUTER = new spine.Color(0.8, 0, 0, 0.8);
var COLOR_INNER_SELECTED = new spine.Color(0.0, 0, 0.8, 0.5);
@@ -13,12 +13,12 @@ var ikConstraintDemo = function(loadingComplete, bgColor) {
var coords = new spine.webgl.Vector3(), temp = new spine.webgl.Vector3(), temp2 = new spine.Vector2(), temp3 = new spine.webgl.Vector3();
var isPlaying = true;
- var DEMO_NAME = "IkConstraintDemo";
+ var DEMO_NAME = "HoverboardDemo";
if (!bgColor) bgColor = new spine.Color(1, 1, 1, 1);
function init () {
- canvas = document.getElementById("ikdemo-canvas");
+ canvas = document.getElementById("hoverboard-canvas");
canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
gl = canvas.getContext("webgl", { alpha: false }) || canvas.getContext("experimental-webgl", { alpha: false });
@@ -71,7 +71,7 @@ var ikConstraintDemo = function(loadingComplete, bgColor) {
}
function setupUI() {
- var checkbox = $("#ikdemo-drawbones");
+ var checkbox = $("#hoverboard-drawbones");
renderer.skeletonDebugRenderer.drawRegionAttachments = false;
renderer.skeletonDebugRenderer.drawPaths = false;
renderer.skeletonDebugRenderer.drawBones = false;
diff --git a/spine-ts/webgl/demos/imagechanges.html b/spine-ts/webgl/demos/imagechanges.html
new file mode 100644
index 000000000..43a2ae6f9
--- /dev/null
+++ b/spine-ts/webgl/demos/imagechanges.html
@@ -0,0 +1,23 @@
+
+Frame-by-frame - Spine Demo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spine-ts/webgl/demos/framebyframe.js b/spine-ts/webgl/demos/imagechanges.js
similarity index 94%
rename from spine-ts/webgl/demos/framebyframe.js
rename to spine-ts/webgl/demos/imagechanges.js
index c0230a0f2..c2d2ae5f3 100644
--- a/spine-ts/webgl/demos/framebyframe.js
+++ b/spine-ts/webgl/demos/imagechanges.js
@@ -1,4 +1,4 @@
-var frameByFrameDemo = function(loadingComplete, bgColor) {
+var imageChangesDemo = function(loadingComplete, bgColor) {
var OUTLINE_COLOR = new spine.Color(0, 0.8, 0, 1);
var canvas, gl, renderer, input, assetManager;
@@ -8,12 +8,12 @@ var frameByFrameDemo = function(loadingComplete, bgColor) {
var activeSkeleton = "Alien";
var playButton, timeLine, isPlaying = true;
- var DEMO_NAME = "FrameByFrameDemo";
+ var DEMO_NAME = "ImageChangesDemo";
if (!bgColor) bgColor = new spine.Color(1, 1, 1, 1);
function init () {
- canvas = document.getElementById("framebyframedemo-canvas");
+ canvas = document.getElementById("imagechanges-canvas");
canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
gl = canvas.getContext("webgl", { alpha: false }) || canvas.getContext("experimental-webgl", { alpha: false });
@@ -43,7 +43,7 @@ var frameByFrameDemo = function(loadingComplete, bgColor) {
}
function setupUI() {
- playButton = $("#framebyframedemo-playbutton");
+ playButton = $("#imagechanges-playbutton");
var playButtonUpdate = function () {
isPlaying = !isPlaying;
if (isPlaying) {
@@ -57,7 +57,7 @@ var frameByFrameDemo = function(loadingComplete, bgColor) {
playButton.click(playButtonUpdate);
playButton.addClass("pause");
- timeLine = $("#framebyframedemo-timeline").data("slider");
+ timeLine = $("#imagechanges-timeline").data("slider");
timeLine.changed = function (percent) {
if (isPlaying) playButton.click();
if (!isPlaying) {
@@ -71,7 +71,7 @@ var frameByFrameDemo = function(loadingComplete, bgColor) {
}
};
- var list = $("#framebyframedemo-active-skeleton");
+ var list = $("#imagechanges-skeleton");
for (var skeletonName in skeletons) {
var option = $("");
option.attr("value", skeletonName).text(skeletonName);
@@ -79,7 +79,7 @@ var frameByFrameDemo = function(loadingComplete, bgColor) {
list.append(option);
}
list.change(function() {
- activeSkeleton = $("#framebyframedemo-active-skeleton option:selected").text();
+ activeSkeleton = $("#imagechanges-skeleton option:selected").text();
var active = skeletons[activeSkeleton];
var animationDuration = active.state.getCurrent(0).animation.duration;
timeLine.set(active.playTime / animationDuration);
diff --git a/spine-ts/webgl/demos/meshes.html b/spine-ts/webgl/demos/meshes.html
index 30ef4f49f..a87f42de4 100644
--- a/spine-ts/webgl/demos/meshes.html
+++ b/spine-ts/webgl/demos/meshes.html
@@ -8,12 +8,12 @@
-
-
-
-
- Draw bones
- Draw triangles
+
+
+
+
+ Draw bones
+ Draw triangles
-
-
-
-
-
-
-
-
-
- Display bones & path
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spine-ts/webgl/demos/skins.html b/spine-ts/webgl/demos/skins.html
index a059c6108..f1e3241cd 100644
--- a/spine-ts/webgl/demos/skins.html
+++ b/spine-ts/webgl/demos/skins.html
@@ -8,11 +8,11 @@
-
-
-
-
- Randomize skin
+
+
+
+
+ Randomize skin
-
-
-
-
-
-
-
-
-
-Time multiplier
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spine-ts/webgl/demos/spritesheets.html b/spine-ts/webgl/demos/spritesheets.html
new file mode 100644
index 000000000..1f92933eb
--- /dev/null
+++ b/spine-ts/webgl/demos/spritesheets.html
@@ -0,0 +1,24 @@
+
+Spine vs Sprite Sheets - Spine Demo
+
+
+
+
+
+
+
+