mirror of
https://github.com/reanimate/reanimate.git
synced 2026-09-14 09:32:22 +00:00
Deploying to gh-pages from @ 3bfa25b9be 🚀
This commit is contained in:
parent
ad77a37d91
commit
e28cb292b5
3 changed files with 489 additions and 191 deletions
|
|
@ -4355,6 +4355,52 @@ function _Browser_load(url)
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function _Time_now(millisToPosix)
|
||||||
|
{
|
||||||
|
return _Scheduler_binding(function(callback)
|
||||||
|
{
|
||||||
|
callback(_Scheduler_succeed(millisToPosix(Date.now())));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var _Time_setInterval = F2(function(interval, task)
|
||||||
|
{
|
||||||
|
return _Scheduler_binding(function(callback)
|
||||||
|
{
|
||||||
|
var id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval);
|
||||||
|
return function() { clearInterval(id); };
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function _Time_here()
|
||||||
|
{
|
||||||
|
return _Scheduler_binding(function(callback)
|
||||||
|
{
|
||||||
|
callback(_Scheduler_succeed(
|
||||||
|
A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function _Time_getZoneName()
|
||||||
|
{
|
||||||
|
return _Scheduler_binding(function(callback)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);
|
||||||
|
}
|
||||||
|
catch (e)
|
||||||
|
{
|
||||||
|
var name = $elm$time$Time$Offset(new Date().getTimezoneOffset());
|
||||||
|
}
|
||||||
|
callback(_Scheduler_succeed(name));
|
||||||
|
});
|
||||||
|
}
|
||||||
var $elm$core$Basics$EQ = 1;
|
var $elm$core$Basics$EQ = 1;
|
||||||
var $elm$core$Basics$GT = 2;
|
var $elm$core$Basics$GT = 2;
|
||||||
var $elm$core$Basics$LT = 0;
|
var $elm$core$Basics$LT = 0;
|
||||||
|
|
@ -5229,6 +5275,7 @@ var $author$project$Main$connectCommand = A2(
|
||||||
var $author$project$Main$init = function (_v0) {
|
var $author$project$Main$init = function (_v0) {
|
||||||
return _Utils_Tuple2($author$project$Main$Disconnected, $author$project$Main$connectCommand);
|
return _Utils_Tuple2($author$project$Main$Disconnected, $author$project$Main$connectCommand);
|
||||||
};
|
};
|
||||||
|
var $author$project$Main$AttemptReconnect = {$: 2};
|
||||||
var $author$project$Main$Change = function (a) {
|
var $author$project$Main$Change = function (a) {
|
||||||
return {$: 7, a: a};
|
return {$: 7, a: a};
|
||||||
};
|
};
|
||||||
|
|
@ -5238,7 +5285,424 @@ var $author$project$Main$MessageReceived = function (a) {
|
||||||
var $author$project$Main$TimeDeltaReceived = function (a) {
|
var $author$project$Main$TimeDeltaReceived = function (a) {
|
||||||
return {$: 1, a: a};
|
return {$: 1, a: a};
|
||||||
};
|
};
|
||||||
|
var $elm$core$Basics$always = F2(
|
||||||
|
function (a, _v0) {
|
||||||
|
return a;
|
||||||
|
});
|
||||||
var $elm$core$Platform$Sub$batch = _Platform_batch;
|
var $elm$core$Platform$Sub$batch = _Platform_batch;
|
||||||
|
var $elm$time$Time$Every = F2(
|
||||||
|
function (a, b) {
|
||||||
|
return {$: 0, a: a, b: b};
|
||||||
|
});
|
||||||
|
var $elm$time$Time$State = F2(
|
||||||
|
function (taggers, processes) {
|
||||||
|
return {af: processes, al: taggers};
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2};
|
||||||
|
var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;
|
||||||
|
var $elm$time$Time$init = $elm$core$Task$succeed(
|
||||||
|
A2($elm$time$Time$State, $elm$core$Dict$empty, $elm$core$Dict$empty));
|
||||||
|
var $elm$core$Basics$compare = _Utils_compare;
|
||||||
|
var $elm$core$Dict$get = F2(
|
||||||
|
function (targetKey, dict) {
|
||||||
|
get:
|
||||||
|
while (true) {
|
||||||
|
if (dict.$ === -2) {
|
||||||
|
return $elm$core$Maybe$Nothing;
|
||||||
|
} else {
|
||||||
|
var key = dict.b;
|
||||||
|
var value = dict.c;
|
||||||
|
var left = dict.d;
|
||||||
|
var right = dict.e;
|
||||||
|
var _v1 = A2($elm$core$Basics$compare, targetKey, key);
|
||||||
|
switch (_v1) {
|
||||||
|
case 0:
|
||||||
|
var $temp$targetKey = targetKey,
|
||||||
|
$temp$dict = left;
|
||||||
|
targetKey = $temp$targetKey;
|
||||||
|
dict = $temp$dict;
|
||||||
|
continue get;
|
||||||
|
case 1:
|
||||||
|
return $elm$core$Maybe$Just(value);
|
||||||
|
default:
|
||||||
|
var $temp$targetKey = targetKey,
|
||||||
|
$temp$dict = right;
|
||||||
|
targetKey = $temp$targetKey;
|
||||||
|
dict = $temp$dict;
|
||||||
|
continue get;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$Black = 1;
|
||||||
|
var $elm$core$Dict$RBNode_elm_builtin = F5(
|
||||||
|
function (a, b, c, d, e) {
|
||||||
|
return {$: -1, a: a, b: b, c: c, d: d, e: e};
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$Red = 0;
|
||||||
|
var $elm$core$Dict$balance = F5(
|
||||||
|
function (color, key, value, left, right) {
|
||||||
|
if ((right.$ === -1) && (!right.a)) {
|
||||||
|
var _v1 = right.a;
|
||||||
|
var rK = right.b;
|
||||||
|
var rV = right.c;
|
||||||
|
var rLeft = right.d;
|
||||||
|
var rRight = right.e;
|
||||||
|
if ((left.$ === -1) && (!left.a)) {
|
||||||
|
var _v3 = left.a;
|
||||||
|
var lK = left.b;
|
||||||
|
var lV = left.c;
|
||||||
|
var lLeft = left.d;
|
||||||
|
var lRight = left.e;
|
||||||
|
return A5(
|
||||||
|
$elm$core$Dict$RBNode_elm_builtin,
|
||||||
|
0,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight),
|
||||||
|
A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight));
|
||||||
|
} else {
|
||||||
|
return A5(
|
||||||
|
$elm$core$Dict$RBNode_elm_builtin,
|
||||||
|
color,
|
||||||
|
rK,
|
||||||
|
rV,
|
||||||
|
A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft),
|
||||||
|
rRight);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) {
|
||||||
|
var _v5 = left.a;
|
||||||
|
var lK = left.b;
|
||||||
|
var lV = left.c;
|
||||||
|
var _v6 = left.d;
|
||||||
|
var _v7 = _v6.a;
|
||||||
|
var llK = _v6.b;
|
||||||
|
var llV = _v6.c;
|
||||||
|
var llLeft = _v6.d;
|
||||||
|
var llRight = _v6.e;
|
||||||
|
var lRight = left.e;
|
||||||
|
return A5(
|
||||||
|
$elm$core$Dict$RBNode_elm_builtin,
|
||||||
|
0,
|
||||||
|
lK,
|
||||||
|
lV,
|
||||||
|
A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),
|
||||||
|
A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right));
|
||||||
|
} else {
|
||||||
|
return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$insertHelp = F3(
|
||||||
|
function (key, value, dict) {
|
||||||
|
if (dict.$ === -2) {
|
||||||
|
return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);
|
||||||
|
} else {
|
||||||
|
var nColor = dict.a;
|
||||||
|
var nKey = dict.b;
|
||||||
|
var nValue = dict.c;
|
||||||
|
var nLeft = dict.d;
|
||||||
|
var nRight = dict.e;
|
||||||
|
var _v1 = A2($elm$core$Basics$compare, key, nKey);
|
||||||
|
switch (_v1) {
|
||||||
|
case 0:
|
||||||
|
return A5(
|
||||||
|
$elm$core$Dict$balance,
|
||||||
|
nColor,
|
||||||
|
nKey,
|
||||||
|
nValue,
|
||||||
|
A3($elm$core$Dict$insertHelp, key, value, nLeft),
|
||||||
|
nRight);
|
||||||
|
case 1:
|
||||||
|
return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);
|
||||||
|
default:
|
||||||
|
return A5(
|
||||||
|
$elm$core$Dict$balance,
|
||||||
|
nColor,
|
||||||
|
nKey,
|
||||||
|
nValue,
|
||||||
|
nLeft,
|
||||||
|
A3($elm$core$Dict$insertHelp, key, value, nRight));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$insert = F3(
|
||||||
|
function (key, value, dict) {
|
||||||
|
var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);
|
||||||
|
if ((_v0.$ === -1) && (!_v0.a)) {
|
||||||
|
var _v1 = _v0.a;
|
||||||
|
var k = _v0.b;
|
||||||
|
var v = _v0.c;
|
||||||
|
var l = _v0.d;
|
||||||
|
var r = _v0.e;
|
||||||
|
return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);
|
||||||
|
} else {
|
||||||
|
var x = _v0;
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$time$Time$addMySub = F2(
|
||||||
|
function (_v0, state) {
|
||||||
|
var interval = _v0.a;
|
||||||
|
var tagger = _v0.b;
|
||||||
|
var _v1 = A2($elm$core$Dict$get, interval, state);
|
||||||
|
if (_v1.$ === 1) {
|
||||||
|
return A3(
|
||||||
|
$elm$core$Dict$insert,
|
||||||
|
interval,
|
||||||
|
_List_fromArray(
|
||||||
|
[tagger]),
|
||||||
|
state);
|
||||||
|
} else {
|
||||||
|
var taggers = _v1.a;
|
||||||
|
return A3(
|
||||||
|
$elm$core$Dict$insert,
|
||||||
|
interval,
|
||||||
|
A2($elm$core$List$cons, tagger, taggers),
|
||||||
|
state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Process$kill = _Scheduler_kill;
|
||||||
|
var $elm$core$Dict$foldl = F3(
|
||||||
|
function (func, acc, dict) {
|
||||||
|
foldl:
|
||||||
|
while (true) {
|
||||||
|
if (dict.$ === -2) {
|
||||||
|
return acc;
|
||||||
|
} else {
|
||||||
|
var key = dict.b;
|
||||||
|
var value = dict.c;
|
||||||
|
var left = dict.d;
|
||||||
|
var right = dict.e;
|
||||||
|
var $temp$func = func,
|
||||||
|
$temp$acc = A3(
|
||||||
|
func,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
A3($elm$core$Dict$foldl, func, acc, left)),
|
||||||
|
$temp$dict = right;
|
||||||
|
func = $temp$func;
|
||||||
|
acc = $temp$acc;
|
||||||
|
dict = $temp$dict;
|
||||||
|
continue foldl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Dict$merge = F6(
|
||||||
|
function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {
|
||||||
|
var stepState = F3(
|
||||||
|
function (rKey, rValue, _v0) {
|
||||||
|
stepState:
|
||||||
|
while (true) {
|
||||||
|
var list = _v0.a;
|
||||||
|
var result = _v0.b;
|
||||||
|
if (!list.b) {
|
||||||
|
return _Utils_Tuple2(
|
||||||
|
list,
|
||||||
|
A3(rightStep, rKey, rValue, result));
|
||||||
|
} else {
|
||||||
|
var _v2 = list.a;
|
||||||
|
var lKey = _v2.a;
|
||||||
|
var lValue = _v2.b;
|
||||||
|
var rest = list.b;
|
||||||
|
if (_Utils_cmp(lKey, rKey) < 0) {
|
||||||
|
var $temp$rKey = rKey,
|
||||||
|
$temp$rValue = rValue,
|
||||||
|
$temp$_v0 = _Utils_Tuple2(
|
||||||
|
rest,
|
||||||
|
A3(leftStep, lKey, lValue, result));
|
||||||
|
rKey = $temp$rKey;
|
||||||
|
rValue = $temp$rValue;
|
||||||
|
_v0 = $temp$_v0;
|
||||||
|
continue stepState;
|
||||||
|
} else {
|
||||||
|
if (_Utils_cmp(lKey, rKey) > 0) {
|
||||||
|
return _Utils_Tuple2(
|
||||||
|
list,
|
||||||
|
A3(rightStep, rKey, rValue, result));
|
||||||
|
} else {
|
||||||
|
return _Utils_Tuple2(
|
||||||
|
rest,
|
||||||
|
A4(bothStep, lKey, lValue, rValue, result));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var _v3 = A3(
|
||||||
|
$elm$core$Dict$foldl,
|
||||||
|
stepState,
|
||||||
|
_Utils_Tuple2(
|
||||||
|
$elm$core$Dict$toList(leftDict),
|
||||||
|
initialResult),
|
||||||
|
rightDict);
|
||||||
|
var leftovers = _v3.a;
|
||||||
|
var intermediateResult = _v3.b;
|
||||||
|
return A3(
|
||||||
|
$elm$core$List$foldl,
|
||||||
|
F2(
|
||||||
|
function (_v4, result) {
|
||||||
|
var k = _v4.a;
|
||||||
|
var v = _v4.b;
|
||||||
|
return A3(leftStep, k, v, result);
|
||||||
|
}),
|
||||||
|
intermediateResult,
|
||||||
|
leftovers);
|
||||||
|
});
|
||||||
|
var $elm$core$Platform$sendToSelf = _Platform_sendToSelf;
|
||||||
|
var $elm$time$Time$Name = function (a) {
|
||||||
|
return {$: 0, a: a};
|
||||||
|
};
|
||||||
|
var $elm$time$Time$Offset = function (a) {
|
||||||
|
return {$: 1, a: a};
|
||||||
|
};
|
||||||
|
var $elm$time$Time$Zone = F2(
|
||||||
|
function (a, b) {
|
||||||
|
return {$: 0, a: a, b: b};
|
||||||
|
});
|
||||||
|
var $elm$time$Time$customZone = $elm$time$Time$Zone;
|
||||||
|
var $elm$time$Time$setInterval = _Time_setInterval;
|
||||||
|
var $elm$core$Process$spawn = _Scheduler_spawn;
|
||||||
|
var $elm$time$Time$spawnHelp = F3(
|
||||||
|
function (router, intervals, processes) {
|
||||||
|
if (!intervals.b) {
|
||||||
|
return $elm$core$Task$succeed(processes);
|
||||||
|
} else {
|
||||||
|
var interval = intervals.a;
|
||||||
|
var rest = intervals.b;
|
||||||
|
var spawnTimer = $elm$core$Process$spawn(
|
||||||
|
A2(
|
||||||
|
$elm$time$Time$setInterval,
|
||||||
|
interval,
|
||||||
|
A2($elm$core$Platform$sendToSelf, router, interval)));
|
||||||
|
var spawnRest = function (id) {
|
||||||
|
return A3(
|
||||||
|
$elm$time$Time$spawnHelp,
|
||||||
|
router,
|
||||||
|
rest,
|
||||||
|
A3($elm$core$Dict$insert, interval, id, processes));
|
||||||
|
};
|
||||||
|
return A2($elm$core$Task$andThen, spawnRest, spawnTimer);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$time$Time$onEffects = F3(
|
||||||
|
function (router, subs, _v0) {
|
||||||
|
var processes = _v0.af;
|
||||||
|
var rightStep = F3(
|
||||||
|
function (_v6, id, _v7) {
|
||||||
|
var spawns = _v7.a;
|
||||||
|
var existing = _v7.b;
|
||||||
|
var kills = _v7.c;
|
||||||
|
return _Utils_Tuple3(
|
||||||
|
spawns,
|
||||||
|
existing,
|
||||||
|
A2(
|
||||||
|
$elm$core$Task$andThen,
|
||||||
|
function (_v5) {
|
||||||
|
return kills;
|
||||||
|
},
|
||||||
|
$elm$core$Process$kill(id)));
|
||||||
|
});
|
||||||
|
var newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);
|
||||||
|
var leftStep = F3(
|
||||||
|
function (interval, taggers, _v4) {
|
||||||
|
var spawns = _v4.a;
|
||||||
|
var existing = _v4.b;
|
||||||
|
var kills = _v4.c;
|
||||||
|
return _Utils_Tuple3(
|
||||||
|
A2($elm$core$List$cons, interval, spawns),
|
||||||
|
existing,
|
||||||
|
kills);
|
||||||
|
});
|
||||||
|
var bothStep = F4(
|
||||||
|
function (interval, taggers, id, _v3) {
|
||||||
|
var spawns = _v3.a;
|
||||||
|
var existing = _v3.b;
|
||||||
|
var kills = _v3.c;
|
||||||
|
return _Utils_Tuple3(
|
||||||
|
spawns,
|
||||||
|
A3($elm$core$Dict$insert, interval, id, existing),
|
||||||
|
kills);
|
||||||
|
});
|
||||||
|
var _v1 = A6(
|
||||||
|
$elm$core$Dict$merge,
|
||||||
|
leftStep,
|
||||||
|
bothStep,
|
||||||
|
rightStep,
|
||||||
|
newTaggers,
|
||||||
|
processes,
|
||||||
|
_Utils_Tuple3(
|
||||||
|
_List_Nil,
|
||||||
|
$elm$core$Dict$empty,
|
||||||
|
$elm$core$Task$succeed(0)));
|
||||||
|
var spawnList = _v1.a;
|
||||||
|
var existingDict = _v1.b;
|
||||||
|
var killTask = _v1.c;
|
||||||
|
return A2(
|
||||||
|
$elm$core$Task$andThen,
|
||||||
|
function (newProcesses) {
|
||||||
|
return $elm$core$Task$succeed(
|
||||||
|
A2($elm$time$Time$State, newTaggers, newProcesses));
|
||||||
|
},
|
||||||
|
A2(
|
||||||
|
$elm$core$Task$andThen,
|
||||||
|
function (_v2) {
|
||||||
|
return A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);
|
||||||
|
},
|
||||||
|
killTask));
|
||||||
|
});
|
||||||
|
var $elm$time$Time$Posix = $elm$core$Basics$identity;
|
||||||
|
var $elm$time$Time$millisToPosix = $elm$core$Basics$identity;
|
||||||
|
var $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix);
|
||||||
|
var $elm$time$Time$onSelfMsg = F3(
|
||||||
|
function (router, interval, state) {
|
||||||
|
var _v0 = A2($elm$core$Dict$get, interval, state.al);
|
||||||
|
if (_v0.$ === 1) {
|
||||||
|
return $elm$core$Task$succeed(state);
|
||||||
|
} else {
|
||||||
|
var taggers = _v0.a;
|
||||||
|
var tellTaggers = function (time) {
|
||||||
|
return $elm$core$Task$sequence(
|
||||||
|
A2(
|
||||||
|
$elm$core$List$map,
|
||||||
|
function (tagger) {
|
||||||
|
return A2(
|
||||||
|
$elm$core$Platform$sendToApp,
|
||||||
|
router,
|
||||||
|
tagger(time));
|
||||||
|
},
|
||||||
|
taggers));
|
||||||
|
};
|
||||||
|
return A2(
|
||||||
|
$elm$core$Task$andThen,
|
||||||
|
function (_v1) {
|
||||||
|
return $elm$core$Task$succeed(state);
|
||||||
|
},
|
||||||
|
A2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var $elm$core$Basics$composeL = F3(
|
||||||
|
function (g, f, x) {
|
||||||
|
return g(
|
||||||
|
f(x));
|
||||||
|
});
|
||||||
|
var $elm$time$Time$subMap = F2(
|
||||||
|
function (f, _v0) {
|
||||||
|
var interval = _v0.a;
|
||||||
|
var tagger = _v0.b;
|
||||||
|
return A2(
|
||||||
|
$elm$time$Time$Every,
|
||||||
|
interval,
|
||||||
|
A2($elm$core$Basics$composeL, f, tagger));
|
||||||
|
});
|
||||||
|
_Platform_effectManagers['Time'] = _Platform_createManager($elm$time$Time$init, $elm$time$Time$onEffects, $elm$time$Time$onSelfMsg, 0, $elm$time$Time$subMap);
|
||||||
|
var $elm$time$Time$subscription = _Platform_leaf('Time');
|
||||||
|
var $elm$time$Time$every = F2(
|
||||||
|
function (interval, tagger) {
|
||||||
|
return $elm$time$Time$subscription(
|
||||||
|
A2($elm$time$Time$Every, interval, tagger));
|
||||||
|
});
|
||||||
var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);
|
var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);
|
||||||
var $elm$browser$Browser$AnimationManager$Delta = function (a) {
|
var $elm$browser$Browser$AnimationManager$Delta = function (a) {
|
||||||
return {$: 1, a: a};
|
return {$: 1, a: a};
|
||||||
|
|
@ -5249,11 +5713,8 @@ var $elm$browser$Browser$AnimationManager$State = F3(
|
||||||
});
|
});
|
||||||
var $elm$browser$Browser$AnimationManager$init = $elm$core$Task$succeed(
|
var $elm$browser$Browser$AnimationManager$init = $elm$core$Task$succeed(
|
||||||
A3($elm$browser$Browser$AnimationManager$State, _List_Nil, $elm$core$Maybe$Nothing, 0));
|
A3($elm$browser$Browser$AnimationManager$State, _List_Nil, $elm$core$Maybe$Nothing, 0));
|
||||||
var $elm$core$Process$kill = _Scheduler_kill;
|
|
||||||
var $elm$browser$Browser$AnimationManager$now = _Browser_now(0);
|
var $elm$browser$Browser$AnimationManager$now = _Browser_now(0);
|
||||||
var $elm$browser$Browser$AnimationManager$rAF = _Browser_rAF(0);
|
var $elm$browser$Browser$AnimationManager$rAF = _Browser_rAF(0);
|
||||||
var $elm$core$Platform$sendToSelf = _Platform_sendToSelf;
|
|
||||||
var $elm$core$Process$spawn = _Scheduler_spawn;
|
|
||||||
var $elm$browser$Browser$AnimationManager$onEffects = F3(
|
var $elm$browser$Browser$AnimationManager$onEffects = F3(
|
||||||
function (router, subs, _v0) {
|
function (router, subs, _v0) {
|
||||||
var request = _v0.ai;
|
var request = _v0.ai;
|
||||||
|
|
@ -5301,8 +5762,6 @@ var $elm$browser$Browser$AnimationManager$onEffects = F3(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var $elm$time$Time$Posix = $elm$core$Basics$identity;
|
|
||||||
var $elm$time$Time$millisToPosix = $elm$core$Basics$identity;
|
|
||||||
var $elm$browser$Browser$AnimationManager$onSelfMsg = F3(
|
var $elm$browser$Browser$AnimationManager$onSelfMsg = F3(
|
||||||
function (router, newTime, _v0) {
|
function (router, newTime, _v0) {
|
||||||
var subs = _v0.ak;
|
var subs = _v0.ak;
|
||||||
|
|
@ -5348,11 +5807,6 @@ var $elm$browser$Browser$AnimationManager$onSelfMsg = F3(
|
||||||
var $elm$browser$Browser$AnimationManager$Time = function (a) {
|
var $elm$browser$Browser$AnimationManager$Time = function (a) {
|
||||||
return {$: 0, a: a};
|
return {$: 0, a: a};
|
||||||
};
|
};
|
||||||
var $elm$core$Basics$composeL = F3(
|
|
||||||
function (g, f, x) {
|
|
||||||
return g(
|
|
||||||
f(x));
|
|
||||||
});
|
|
||||||
var $elm$browser$Browser$AnimationManager$subMap = F2(
|
var $elm$browser$Browser$AnimationManager$subMap = F2(
|
||||||
function (func, sub) {
|
function (func, sub) {
|
||||||
if (!sub.$) {
|
if (!sub.$) {
|
||||||
|
|
@ -5459,16 +5913,31 @@ var $author$project$Main$subscriptions = function (model) {
|
||||||
$author$project$Ports$receiveEditorMsg($author$project$Main$Change),
|
$author$project$Ports$receiveEditorMsg($author$project$Main$Change),
|
||||||
$author$project$Ports$receiveControlMsg($author$project$Main$parseControlMsg),
|
$author$project$Ports$receiveControlMsg($author$project$Main$parseControlMsg),
|
||||||
function () {
|
function () {
|
||||||
if (model.$ === 3) {
|
_v0$2:
|
||||||
var player = model.a.m;
|
while (true) {
|
||||||
if (player.$ === 1) {
|
switch (model.$) {
|
||||||
return $elm$browser$Browser$Events$onAnimationFrameDelta($author$project$Main$TimeDeltaReceived);
|
case 3:
|
||||||
} else {
|
var player = model.a.m;
|
||||||
return $elm$core$Platform$Sub$none;
|
if (player.$ === 1) {
|
||||||
|
return $elm$browser$Browser$Events$onAnimationFrameDelta($author$project$Main$TimeDeltaReceived);
|
||||||
|
} else {
|
||||||
|
return $elm$core$Platform$Sub$none;
|
||||||
|
}
|
||||||
|
case 4:
|
||||||
|
if (model.a.$ === 1) {
|
||||||
|
var _v2 = model.a;
|
||||||
|
return A2(
|
||||||
|
$elm$time$Time$every,
|
||||||
|
2000,
|
||||||
|
$elm$core$Basics$always($author$project$Main$AttemptReconnect));
|
||||||
|
} else {
|
||||||
|
break _v0$2;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break _v0$2;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
return $elm$core$Platform$Sub$none;
|
|
||||||
}
|
}
|
||||||
|
return $elm$core$Platform$Sub$none;
|
||||||
}()
|
}()
|
||||||
]));
|
]));
|
||||||
};
|
};
|
||||||
|
|
@ -5476,10 +5945,6 @@ var $author$project$Main$Paused = {$: 0};
|
||||||
var $author$project$Main$Playing = function (a) {
|
var $author$project$Main$Playing = function (a) {
|
||||||
return {$: 1, a: a};
|
return {$: 1, a: a};
|
||||||
};
|
};
|
||||||
var $elm$core$Basics$always = F2(
|
|
||||||
function (a, _v0) {
|
|
||||||
return a;
|
|
||||||
});
|
|
||||||
var $elm$core$Task$onError = _Scheduler_onError;
|
var $elm$core$Task$onError = _Scheduler_onError;
|
||||||
var $elm$core$Task$attempt = F2(
|
var $elm$core$Task$attempt = F2(
|
||||||
function (resultToMessage, task) {
|
function (resultToMessage, task) {
|
||||||
|
|
@ -5513,142 +5978,6 @@ var $author$project$Main$frameIndexAt = F2(
|
||||||
frameCount,
|
frameCount,
|
||||||
$elm$core$Basics$floor(time * $author$project$Main$framesPerMillisecond));
|
$elm$core$Basics$floor(time * $author$project$Main$framesPerMillisecond));
|
||||||
});
|
});
|
||||||
var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2};
|
|
||||||
var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;
|
|
||||||
var $elm$core$Dict$foldl = F3(
|
|
||||||
function (func, acc, dict) {
|
|
||||||
foldl:
|
|
||||||
while (true) {
|
|
||||||
if (dict.$ === -2) {
|
|
||||||
return acc;
|
|
||||||
} else {
|
|
||||||
var key = dict.b;
|
|
||||||
var value = dict.c;
|
|
||||||
var left = dict.d;
|
|
||||||
var right = dict.e;
|
|
||||||
var $temp$func = func,
|
|
||||||
$temp$acc = A3(
|
|
||||||
func,
|
|
||||||
key,
|
|
||||||
value,
|
|
||||||
A3($elm$core$Dict$foldl, func, acc, left)),
|
|
||||||
$temp$dict = right;
|
|
||||||
func = $temp$func;
|
|
||||||
acc = $temp$acc;
|
|
||||||
dict = $temp$dict;
|
|
||||||
continue foldl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var $elm$core$Dict$Black = 1;
|
|
||||||
var $elm$core$Dict$RBNode_elm_builtin = F5(
|
|
||||||
function (a, b, c, d, e) {
|
|
||||||
return {$: -1, a: a, b: b, c: c, d: d, e: e};
|
|
||||||
});
|
|
||||||
var $elm$core$Dict$Red = 0;
|
|
||||||
var $elm$core$Dict$balance = F5(
|
|
||||||
function (color, key, value, left, right) {
|
|
||||||
if ((right.$ === -1) && (!right.a)) {
|
|
||||||
var _v1 = right.a;
|
|
||||||
var rK = right.b;
|
|
||||||
var rV = right.c;
|
|
||||||
var rLeft = right.d;
|
|
||||||
var rRight = right.e;
|
|
||||||
if ((left.$ === -1) && (!left.a)) {
|
|
||||||
var _v3 = left.a;
|
|
||||||
var lK = left.b;
|
|
||||||
var lV = left.c;
|
|
||||||
var lLeft = left.d;
|
|
||||||
var lRight = left.e;
|
|
||||||
return A5(
|
|
||||||
$elm$core$Dict$RBNode_elm_builtin,
|
|
||||||
0,
|
|
||||||
key,
|
|
||||||
value,
|
|
||||||
A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight),
|
|
||||||
A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight));
|
|
||||||
} else {
|
|
||||||
return A5(
|
|
||||||
$elm$core$Dict$RBNode_elm_builtin,
|
|
||||||
color,
|
|
||||||
rK,
|
|
||||||
rV,
|
|
||||||
A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft),
|
|
||||||
rRight);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) {
|
|
||||||
var _v5 = left.a;
|
|
||||||
var lK = left.b;
|
|
||||||
var lV = left.c;
|
|
||||||
var _v6 = left.d;
|
|
||||||
var _v7 = _v6.a;
|
|
||||||
var llK = _v6.b;
|
|
||||||
var llV = _v6.c;
|
|
||||||
var llLeft = _v6.d;
|
|
||||||
var llRight = _v6.e;
|
|
||||||
var lRight = left.e;
|
|
||||||
return A5(
|
|
||||||
$elm$core$Dict$RBNode_elm_builtin,
|
|
||||||
0,
|
|
||||||
lK,
|
|
||||||
lV,
|
|
||||||
A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),
|
|
||||||
A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right));
|
|
||||||
} else {
|
|
||||||
return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var $elm$core$Basics$compare = _Utils_compare;
|
|
||||||
var $elm$core$Dict$insertHelp = F3(
|
|
||||||
function (key, value, dict) {
|
|
||||||
if (dict.$ === -2) {
|
|
||||||
return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);
|
|
||||||
} else {
|
|
||||||
var nColor = dict.a;
|
|
||||||
var nKey = dict.b;
|
|
||||||
var nValue = dict.c;
|
|
||||||
var nLeft = dict.d;
|
|
||||||
var nRight = dict.e;
|
|
||||||
var _v1 = A2($elm$core$Basics$compare, key, nKey);
|
|
||||||
switch (_v1) {
|
|
||||||
case 0:
|
|
||||||
return A5(
|
|
||||||
$elm$core$Dict$balance,
|
|
||||||
nColor,
|
|
||||||
nKey,
|
|
||||||
nValue,
|
|
||||||
A3($elm$core$Dict$insertHelp, key, value, nLeft),
|
|
||||||
nRight);
|
|
||||||
case 1:
|
|
||||||
return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);
|
|
||||||
default:
|
|
||||||
return A5(
|
|
||||||
$elm$core$Dict$balance,
|
|
||||||
nColor,
|
|
||||||
nKey,
|
|
||||||
nValue,
|
|
||||||
nLeft,
|
|
||||||
A3($elm$core$Dict$insertHelp, key, value, nRight));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var $elm$core$Dict$insert = F3(
|
|
||||||
function (key, value, dict) {
|
|
||||||
var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);
|
|
||||||
if ((_v0.$ === -1) && (!_v0.a)) {
|
|
||||||
var _v1 = _v0.a;
|
|
||||||
var k = _v0.b;
|
|
||||||
var v = _v0.c;
|
|
||||||
var l = _v0.d;
|
|
||||||
var r = _v0.e;
|
|
||||||
return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);
|
|
||||||
} else {
|
|
||||||
var x = _v0;
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var $elm$core$Dict$filter = F2(
|
var $elm$core$Dict$filter = F2(
|
||||||
function (isGood, dict) {
|
function (isGood, dict) {
|
||||||
return A3(
|
return A3(
|
||||||
|
|
@ -5660,37 +5989,6 @@ var $elm$core$Dict$filter = F2(
|
||||||
$elm$core$Dict$empty,
|
$elm$core$Dict$empty,
|
||||||
dict);
|
dict);
|
||||||
});
|
});
|
||||||
var $elm$core$Dict$get = F2(
|
|
||||||
function (targetKey, dict) {
|
|
||||||
get:
|
|
||||||
while (true) {
|
|
||||||
if (dict.$ === -2) {
|
|
||||||
return $elm$core$Maybe$Nothing;
|
|
||||||
} else {
|
|
||||||
var key = dict.b;
|
|
||||||
var value = dict.c;
|
|
||||||
var left = dict.d;
|
|
||||||
var right = dict.e;
|
|
||||||
var _v1 = A2($elm$core$Basics$compare, targetKey, key);
|
|
||||||
switch (_v1) {
|
|
||||||
case 0:
|
|
||||||
var $temp$targetKey = targetKey,
|
|
||||||
$temp$dict = left;
|
|
||||||
targetKey = $temp$targetKey;
|
|
||||||
dict = $temp$dict;
|
|
||||||
continue get;
|
|
||||||
case 1:
|
|
||||||
return $elm$core$Maybe$Just(value);
|
|
||||||
default:
|
|
||||||
var $temp$targetKey = targetKey,
|
|
||||||
$temp$dict = right;
|
|
||||||
targetKey = $temp$targetKey;
|
|
||||||
dict = $temp$dict;
|
|
||||||
continue get;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var $elm$core$List$head = function (list) {
|
var $elm$core$List$head = function (list) {
|
||||||
if (list.b) {
|
if (list.b) {
|
||||||
var x = list.a;
|
var x = list.a;
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
const snippets = [{"title": "Hello World","url": "https://reanimate.clozecards.com/LMvAjyzwwRi/30.svg","code": "-- This is the interactive Reanimate Playground\n\n-- Here you can write Haskell code and have it\n-- render directly to your browser.\n\n-- There are more examples available if you click\n-- on the 'collections' icon to the far right\n\nanimation :: Animation\nanimation = docEnv drawBox\n"},{"title": "Composition","url": "https://reanimate.clozecards.com/ECv3cbsbuMV/150.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ drawBox `parA` drawCircle\n & label \"parA\"\n play $ drawBox `seqA` drawCircle\n & label \"seqA\"\n play $ drawBox `andThen` drawCircle\n & label \"andThen\"\n\nlabel txt = addStatic $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"black\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n"},{"title": "Color Maps","url": "https://reanimate.clozecards.com/Ezuf27J2YrF/60.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ staticFrame 1 (showColorMap parula)\n & label \"Parula\"\n play $ staticFrame 1 (showColorMap viridis)\n & label \"Viridis\"\n play $ staticFrame 1 (showColorMap turbo)\n & label \"Turbo\"\n play $ staticFrame 1 (showColorMap greyscale)\n & label \"Greyscale\"\n\nlabel txt = overlay $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"white\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n\noverlay svg ani = ani `parA` staticFrame (duration ani) svg\n"}];
|
const snippets = [{"title": "Hello World","url": "https://reanimate.clozecards.com/LMvAjyzwwRi/30.svg","code": "-- This is the interactive Reanimate Playground\n\n-- Here you can write Haskell code and have it\n-- render directly to your browser.\n\n-- There are more examples available if you click\n-- on the 'collections' icon to the far right\n\nanimation :: Animation\nanimation = docEnv drawBox\n"},{"title": "Composition","url": "https://reanimate.clozecards.com/ECv3cbsbuMV/150.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ drawBox `parA` drawCircle\n & label \"parA\"\n play $ drawBox `seqA` drawCircle\n & label \"seqA\"\n play $ drawBox `andThen` drawCircle\n & label \"andThen\"\n\nlabel txt = addStatic $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"black\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n"},{"title": "Color Maps","url": "https://reanimate.clozecards.com/Ezuf27J2YrF/60.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ staticFrame 1 (showColorMap parula)\n & label \"Parula\"\n play $ staticFrame 1 (showColorMap viridis)\n & label \"Viridis\"\n play $ staticFrame 1 (showColorMap turbo)\n & label \"Turbo\"\n play $ staticFrame 1 (showColorMap greyscale)\n & label \"Greyscale\"\n\nlabel txt = overlay $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"white\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n\noverlay svg ani = ani `parA` staticFrame (duration ani) svg\n"}];
|
||||||
const playgroundVersion = "2020-08-22 (dc540)";
|
const playgroundVersion = "2020-08-22 (3bfa2)";
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ pre {
|
||||||
cursor: ew-resize;
|
cursor: ew-resize;
|
||||||
}
|
}
|
||||||
.grid {
|
.grid {
|
||||||
grid-template-columns: 1fr 10px 2fr;
|
grid-template-columns: 3fr 10px 4fr;
|
||||||
display: grid;
|
display: grid;
|
||||||
}
|
}
|
||||||
.grid textarea {
|
.grid textarea {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue