From 8b3553451775b05028633dfd46a9f1fb1136cfa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Thu, 8 Jun 2023 13:47:49 +0200 Subject: [PATCH] Rendering: Replace card stack rendering with external API call --- util/rendering.js | 66 +++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/util/rendering.js b/util/rendering.js index 229df75..ca1a05a 100644 --- a/util/rendering.js +++ b/util/rendering.js @@ -19,33 +19,49 @@ module.exports = { name: "Rendering", renderCardStack: async function(cards) { - for (let card of cards) { + await Promise.all(cards.map(async card => { console.log(`Iterating card ${card.id}`); card['render'] = await this.renderCard(card); + })); + + let job = { + "type": "stack", + "size": { + "width": 900, + "height": 500 + }, + "elements": [ + { + "type": "image", + "asset": `${cards[0].render}`, + "x": 0, + "y": 0, + "width": 300, + "height": 500 + }, + { + "type": "image", + "asset": `${cards[1].render}`, + "x": 300, + "y": 0, + "width": 300, + "height": 500 + }, + { + "type": "image", + "asset": `${cards[2].render}`, + "x": 600, + "y": 0, + "width": 300, + "height": 500 + } + ] } - let image = await sharp({ - create: { - width: 900, - height: 500, - channels: 4, - background: { r: 0, g: 0, b: 0, alpha: 0.0 }, - animated: true - } - }).composite([ - { input: cards[0].render, gravity: 'northwest' }, - { input: cards[1].render, gravity: 'centre' }, - { input: cards[2].render, gravity: 'northeast' }, - ]); - - let hash = crypto.createHash('md5').update("CHANGEME").digest('hex'); - try { - await image.gif({effort: 1}).toFile(`./assets/image_cache/${hash}.gif`); - } catch (error) { - console.log(error); - } - - return `./assets/image_cache/${hash}.gif`; + console.log("Fetching ", ); + let { data } = await axios.post(`${process.env.JOSE_ENDPOINT}/jobs`, job); + console.log("Fetched ", data); + return data["path"]; }, renderCard: async function(card) { @@ -80,7 +96,7 @@ module.exports = { "type": "image", "asset": `${characterImage}`, "x": 0, - "y": 300, + "y": 0, "width": 600, "height": 1000 }, @@ -98,7 +114,7 @@ module.exports = { "type": "image", "asset": "https://cdn.discordapp.com/attachments/1083687175998152714/1113486254953222205/rainbow_overlay.png", "x": 0, - "y": 300, + "y": 0, "width": 600, "height": 1000 }