Skip to content

Commit 2e275ad

Browse files
author
release bot
committed
📦 2.0.0-rc.3
1 parent 66fef03 commit 2e275ad

File tree

3 files changed

+46
-30
lines changed

3 files changed

+46
-30
lines changed

‎action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: "platane"
44

55
runs:
66
using: docker
7-
image: docker://platane/snk@sha256:339ea30dd50fc9566cd9b7244729b5ea12f14afea44585770212b96d3389748b
7+
image: docker://platane/snk@sha256:e40bb02de6ed0f164eca8586b3f6c32109b2bcb426cd57c6882764825b40fe0d
88

99
inputs:
1010
github_user_name:

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "snk",
33
"description": "Generates a snake game from a github user contributions grid",
4-
"version": "2.0.0-rc.2",
4+
"version": "2.0.0-rc.3",
55
"private": true,
66
"repository": "github:platane/snk",
77
"devDependencies": {

‎svg-only/dist/index.js‎

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -32796,13 +32796,13 @@ var generateContributionSnake = function (userName, outputs) { return __awaiter(
3279632796
chain = (0, getBestRoute_1.getBestRoute)(grid, snake);
3279732797
chain.push.apply(chain, (0, getPathToPose_1.getPathToPose)(chain.slice(-1)[0], snake));
3279832798
return [2 /*return*/, Promise.all(outputs.map(function (out, i) { return __awaiter(void 0, void 0, void 0, function () {
32799-
var format, drawOptions, gifOptions, _a, createSvg, createGif;
32799+
var format, drawOptions, animationOptions, _a, createSvg, createGif;
3280032800
return __generator(this, function (_b) {
3280132801
switch (_b.label) {
3280232802
case 0:
3280332803
if (!out)
3280432804
return [2 /*return*/];
32805-
format = out.format, drawOptions = out.drawOptions, gifOptions = out.gifOptions;
32805+
format = out.format, drawOptions = out.drawOptions, animationOptions = out.animationOptions;
3280632806
_a = format;
3280732807
switch (_a) {
3280832808
case "svg": return [3 /*break*/, 1];
@@ -32814,13 +32814,13 @@ var generateContributionSnake = function (userName, outputs) { return __awaiter(
3281432814
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(__webpack_require__(7415)); })];
3281532815
case 2:
3281632816
createSvg = (_b.sent()).createSvg;
32817-
return [2 /*return*/, createSvg(grid, chain, drawOptions, gifOptions)];
32817+
return [2 /*return*/, createSvg(grid, cells, chain, drawOptions, animationOptions)];
3281832818
case 3:
3281932819
console.log("\uD83D\uDCF9 creating gif (outputs[".concat(i, "])"));
3282032820
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(__webpack_require__(340)); })];
3282132821
case 4:
3282232822
createGif = (_b.sent()).createGif;
32823-
return [4 /*yield*/, createGif(grid, chain, drawOptions, gifOptions)];
32823+
return [4 /*yield*/, createGif(grid, cells, chain, drawOptions, animationOptions)];
3282432824
case 5: return [2 /*return*/, _b.sent()];
3282532825
case 6: return [2 /*return*/];
3282632826
}
@@ -32962,13 +32962,25 @@ var palettes_1 = __webpack_require__(3848);
3296232962
var parseOutputsOption = function (lines) { return lines.map(exports.parseEntry); };
3296332963
exports.parseOutputsOption = parseOutputsOption;
3296432964
var parseEntry = function (entry) {
32965-
var m = entry.trim().match(/^(.+\.(svg|gif))(\?.*)?$/);
32965+
var m = entry.trim().match(/^(.+\.(svg|gif))(\?(.*))?$/);
3296632966
if (!m)
3296732967
return null;
32968-
var _ = m[0], filename = m[1], format = m[2], query = m[3];
32968+
var filename = m[1], format = m[2], query = m[4];
3296932969
var sp = new URLSearchParams(query || "");
32970+
try {
32971+
var o = JSON.parse(query);
32972+
if (Array.isArray(o.color_dots))
32973+
o.color_dots = o.color_dots.join(",");
32974+
if (Array.isArray(o.dark_color_dots))
32975+
o.dark_color_dots = o.dark_color_dots.join(",");
32976+
sp = new URLSearchParams(o);
32977+
}
32978+
catch (err) {
32979+
if (!(err instanceof SyntaxError))
32980+
throw err;
32981+
}
3297032982
var drawOptions = __assign({ sizeDotBorderRadius: 2, sizeCell: 16, sizeDot: 12 }, palettes_1.palettes["default"]);
32971-
var gifOptions = { step: 1, frameDuration: 100 };
32983+
var animationOptions = { step: 1, frameDuration: 100 };
3297232984
{
3297332985
var palette = palettes_1.palettes[sp.get("palette")];
3297432986
if (palette) {
@@ -32994,7 +33006,12 @@ var parseEntry = function (entry) {
3299433006
drawOptions.dark.colorDotBorder = sp.get("color_dot_border");
3299533007
if (sp.has("dark_color_snake") && drawOptions.dark)
3299633008
drawOptions.dark.colorSnake = sp.get("color_snake");
32997-
return { filename: filename, format: format, drawOptions: drawOptions, gifOptions: gifOptions };
33009+
return {
33010+
filename: filename,
33011+
format: format,
33012+
drawOptions: drawOptions,
33013+
animationOptions: animationOptions
33014+
};
3299833015
};
3299933016
exports.parseEntry = parseEntry;
3300033017

@@ -33085,10 +33102,10 @@ exports.__esModule = true;
3308533102
exports.drawGrid = void 0;
3308633103
var grid_1 = __webpack_require__(2881);
3308733104
var pathRoundedRect_1 = __webpack_require__(2356);
33088-
var drawGrid = function (ctx, grid, o) {
33105+
var drawGrid = function (ctx, grid, cells, o) {
3308933106
var _loop_1 = function (x) {
3309033107
var _loop_2 = function (y) {
33091-
if (!o.cells || o.cells.some(function (c) { return c.x === x && c.y === y; })) {
33108+
if (!cells || cells.some(function (c) { return c.x === x && c.y === y; })) {
3309233109
var c = (0, grid_1.getColor)(grid, x, y);
3309333110
// @ts-ignore
3309433111
var color = !c ? o.colorEmpty : o.colorDots[c];
@@ -33186,10 +33203,10 @@ var drawStack = function (ctx, stack, max, width, o) {
3318633203
ctx.restore();
3318733204
};
3318833205
exports.drawStack = drawStack;
33189-
var drawWorld = function (ctx, grid, snake, stack, o) {
33206+
var drawWorld = function (ctx, grid, cells, snake, stack, o) {
3319033207
ctx.save();
3319133208
ctx.translate(1 * o.sizeCell, 2 * o.sizeCell);
33192-
(0, drawGrid_1.drawGrid)(ctx, grid, o);
33209+
(0, drawGrid_1.drawGrid)(ctx, grid, cells, o);
3319333210
(0, drawSnake_1.drawSnake)(ctx, snake, o);
3319433211
ctx.restore();
3319533212
ctx.save();
@@ -33204,10 +33221,10 @@ var drawWorld = function (ctx, grid, snake, stack, o) {
3320433221
// ctx.restore();
3320533222
};
3320633223
exports.drawWorld = drawWorld;
33207-
var drawLerpWorld = function (ctx, grid, snake0, snake1, stack, k, o) {
33224+
var drawLerpWorld = function (ctx, grid, cells, snake0, snake1, stack, k, o) {
3320833225
ctx.save();
3320933226
ctx.translate(1 * o.sizeCell, 2 * o.sizeCell);
33210-
(0, drawGrid_1.drawGrid)(ctx, grid, o);
33227+
(0, drawGrid_1.drawGrid)(ctx, grid, cells, o);
3321133228
(0, drawSnake_1.drawSnakeLerp)(ctx, snake0, snake1, k, o);
3321233229
ctx.translate(0, (grid.height + 2) * o.sizeCell);
3321333230
var max = grid.data.reduce(function (sum, x) { return sum + +!!x; }, stack.length);
@@ -33321,7 +33338,7 @@ var withTmpDir = function (handler) { return __awaiter(void 0, void 0, void 0, f
3332133338
}
3332233339
});
3332333340
}); };
33324-
var createGif = function (grid0, chain, drawOptions, gifOptions) { return __awaiter(void 0, void 0, void 0, function () {
33341+
var createGif = function (grid0, cells, chain, drawOptions, animationOptions) { return __awaiter(void 0, void 0, void 0, function () {
3332533342
return __generator(this, function (_a) {
3332633343
return [2 /*return*/, withTmpDir(function (dir) { return __awaiter(void 0, void 0, void 0, function () {
3332733344
var _a, width, height, canvas, ctx, grid, stack, encoder, i, snake0, snake1, k, outFileName, optimizedFileName;
@@ -33333,17 +33350,17 @@ var createGif = function (grid0, chain, drawOptions, gifOptions) { return __awai
3333333350
stack = [];
3333433351
encoder = new gif_encoder_2_1["default"](width, height, "neuquant", true);
3333533352
encoder.setRepeat(0);
33336-
encoder.setDelay(gifOptions.frameDuration);
33353+
encoder.setDelay(animationOptions.frameDuration);
3333733354
encoder.start();
3333833355
for (i = 0; i < chain.length; i += 1) {
3333933356
snake0 = chain[i];
3334033357
snake1 = chain[Math.min(chain.length - 1, i + 1)];
3334133358
(0, step_1.step)(grid, stack, snake0);
33342-
for (k = 0; k < gifOptions.step; k++) {
33359+
for (k = 0; k < animationOptions.step; k++) {
3334333360
ctx.clearRect(0, 0, width, height);
3334433361
ctx.fillStyle = "#fff";
3334533362
ctx.fillRect(0, 0, width, height);
33346-
(0, drawWorld_1.drawLerpWorld)(ctx, grid, snake0, snake1, stack, k / gifOptions.step, drawOptions);
33363+
(0, drawWorld_1.drawLerpWorld)(ctx, grid, cells, snake0, snake1, stack, k / animationOptions.step, drawOptions);
3334733364
encoder.addFrame(ctx);
3334833365
}
3334933366
}
@@ -34468,9 +34485,8 @@ var getCellsFromGrid = function (_a) {
3446834485
return Array.from({ length: height }, function (_, y) { return ({ x: x, y: y }); });
3446934486
}).flat();
3447034487
};
34471-
var createLivingCells = function (grid0, chain, drawOptions) {
34472-
var _a;
34473-
var cells = ((_a = drawOptions.cells) !== null && _a !== void 0 ? _a : getCellsFromGrid(grid0)).map(function (_a) {
34488+
var createLivingCells = function (grid0, chain, cells) {
34489+
var livingCells = (cells !== null && cells !== void 0 ? cells : getCellsFromGrid(grid0)).map(function (_a) {
3447434490
var x = _a.x, y = _a.y;
3447534491
return ({
3447634492
x: x,
@@ -34486,23 +34502,23 @@ var createLivingCells = function (grid0, chain, drawOptions) {
3448634502
var y = (0, snake_1.getHeadY)(snake);
3448734503
if ((0, grid_1.isInside)(grid, x, y) && !(0, grid_1.isEmpty)((0, grid_1.getColor)(grid, x, y))) {
3448834504
(0, grid_1.setColorEmpty)(grid, x, y);
34489-
var cell = cells.find(function (c) { return c.x === x && c.y === y; });
34505+
var cell = livingCells.find(function (c) { return c.x === x && c.y === y; });
3449034506
cell.t = i / chain.length;
3449134507
}
3449234508
};
3449334509
for (var i = 0; i < chain.length; i++) {
3449434510
_loop_1(i);
3449534511
}
34496-
return cells;
34512+
return livingCells;
3449734513
};
34498-
var createSvg = function (grid, chain, drawOptions, gifOptions) {
34514+
var createSvg = function (grid, cells, chain, drawOptions, animationOptions) {
3449934515
var width = (grid.width + 2) * drawOptions.sizeCell;
3450034516
var height = (grid.height + 5) * drawOptions.sizeCell;
34501-
var duration = gifOptions.frameDuration * chain.length;
34502-
var cells = createLivingCells(grid, chain, drawOptions);
34517+
var duration = animationOptions.frameDuration * chain.length;
34518+
var livingCells = createLivingCells(grid, chain, cells);
3450334519
var elements = [
34504-
(0, grid_2.createGrid)(cells, drawOptions, duration),
34505-
(0, stack_1.createStack)(cells, drawOptions, grid.width * drawOptions.sizeCell, (grid.height + 2) * drawOptions.sizeCell, duration),
34520+
(0, grid_2.createGrid)(livingCells, drawOptions, duration),
34521+
(0, stack_1.createStack)(livingCells, drawOptions, grid.width * drawOptions.sizeCell, (grid.height + 2) * drawOptions.sizeCell, duration),
3450634522
(0, snake_2.createSnake)(chain, drawOptions, duration),
3450734523
];
3450834524
var viewBox = [

0 commit comments

Comments
 (0)