Deploying to gh-pages from @ 3bfa25b9be 🚀

This commit is contained in:
Lemmih 2020-08-22 09:58:18 +00:00
commit e28cb292b5
3 changed files with 489 additions and 191 deletions

View file

@ -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$GT = 2;
var $elm$core$Basics$LT = 0;
@ -5229,6 +5275,7 @@ var $author$project$Main$connectCommand = A2(
var $author$project$Main$init = function (_v0) {
return _Utils_Tuple2($author$project$Main$Disconnected, $author$project$Main$connectCommand);
};
var $author$project$Main$AttemptReconnect = {$: 2};
var $author$project$Main$Change = function (a) {
return {$: 7, a: a};
};
@ -5238,7 +5285,424 @@ var $author$project$Main$MessageReceived = function (a) {
var $author$project$Main$TimeDeltaReceived = function (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$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$browser$Browser$AnimationManager$Delta = function (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(
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$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(
function (router, subs, _v0) {
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(
function (router, newTime, _v0) {
var subs = _v0.ak;
@ -5348,11 +5807,6 @@ var $elm$browser$Browser$AnimationManager$onSelfMsg = F3(
var $elm$browser$Browser$AnimationManager$Time = function (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(
function (func, 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$receiveControlMsg($author$project$Main$parseControlMsg),
function () {
if (model.$ === 3) {
var player = model.a.m;
if (player.$ === 1) {
return $elm$browser$Browser$Events$onAnimationFrameDelta($author$project$Main$TimeDeltaReceived);
} else {
return $elm$core$Platform$Sub$none;
_v0$2:
while (true) {
switch (model.$) {
case 3:
var player = model.a.m;
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) {
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$attempt = F2(
function (resultToMessage, task) {
@ -5513,142 +5978,6 @@ var $author$project$Main$frameIndexAt = F2(
frameCount,
$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(
function (isGood, dict) {
return A3(
@ -5660,37 +5989,6 @@ var $elm$core$Dict$filter = F2(
$elm$core$Dict$empty,
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) {
if (list.b) {
var x = list.a;

View file

@ -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 playgroundVersion = "2020-08-22 (dc540)";
const playgroundVersion = "2020-08-22 (3bfa2)";

View file

@ -77,7 +77,7 @@ pre {
cursor: ew-resize;
}
.grid {
grid-template-columns: 1fr 10px 2fr;
grid-template-columns: 3fr 10px 4fr;
display: grid;
}
.grid textarea {