From 147ecaf4a6b7527bd179938f19cd8b54277a1c2e Mon Sep 17 00:00:00 2001 From: JorgeRS67 <117824150+JorgeRS67@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:26:10 +0100 Subject: [PATCH 1/3] =?UTF-8?q?Update=20Exercise=20=E2=80=9Cb4307d0b-512d-?= =?UTF-8?q?46d6-a500-7fb372bfe057=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../b4307d0b-512d-46d6-a500-7fb372bfe057.json | 85 ++++++++++++++++--- 1 file changed, 71 insertions(+), 14 deletions(-) diff --git a/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json b/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json index 43671ab117..786ffcc9a4 100644 --- a/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json +++ b/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json @@ -156,7 +156,7 @@ "type": "host", "hostNotes": [ { - "text": "Welcome. I am X and today we will work for around 30 minutes on xx\n\nWe’ll be doing xx ex. meditation followed by time for reflection and sharing with each other." + "text": "Welcome. I am X and today we will work for around 30 minutes on self-compassion using our bodies.\n\nWe’ll be doing an audio exercise followed by time for reflection and sharing with each other." }, { "text": "Let’s start with a mini check-in. How are you feeling right now? Please answer in two-three words. X, would you like to start?\n\n> Let everyone in the session, including yourself, check in one by one.\n\nThank you all for checking in. Let’s get started." @@ -169,18 +169,34 @@ { "text": "Find a comfortable position. I will start the audio exercise and we'll meet back here afterwards. \n\n> Push play to start the audio exercise" } - ] + ], + "content": { + "lottie": { + "subtitles": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1711623917/SRT%20%28captions%29%20files/Self-soothing_ulujmr.srt", + "audio": "https://res.cloudinary.com/cupcake-29k/video/upload/v1711623967/Audio/Self-soothing_wwepk3.mp3", + "durationTimer": true, + "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676642915/Lottie/default_audio_black_zjrmu2.json" + } + } }, { "type": "reflection", "hostNotes": [ { - "text": "Now we’ll take 1 minute to reflect on our own.\n\nxxMain question\n\nxxFurther explanations of main question if needed" + "text": "Now we’ll take 1 minute to reflect on our own.\n\nHow did you find soothing yourself with a physical gesture?" }, { "text": "You can take notes on a piece of paper or just mental notes in your head. And there is no right or wrong here, our answers are our own. 1 minute starting now.\n\n> Press play to start the timer.\n\nThat’s 1 minute and it’s time to move on." } - ] + ], + "content": { + "lottie": { + "durationTimer": true, + "duration": 60, + "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676642915/Lottie/default_1min_black_rosi2l.json" + }, + "heading": "How did you find soothing yourself with a physical gesture?" + } }, { "type": "sharing", @@ -195,13 +211,21 @@ "text": "Who would like to start?\n\n> Let everyone (or as many as you got time for) share one by one. Press play to start the timer. Re-start for each new sharing.\n\nThank you so much everyone." } ], - "id": "Sharing 1" + "id": "Sharing 1", + "content": { + "lottie": { + "durationTimer": true, + "duration": 120, + "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676639253/Lottie/default_2min_black_o6egey.json" + }, + "heading": "How did you find soothing yourself with a physical gesture?" + } }, { "type": "host", "hostNotes": [ { - "text": "Well done. If you’re up for it, you can continue what we started here today with a mission to bring this into your everyday life.\n\nxx mission description" + "text": "Well done. If you’re up for it, continue with this mission: Next time you find yourself in a pressing situation, try your self-soothing gesture for a couple of minutes. Notice where it takes you." }, { "text": "Before we leave this space let’s do a mini check-out. \n\nHow are you feeling right now? Has anything shifted? Please answer in two-three words." @@ -214,21 +238,51 @@ { "type": "instruction", "content": { - "text": "Well done.\n\nSummary.\n\nIf you’re up for it, you can continue with this mission.\n\nmission description" + "text": "If you’re up for it, continue with this mission: \n\nNext time you find yourself in a pressing situation, try your self-soothing gesture for a couple of minutes. Notice where it takes you.", + "image": { + "source": "https://res.cloudinary.com/cupcake-29k/image/upload/q_auto,t_global/v1718693339/Images/card_NO_BG_self_soothing_zmszfx.png" + }, + "heading": "Well done" } } ], "theme": { - "textColor": "#2AE2D7" + "textColor": "#2E2E2E", + "backgroundColor": "#badfe5" }, "hidden": false, "locked": false, + "name": "Auto Apaziguamento", "live": true, - "published": false, - "card": {}, + "published": true, + "card": { + "image": { + "source": "https://res.cloudinary.com/cupcake-29k/image/upload/t_card_image/v1718693341/Images/card_self_soothing_eekh1t.png" + } + }, + "coCreators": [ + { + "name": "Kusakari, artwork", + "url": "https://openprocessing.org/user/224308?view=sketches&o=1", + "image": "https://res.cloudinary.com/cupcake-29k/image/upload/t_cocreator_image/v1718693937/Contributors/kusakari_y3h4ta.jpg" + }, + { + "name": "Tabitha, AI-generated voice", + "url": "https://www.descript.com/ai-voices", + "image": "https://res.cloudinary.com/cupcake-29k/image/upload/t_cocreator_image/v1710239861/Contributors/descript_ps0olu.webp" + }, + { + "name": "Kristin Neff & Chris Germer, original research", + "url": "https://centerformsc.org/", + "image": "https://res.cloudinary.com/cupcake-29k/image/upload/t_cocreator_image/v1697723039/Images/Germer%2C%20Neff.png" + }, + { + "name": "Florbela Silva, voz em Português" + } + ], "duration": 30, "introPortal": { - "textColor": "#2AE2D7", + "textColor": "#2E2E2E", "hostNotes": [ { "text": "> Start the session when you're ready to go" @@ -236,8 +290,10 @@ ], "videoLoop": { "p5JsScript": { - "lang": "javascript" - } + "lang": "javascript", + "code": "//Created by kusakari\n//https://twitter.com/kusakarism\n\nfunction setup() {\n createCanvas(windowWidth, windowHeight, WEBGL);\n setObject();\n}\n\nlet _minW;\nlet _maxW;\nlet _palette0 = [\"FAD7B6\", \"E0AC69\", \"C68642\", \"8D5524\", \"4E342E\"];\nlet _count;\nlet _aryRing = [];\nlet _aryRotate = [];\nlet _aryAryRing = [];\n\nfunction setObject() {\n _count = 0;\n _minW = min(width, height) * 1;\n _maxW = max(width, height);\n rectMode(CENTER);\n ellipseMode(RADIUS);\n noFill();\n stroke(0, 60, 90);\n strokeWeight(_minW / 800 * pixelDensity());//600 * pixelDensity());\n\n let numRing = 800;\n let posXy = createVector(0, 0);\n let posZNoiseInit_0 = [random(10000), random(10000), random(10000)];\n let rNoiseInit_0 = [random(10000), random(10000), random(10000)];\n let posRNoiseInit_0 = [random(10000), random(10000), random(10000)];\n let posZNoiseThetaInit = random(2*PI);\n let rNoiseThetaInit = random(2*PI);\n let posRNoiseThetaInit = random(2*PI);\n let posZNoiseStep = 0.01/3;\n let rNoiseStep = 0.01/2;//0.2;\n let posRNoiseStep = 0.01/4;//0.2;\n let posZNoiseSpeed = 0.004/2 * random([-1, 1]);\n let rNoiseSpeed = 0.004/2 * random([-1, 1]);\n let posRNoiseSpeed = 0.004/3 * random([-1, 1]);\n let hi = _minW / 1;//1.5;\n shuffle(_palette0, true);\n _aryRing = [];\n for (let i = 0; i < numRing; i++) {\n let posZInit = hi / numRing * i;\n let posZNoiseInit = [posZNoiseInit_0[0], posZNoiseInit_0[1], posZNoiseInit_0[2] + posZNoiseStep * i];\n let rNoiseInit = [rNoiseInit_0[0], rNoiseInit_0[1], rNoiseInit_0[2] + rNoiseStep * i];\n let posRNoiseInit = [posRNoiseInit_0[0], posRNoiseInit_0[1], posRNoiseInit_0[2] + posRNoiseStep * i];\n\n _aryRing[i] = new Ring(posXy, hi, posZInit, posZNoiseInit, posZNoiseThetaInit, posZNoiseSpeed, rNoiseInit, rNoiseThetaInit, rNoiseSpeed, posRNoiseInit, posRNoiseThetaInit, posRNoiseSpeed, _palette0);\n }\n\n _aryRotate = [[random(2*PI), random(0.01)], [random(2*PI), random(0.01)], [random(2*PI), random(0.01)]];\n}\n\nclass Ring {\n constructor(posXy, hi, posZInit, posZNoiseInit, posZNoiseThetaInit, posZNoiseSpeed, rNoiseInit, rNoiseThetaInit, rNoiseSpeed, posRNoiseInit, posRNoiseThetaInit, posRNoiseSpeed, palette) {\n this.posXy = posXy;\n this.hi = hi;\n\n this.posZInit = posZInit;\n this.posZNoiseInit = posZNoiseInit;\n this.posZNoiseThetaInit = posZNoiseThetaInit;\n this.rNoiseInit = rNoiseInit;\n this.rNoiseThetaInit = rNoiseThetaInit;\n this.posRNoiseInit = posRNoiseInit;\n this.posRNoiseThetaInit = posRNoiseThetaInit;\n \n this.posZNoiseSpeed = posZNoiseSpeed;\n this.posZMax = hi / 4;//5;\n this.posZMin = -this.posZMax;\n this.posZGap = this.posZMax - this.posZMin;\n this.posZNoiseFreq = 4;\n \n this.rNoiseSpeed = rNoiseSpeed;\n this.rMax = _minW / 3;\n this.rMin = this.rMax / 100;//10;\n this.rGap = this.rMax - this.rMin;\n this.rNoiseFreq = 4;\n\n this.posRNoiseSpeed = posRNoiseSpeed;\n\n this.colNoiseFreq = 4;//3;\n\n this.rotZ = random(2*PI);\n\n this.palette = palette;\n this.aryCol = [];\n for (let i = 0; i < this.palette.length; i++) {\n this.aryCol[i] = color(\"#\" + this.palette[i]);\n }\n\n this.numCol = 5;\n\n this.count = 0;\n }\n\n draw() {\n let posZNoiseVal = sin(this.posZNoiseThetaInit + 2*PI * this.posZNoiseFreq * \n noise(this.posZNoiseInit[0] + this.posZNoiseSpeed * this.count, this.posZNoiseInit[1] + this.posZNoiseSpeed * this.count, this.posZNoiseInit[2])) * 0.5 + 0.5;\n let posZ = this.posZInit + this.posZMin + this.posZGap * posZNoiseVal;\n\n let rNoiseVal = sin(this.rNoiseThetaInit + 2*PI * this.rNoiseFreq * \n noise(this.rNoiseInit[0] + this.rNoiseSpeed * this.count, this.rNoiseInit[1] + this.rNoiseSpeed * this.count, this.rNoiseInit[2])) * 0.5 + 0.5;\n let r = this.rMin + this.rGap * rNoiseVal;\n\n let colNoiseVal = sin(this.posRNoiseThetaInit + 2*PI * this.colNoiseFreq * \n noise(this.posRNoiseInit[0] + this.posRNoiseSpeed * this.count + 1000, this.posRNoiseInit[1] + this.posRNoiseSpeed * this.count + 1000, this.posRNoiseInit[2] + 1000)) * 0.5 + 0.5;\n let col_i1 = int(colNoiseVal * this.numCol);\n let col_i2 = (col_i1 + 1) % this.numCol;\n let colAmp = (colNoiseVal - col_i1 / this.numCol) * this.numCol;\n let col = lerpColor(this.aryCol[col_i1], this.aryCol[col_i2], colAmp);\n\n push();\n stroke(col);\n translate(this.posXy.x, this.posXy.y, posZ - this.hi / 2);\n rotateZ(this.rotZ);\n ellipse(0, 0, r, r, 50);//36);\n pop();\n\n this.count += 0.1; // Incrementing by a smaller value to slow down the animation\n }\n}\n\nfunction draw() {\n let zoomFactor = 0.9; // Adjust this factor to control the zoom level (greater than 1 to zoom out)\n ortho(-width / 2 * zoomFactor, width / 2 * zoomFactor, -height / 2 * zoomFactor, height / 2 * zoomFactor, -_maxW * 2, _maxW * 4);\n background('#B0E0E6');\n orbitControl();\n rotateX(PI / 3);\n\n for (let i = 0; i < _aryRing.length; i++) {\n _aryRing[i].draw();\n }\n}" + }, + "audio": "https://res.cloudinary.com/cupcake-29k/video/upload/v1676972801/Audio/portal_audio_the_willingnes_stance_pxrzfe.mp3" } }, "tags": [ @@ -245,7 +301,8 @@ "8da0534a-5da9-430a-bdf3-242ace6460fb" ], "id": "b4307d0b-512d-46d6-a500-7fb372bfe057", - "async": false + "async": true, + "description": "Corpo e mente estão intimamente ligados. Pratica usar um gesto físico para acalmar o teu próprio sistema." }, "sv": { "slides": [ From 397febc24734f86d7473528f2550f8d2b9bdbf00 Mon Sep 17 00:00:00 2001 From: JorgeRS67 <117824150+JorgeRS67@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:40:14 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Update=20Exercise=20=E2=80=9Cb4307d0b-512d-?= =?UTF-8?q?46d6-a500-7fb372bfe057=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../b4307d0b-512d-46d6-a500-7fb372bfe057.json | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json b/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json index 786ffcc9a4..a191afa981 100644 --- a/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json +++ b/content/src/exercises/b4307d0b-512d-46d6-a500-7fb372bfe057.json @@ -156,10 +156,10 @@ "type": "host", "hostNotes": [ { - "text": "Welcome. I am X and today we will work for around 30 minutes on self-compassion using our bodies.\n\nWe’ll be doing an audio exercise followed by time for reflection and sharing with each other." + "text": "Bem-vindos. Eu sou X e hoje vamos trabalhar cerca de 30 minutos em autocompaixão utilizando os nossos corpos.\n\nVamos fazer um exercício de áudio, seguido de um tempo para reflexão e partilha entre nós." }, { - "text": "Let’s start with a mini check-in. How are you feeling right now? Please answer in two-three words. X, would you like to start?\n\n> Let everyone in the session, including yourself, check in one by one.\n\nThank you all for checking in. Let’s get started." + "text": "Vamos começar com um pequeno check-in. Como te estás a sentir? Por favor, responde em duas ou três palavras. X, queres começar?\n\n> Deixa que todos na sessão, incluindo-te a ti, façam o check-in individualmente.\n\nObrigada/o a todos por fazerem o check-in. Vamos começar." } ] }, @@ -167,13 +167,13 @@ "type": "content", "hostNotes": [ { - "text": "Find a comfortable position. I will start the audio exercise and we'll meet back here afterwards. \n\n> Push play to start the audio exercise" + "text": "Encontra uma posição confortável. Vou iniciar o exercício de áudio e voltamos aqui depois.\n\n> Carrega em play para iniciar o exercício." } ], "content": { "lottie": { - "subtitles": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1711623917/SRT%20%28captions%29%20files/Self-soothing_ulujmr.srt", - "audio": "https://res.cloudinary.com/cupcake-29k/video/upload/v1711623967/Audio/Self-soothing_wwepk3.mp3", + "subtitles": "", + "audio": "https://res.cloudinary.com/cupcake-29k/video/upload/v1727166571/FJN/Meditations/Florbela/Auto_Apaziguamento_wem5n7.mp3", "durationTimer": true, "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676642915/Lottie/default_audio_black_zjrmu2.json" } @@ -183,10 +183,10 @@ "type": "reflection", "hostNotes": [ { - "text": "Now we’ll take 1 minute to reflect on our own.\n\nHow did you find soothing yourself with a physical gesture?" + "text": "Agora vamos tirar 1 minuto para refletir individualmente.\n\nComo te sentiste ao acalmar-te com um gesto físico?" }, { - "text": "You can take notes on a piece of paper or just mental notes in your head. And there is no right or wrong here, our answers are our own. 1 minute starting now.\n\n> Press play to start the timer.\n\nThat’s 1 minute and it’s time to move on." + "text": "Podes tomar notas num pedaço de papel ou mentalmente. Não há certo ou errado, as nossas respostas são só nossas. 1 minuto a partir de agora.\n\n> Carrega em play para iniciar o cronómetro.\n\nPassou 1 minuto e é hora de avançar." } ], "content": { @@ -195,20 +195,20 @@ "duration": 60, "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676642915/Lottie/default_1min_black_rosi2l.json" }, - "heading": "How did you find soothing yourself with a physical gesture?" + "heading": "Como te sentiste ao acalmar-te com um gesto físico?" } }, { "type": "sharing", "hostNotes": [ { - "text": "Now we are getting into the sharing part. We have three rules for sharing:\n\n1. **What is said in here, stays in here.**\n2. **All you need to do is listen.** There is no fixing, helping or advice-giving needed. We are just showing up and exploring what ourselves and others are going through." + "text": "Agora passamos para a parte da partilha. Temos três regras para partilhar:\n\n1. **O que é dito aqui, fica aqui.**\n2. **Só precisas de ouvir.** Não é necessário corrigir, ajudar ou dar conselhos. Estamos apenas a explorar o que nós e os outros estão a passar." }, { - "text": "3. **Everything on the inside is okay.** Anger, love, hatred, sadness. Whatever shows up. No wrongs, no rights. It is what it is.\n\nThere will be a timer set for 2 minutes as an indicator. If you don’t want to share you can always say ‘pass’." + "text": "3. **Tudo o que sentires é válido.** Raiva, amor, ódio, tristeza. O que quer que surja. Não há certo ou errado. É o que é.\n\nHaverá um cronómetro de 2 minutos como indicador. Se não quiseres partilhar, pode sempre dizer 'passo'." }, { - "text": "Who would like to start?\n\n> Let everyone (or as many as you got time for) share one by one. Press play to start the timer. Re-start for each new sharing.\n\nThank you so much everyone." + "text": "Quem gostaria de começar?\n\n> Deixa que todos (ou os que houver tempo) partilhem individualmente. Carrega em play para iniciar o cronómetro. Reinicia para cada nova partilha.\n\nMuito obrigada/o a todos." } ], "id": "Sharing 1", @@ -218,31 +218,31 @@ "duration": 120, "source": "https://res.cloudinary.com/cupcake-29k/raw/upload/v1676639253/Lottie/default_2min_black_o6egey.json" }, - "heading": "How did you find soothing yourself with a physical gesture?" + "heading": "Como te sentiste ao acalmar-te com um gesto físico?" } }, { "type": "host", "hostNotes": [ { - "text": "Well done. If you’re up for it, continue with this mission: Next time you find yourself in a pressing situation, try your self-soothing gesture for a couple of minutes. Notice where it takes you." + "text": "Muito bem. Se estiveres com disposição, continua esta missão: da próxima vez que te encontrares numa situação stressante, experimenta o teu gesto de autocuidado durante alguns minutos. Repara onde isso te leva." }, { - "text": "Before we leave this space let’s do a mini check-out. \n\nHow are you feeling right now? Has anything shifted? Please answer in two-three words." + "text": "Antes de deixarmos este espaço, vamos fazer um pequeno check-out.\n\nComo te sentes agora? Alguma coisa mudou? Responde por favor em duas ou três palavras." }, { - "text": "Who would like to start?\n\n> Let everyone in the session check out one by one.\n\nThank you all for checking out and for joining this session today.\n\n> Finish session to send everyone off to the exit experience." + "text": "Quem gostaria de começar?\n\n> Deixa que todos na sessão façam o check-out individualmente.\n\nObrigada/o a todos por fazerem o check-out final e por participarem nesta sessão de hoje.\n\n> Termina a sessão e envia todos para a experiência de saída." } ] }, { "type": "instruction", "content": { - "text": "If you’re up for it, continue with this mission: \n\nNext time you find yourself in a pressing situation, try your self-soothing gesture for a couple of minutes. Notice where it takes you.", + "text": "Se estiveres com disposição, continua esta missão:\n\nDa próxima vez que te encontrares numa situação stressante, experimenta o teu gesto de autocuidado durante alguns minutos. Repara aonde isso te leva.", "image": { "source": "https://res.cloudinary.com/cupcake-29k/image/upload/q_auto,t_global/v1718693339/Images/card_NO_BG_self_soothing_zmszfx.png" }, - "heading": "Well done" + "heading": "Parabéns" } } ], @@ -285,7 +285,7 @@ "textColor": "#2E2E2E", "hostNotes": [ { - "text": "> Start the session when you're ready to go" + "text": "> Inicia a sessão quando estiveres pronta/o para começar." } ], "videoLoop": { From ce020d6cfb9937998c476214901345ab2f6bb947 Mon Sep 17 00:00:00 2001 From: JorgeRS67 <117824150+JorgeRS67@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:42:34 +0100 Subject: [PATCH 3/3] =?UTF-8?q?Update=20Exercise=20=E2=80=9Cb4307d0b-512d-?= =?UTF-8?q?46d6-a500-7fb372bfe057=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit