Myth-Bust Carousel "Can Heart Patients Do Yoga? The Truth." Create a myth-busting carousel. Myths: "Yoga is too strenuous for heart patients" / "Inversions are fine for everyone" / "Hot yoga is okay if you're fit" / "Breath retention improves heart health" / "Any yoga pose is safe." For each, give the clinical truth. Close with the 3 golden rules of cardiac yoga: no Valsalva, no inversions in uncontrolled hypertension, no breath retention. End: "Safe yoga is still transformative yoga
yoga cardiac rehabilitation heart disease
ls -la /home/daytona/workspace/ 2>/dev/null | head -20
mkdir -p /home/daytona/workspace/cardiac-yoga-carousel
~/cardiac-yoga-carousel/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9"; // 10" x 5.625"
pres.title = "Can Heart Patients Do Yoga? The Truth.";
// ─── PALETTE ───────────────────────────────────────────────────
// Deep navy dominates; crimson red as myth accent; gold as truth accent;
// soft off-white for body text; teal for golden-rule slides
const C = {
navy: "0D1F3C",
navyMid: "162B52",
crimson: "C0392B",
crimsonLt: "E74C3C",
gold: "E8A800",
goldLt: "F5C518",
teal: "0E7C7B",
tealLt: "16A8A7",
white: "FFFFFF",
offWhite: "F0EDE8",
lightGray: "D8D8D8",
midGray: "8A8A8A",
darkText: "1A1A1A",
};
// ─── HELPERS ───────────────────────────────────────────────────
function addBackground(slide, color) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color },
line: { color, width: 0 },
});
}
function addTopBar(slide, color, h = 0.08) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h,
fill: { color },
line: { color, width: 0 },
});
}
function addBottomBar(slide, color, h = 0.06) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 5.565, w: 10, h,
fill: { color },
line: { color, width: 0 },
});
}
function addSlideNumber(slide, num, total, textColor = C.midGray) {
slide.addText(`${num} / ${total}`, {
x: 8.8, y: 5.25, w: 1, h: 0.3,
fontSize: 9, color: textColor,
align: "right", fontFace: "Calibri",
});
}
function addBrandTag(slide, color = C.midGray) {
slide.addText("CARDIAC YOGA · MYTH BUSTER", {
x: 0.3, y: 5.25, w: 4, h: 0.3,
fontSize: 8.5, color, charSpacing: 2,
fontFace: "Calibri", bold: true,
});
}
// ─── SLIDE 1: COVER ────────────────────────────────────────────
(function buildCover() {
const s = pres.addSlide();
addBackground(s, C.navy);
// Decorative left accent bar
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.45, h: 5.625,
fill: { color: C.crimson },
line: { color: C.crimson, width: 0 },
});
// Large decorative circle — soft top right
s.addShape(pres.shapes.OVAL, {
x: 7.2, y: -1.2, w: 3.5, h: 3.5,
fill: { color: C.navyMid },
line: { color: C.navyMid, width: 0 },
});
// Another circle bottom-left area (subtle)
s.addShape(pres.shapes.OVAL, {
x: -0.8, y: 3.8, w: 2.8, h: 2.8,
fill: { color: C.navyMid },
line: { color: C.navyMid, width: 0 },
});
// Tag line above title
s.addText("MYTH-BUSTING CAROUSEL", {
x: 0.7, y: 1.1, w: 8.5, h: 0.4,
fontSize: 11, color: C.crimsonLt,
bold: true, charSpacing: 3,
fontFace: "Calibri",
});
// Main title
s.addText("Can Heart Patients\nDo Yoga?", {
x: 0.7, y: 1.55, w: 7.8, h: 1.9,
fontSize: 44, color: C.white,
bold: true, fontFace: "Calibri",
lineSpacingMultiple: 1.1,
});
// Sub-title
s.addText("The Truth.", {
x: 0.7, y: 3.45, w: 5, h: 0.65,
fontSize: 36, color: C.goldLt,
bold: true, fontFace: "Calibri",
italic: true,
});
// Swipe prompt
s.addText("Swipe to bust 5 common myths →", {
x: 0.7, y: 4.3, w: 7, h: 0.35,
fontSize: 12, color: C.lightGray,
fontFace: "Calibri",
});
addBottomBar(s, C.crimson);
addSlideNumber(s, 1, 10, C.midGray);
})();
// ─── MYTH SLIDE BUILDER ────────────────────────────────────────
// Layout: dark navy bg | left panel = MYTH (crimson) | right panel = TRUTH (navy light)
function buildMythSlide(num, mythNum, mythText, truthText, clinicalNote, icon = "✗") {
const s = pres.addSlide();
addBackground(s, C.navy);
// Left myth panel (40% width)
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 3.9, h: 5.625,
fill: { color: C.crimson },
line: { color: C.crimson, width: 0 },
});
// MYTH panel header
s.addText(`MYTH #${mythNum}`, {
x: 0.2, y: 0.25, w: 3.5, h: 0.4,
fontSize: 11, color: C.offWhite,
bold: true, charSpacing: 3,
fontFace: "Calibri",
});
// Myth icon
s.addText(icon, {
x: 0.2, y: 0.7, w: 0.7, h: 0.7,
fontSize: 30, color: C.white,
bold: true, fontFace: "Segoe UI Emoji",
});
// Myth text
s.addText(`"${mythText}"`, {
x: 0.2, y: 1.35, w: 3.5, h: 2.5,
fontSize: 18, color: C.white,
bold: true, fontFace: "Calibri",
italic: true,
lineSpacingMultiple: 1.2,
valign: "top",
wrap: true,
});
// Myth label at bottom of left panel
s.addText("COMMON BELIEF", {
x: 0.2, y: 5.1, w: 3.5, h: 0.35,
fontSize: 8, color: "FFFFFF",
charSpacing: 2, fontFace: "Calibri",
});
// ── Right TRUTH panel ──
// "CLINICAL TRUTH" label
s.addText("CLINICAL TRUTH", {
x: 4.15, y: 0.25, w: 5.6, h: 0.35,
fontSize: 10.5, color: C.gold,
bold: true, charSpacing: 3,
fontFace: "Calibri",
});
// Divider line under label
s.addShape(pres.shapes.RECTANGLE, {
x: 4.15, y: 0.62, w: 5.5, h: 0.03,
fill: { color: C.gold },
line: { color: C.gold, width: 0 },
});
// Truth text (main)
s.addText(truthText, {
x: 4.15, y: 0.75, w: 5.55, h: 2.8,
fontSize: 15.5, color: C.white,
fontFace: "Calibri",
lineSpacingMultiple: 1.3,
valign: "top",
wrap: true,
});
// Clinical note box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 4.15, y: 3.65, w: 5.55, h: 1.55,
fill: { color: C.navyMid },
line: { color: C.tealLt, width: 1.2 },
rectRadius: 0.08,
});
s.addText("📋 Clinical Note", {
x: 4.3, y: 3.72, w: 5.2, h: 0.32,
fontSize: 9.5, color: C.tealLt,
bold: true, fontFace: "Calibri",
});
s.addText(clinicalNote, {
x: 4.3, y: 4.06, w: 5.2, h: 1.05,
fontSize: 10.5, color: C.offWhite,
fontFace: "Calibri",
lineSpacingMultiple: 1.25,
valign: "top",
wrap: true,
});
addSlideNumber(s, num, 10, C.midGray);
addBrandTag(s, C.midGray);
}
// ─── 5 MYTH SLIDES ─────────────────────────────────────────────
buildMythSlide(
2, 1,
"Yoga is too strenuous for heart patients",
"Most yoga styles are moderate-intensity aerobic activity, similar to brisk walking. Supervised yoga is now included in cardiac rehabilitation programs. Multiple RCTs and meta-analyses confirm improvements in VO₂ max, blood pressure, and HRV in coronary artery disease patients.",
"AHA-endorsed CR guidelines permit moderate-intensity mind-body exercise. A 2021 meta-analysis of RCTs (Bruce et al.) found yoga significantly improved systolic BP, BMI, and anxiety in CAD patients. Start with chair yoga or gentle Hatha. Avoid only if EF < 30% or unstable angina.",
"❌"
);
buildMythSlide(
3, 2,
"Inversions are fine for everyone",
"Inversions (headstand, shoulderstand, legs-up-the-wall) increase venous return and raise intrathoracic pressure acutely. This can spike systolic BP, increase cardiac preload, and trigger arrhythmias in susceptible individuals — especially in uncontrolled hypertension or raised ICP.",
"Headstand raises mean arterial pressure significantly within seconds. Patients with uncontrolled HTN (BP > 160/100), glaucoma, heart failure, or aortic aneurysm must avoid full inversions. Even mild inversions (downward dog) should be introduced with caution and BP monitoring.",
"⚠️"
);
buildMythSlide(
4, 3,
"Hot yoga is okay if you're fit",
"Bikram/hot yoga (38–42 °C) causes significant cardiovascular strain even in fit individuals. Heat-induced vasodilation drops systemic vascular resistance, forcing the heart to compensate with increased output. In coronary disease, this raises ischemic risk and arrhythmia risk acutely.",
"Core temperature rises 1–2 °C in a 90-min hot session. Dehydration reduces plasma volume, increasing blood viscosity — a thrombotic risk in post-MI or stent patients. Hot yoga is contraindicated in: HF, uncontrolled HTN, post-MI < 6 months, arrhythmia on therapy, and ICD patients.",
"🌡️"
);
buildMythSlide(
5, 4,
"Breath retention (kumbhaka) improves heart health",
"Prolonged breath retention triggers a Valsalva-like response — rising intrathoracic pressure cuts venous return, drops cardiac output, and on release causes a sudden surge in preload. This produces a bradycardia-tachycardia sequence that can precipitate syncope or dangerous arrhythmias.",
"The Valsalva maneuver is used diagnostically to provoke arrhythmias (Fuster & Hurst's The Heart). 'Square-wave response' in heart failure signifies impaired cardiac reserve. Breath retention is contraindicated in: HF, uncontrolled HTN, post-cardiac surgery, and all arrhythmia patients.",
"🫁"
);
buildMythSlide(
6, 5,
"Any yoga pose is safe",
"Safety depends entirely on the individual's cardiac diagnosis, current EF, BP control, arrhythmia status, and fitness level. There is no universal 'safe' pose. Risk-stratification before starting yoga is as important as it is before any exercise prescription.",
"ACC/AHA stratify cardiac exercise risk (low, intermediate, high). High-risk patients (recent ACS, EF < 35%, uncontrolled arrhythmias) require medically supervised settings. Yoga instructors must be trained in cardiac precautions; a medical clearance form is best practice before enrollment.",
"🩺"
);
// ─── 3 GOLDEN RULES SLIDE ──────────────────────────────────────
(function buildGoldenRules() {
const s = pres.addSlide();
addBackground(s, C.teal);
// Top decorative strip
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 0.08,
fill: { color: C.goldLt },
line: { color: C.goldLt, width: 0 },
});
// Section label
s.addText("THE 3 GOLDEN RULES OF CARDIAC YOGA", {
x: 0.5, y: 0.18, w: 9, h: 0.4,
fontSize: 11, color: C.goldLt,
bold: true, charSpacing: 2,
fontFace: "Calibri", align: "center",
});
// Divider
s.addShape(pres.shapes.RECTANGLE, {
x: 2.5, y: 0.6, w: 5, h: 0.035,
fill: { color: C.goldLt },
line: { color: C.goldLt, width: 0 },
});
const rules = [
{
n: "01",
title: "No Valsalva Maneuver",
body: "Never strain or hold breath during poses. Keep breathing fluid and continuous. Any pose requiring breath-holding or bearing-down creates dangerous intrathoracic pressure spikes.",
icon: "🚫",
y: 0.78,
},
{
n: "02",
title: "No Inversions in Uncontrolled Hypertension",
body: "If BP > 160/100 mmHg, all inversions are contraindicated. Even partial inversions elevate MAP and ICP. Supine legs-elevated poses require physician clearance.",
icon: "🚫",
y: 2.1,
},
{
n: "03",
title: "No Breath Retention (Kumbhaka)",
body: "Avoid all forms of prolonged breath retention. Pranayama for cardiac patients should consist of slow, smooth breathing (e.g., 4-count inhale / 4-count exhale) without any retention phase.",
icon: "🚫",
y: 3.42,
},
];
rules.forEach((r) => {
// Rule card background
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.4, y: r.y, w: 9.2, h: 1.15,
fill: { color: C.tealLt, transparency: 30 },
line: { color: C.white, width: 0.8 },
rectRadius: 0.07,
shadow: { type: "outer", color: "000000", blur: 5, offset: 2, angle: 135, opacity: 0.15 },
});
// Rule number
s.addText(r.n, {
x: 0.5, y: r.y + 0.08, w: 0.55, h: 0.5,
fontSize: 20, color: C.goldLt,
bold: true, fontFace: "Calibri",
});
// Icon
s.addText(r.icon, {
x: 1.0, y: r.y + 0.12, w: 0.45, h: 0.45,
fontSize: 18, fontFace: "Segoe UI Emoji",
});
// Rule title
s.addText(r.title, {
x: 1.5, y: r.y + 0.1, w: 7.9, h: 0.38,
fontSize: 14, color: C.white,
bold: true, fontFace: "Calibri",
});
// Rule body
s.addText(r.body, {
x: 1.5, y: r.y + 0.5, w: 7.9, h: 0.62,
fontSize: 10.5, color: C.offWhite,
fontFace: "Calibri",
lineSpacingMultiple: 1.2,
wrap: true,
});
});
addSlideNumber(s, 7, 10, C.white);
addBrandTag(s, C.white);
addBottomBar(s, C.goldLt);
})();
// ─── SLIDE 8: WHAT CARDIAC YOGA LOOKS LIKE ─────────────────────
(function buildSafePractice() {
const s = pres.addSlide();
addBackground(s, C.navy);
// Accent bar right side
s.addShape(pres.shapes.RECTANGLE, {
x: 9.6, y: 0, w: 0.4, h: 5.625,
fill: { color: C.teal },
line: { color: C.teal, width: 0 },
});
s.addText("WHAT SAFE CARDIAC YOGA LOOKS LIKE", {
x: 0.5, y: 0.2, w: 8.8, h: 0.4,
fontSize: 11, color: C.tealLt,
bold: true, charSpacing: 2.5,
fontFace: "Calibri",
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0.5, y: 0.62, w: 6, h: 0.035,
fill: { color: C.tealLt },
line: { color: C.tealLt, width: 0 },
});
const items = [
{ icon: "✅", label: "Gentle Hatha, Restorative, Chair Yoga", detail: "Low-intensity, no inversions, no breath retention" },
{ icon: "✅", label: "Diaphragmatic breathing & slow pranayama", detail: "Activates vagal tone; lowers resting HR and BP" },
{ icon: "✅", label: "Seated or supine poses within comfort", detail: "Rate of perceived exertion: 11–13 / 20 (Borg scale)" },
{ icon: "✅", label: "Warm room only (< 28 °C)", detail: "Avoid Bikram, hot yoga, or heated studios" },
{ icon: "✅", label: "Medically cleared & instructor-supervised", detail: "Cardio-specific yoga instructors; physician sign-off" },
];
items.forEach((item, i) => {
const y = 0.82 + i * 0.87;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.4, y, w: 9.0, h: 0.74,
fill: { color: C.navyMid },
line: { color: C.teal, width: 0.7 },
rectRadius: 0.06,
});
s.addText(item.icon, {
x: 0.5, y: y + 0.12, w: 0.5, h: 0.4,
fontSize: 18, fontFace: "Segoe UI Emoji",
});
s.addText(item.label, {
x: 1.05, y: y + 0.08, w: 8.1, h: 0.32,
fontSize: 13.5, color: C.white,
bold: true, fontFace: "Calibri",
});
s.addText(item.detail, {
x: 1.05, y: y + 0.4, w: 8.1, h: 0.28,
fontSize: 10.5, color: C.lightGray,
fontFace: "Calibri",
});
});
addSlideNumber(s, 8, 10, C.midGray);
addBrandTag(s, C.midGray);
})();
// ─── SLIDE 9: EVIDENCE SNAPSHOT ────────────────────────────────
(function buildEvidence() {
const s = pres.addSlide();
addBackground(s, C.navy);
// Gold header strip
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 1.1,
fill: { color: C.gold },
line: { color: C.gold, width: 0 },
});
s.addText("THE EVIDENCE", {
x: 0.5, y: 0.15, w: 9, h: 0.45,
fontSize: 22, color: C.navy,
bold: true, fontFace: "Calibri",
charSpacing: 2,
});
s.addText("What peer-reviewed research says about yoga in heart disease", {
x: 0.5, y: 0.6, w: 9, h: 0.38,
fontSize: 11.5, color: C.navyMid,
fontFace: "Calibri",
italic: true,
});
const findings = [
{
stat: "↓ 6.2 mmHg",
label: "Systolic BP reduction",
detail: "vs. control in CAD patients doing yoga-based CR\n(Bruce et al. 2021 meta-analysis, PMID 34880621)",
},
{
stat: "↑ VO₂ max",
label: "Cardiorespiratory fitness",
detail: "Significantly improved with 12-week yoga programs\nin moderate-risk post-MI patients",
},
{
stat: "↓ Anxiety",
label: "Psychological benefit",
detail: "Yoga reduces cortisol, improves HRV, and lowers\nanxiety scores in cardiac patients (HADS scale)",
},
{
stat: "Safe",
label: "No serious adverse events",
detail: "No cardiac events reported in supervised yoga trials\nfor stable CAD (low-to-moderate risk tier)",
},
];
findings.forEach((f, i) => {
const x = 0.3 + (i % 2) * 4.85;
const y = 1.3 + Math.floor(i / 2) * 2.0;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: 4.55, h: 1.7,
fill: { color: C.navyMid },
line: { color: C.gold, width: 1.0 },
rectRadius: 0.1,
});
s.addText(f.stat, {
x: x + 0.2, y: y + 0.12, w: 4.2, h: 0.5,
fontSize: 26, color: C.goldLt,
bold: true, fontFace: "Calibri",
});
s.addText(f.label, {
x: x + 0.2, y: y + 0.6, w: 4.2, h: 0.32,
fontSize: 12, color: C.white,
bold: true, fontFace: "Calibri",
});
s.addText(f.detail, {
x: x + 0.2, y: y + 0.92, w: 4.2, h: 0.7,
fontSize: 9.5, color: C.lightGray,
fontFace: "Calibri",
lineSpacingMultiple: 1.2,
wrap: true,
});
});
addSlideNumber(s, 9, 10, C.midGray);
addBrandTag(s, C.midGray);
})();
// ─── SLIDE 10: CLOSING ─────────────────────────────────────────
(function buildClosing() {
const s = pres.addSlide();
addBackground(s, C.navy);
// Full-width teal band in center
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 1.9, w: 10, h: 1.85,
fill: { color: C.teal },
line: { color: C.teal, width: 0 },
});
// Decorative corner circles
s.addShape(pres.shapes.OVAL, {
x: -0.7, y: -0.7, w: 2.5, h: 2.5,
fill: { color: C.crimson, transparency: 70 },
line: { color: C.crimson, width: 0 },
});
s.addShape(pres.shapes.OVAL, {
x: 8.5, y: 3.8, w: 2.2, h: 2.2,
fill: { color: C.gold, transparency: 75 },
line: { color: C.gold, width: 0 },
});
// Top label
s.addText("REMEMBER", {
x: 0, y: 0.6, w: 10, h: 0.45,
fontSize: 12, color: C.goldLt,
bold: true, charSpacing: 4,
fontFace: "Calibri", align: "center",
});
// Divider
s.addShape(pres.shapes.RECTANGLE, {
x: 4.0, y: 1.1, w: 2.0, h: 0.04,
fill: { color: C.goldLt },
line: { color: C.goldLt, width: 0 },
});
s.addText("Safe yoga is still\ntransformative yoga.", {
x: 0, y: 1.1, w: 10, h: 1.5,
fontSize: 36, color: C.white,
bold: true, fontFace: "Calibri",
align: "center",
italic: false,
lineSpacingMultiple: 1.15,
});
// Teal band content
s.addText("Know your limits. Breathe easy. Move with intention.", {
x: 0.5, y: 2.1, w: 9, h: 0.55,
fontSize: 18, color: C.white,
fontFace: "Calibri", align: "center",
bold: false, italic: true,
});
s.addText("The mat is a healing space when the science guides the practice.", {
x: 0.5, y: 2.65, w: 9, h: 0.45,
fontSize: 12, color: C.offWhite,
fontFace: "Calibri", align: "center",
});
// Bottom: three rules reminder pills
const pills = ["No Valsalva", "No Inversions (uncontrolled HTN)", "No Breath Retention"];
const pillW = 2.8;
const pillGap = 0.3;
const totalW = pills.length * pillW + (pills.length - 1) * pillGap;
const startX = (10 - totalW) / 2;
pills.forEach((p, i) => {
const px = startX + i * (pillW + pillGap);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: px, y: 4.25, w: pillW, h: 0.48,
fill: { color: C.crimson },
line: { color: C.crimsonLt, width: 0.7 },
rectRadius: 0.24,
});
s.addText(p, {
x: px, y: 4.25, w: pillW, h: 0.48,
fontSize: 9.5, color: C.white,
bold: true, fontFace: "Calibri",
align: "center", valign: "middle",
margin: 0,
});
});
addSlideNumber(s, 10, 10, C.midGray);
addBrandTag(s, C.midGray);
addBottomBar(s, C.tealLt);
})();
// ─── WRITE FILE ────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/cardiac-yoga-carousel/Cardiac_Yoga_Myth_Buster.pptx" })
.then(() => console.log("✅ File written successfully."))
.catch((e) => { console.error("❌ Error:", e); process.exit(1); });
cd /home/daytona/workspace/cardiac-yoga-carousel && node build.js 2>&1
ls -lh /home/daytona/workspace/cardiac-yoga-carousel/
Cardiac Yoga Myth Buster
Presentation · PPTX
| # | Myth | Clinical Truth Highlight |
|---|---|---|
| 1 | "Yoga is too strenuous" | Moderate-intensity; included in AHA-endorsed CR programs; Bruce et al. 2021 meta-analysis (PMID 34880621) |
| 2 | "Inversions are fine for everyone" | Raise MAP acutely; contraindicated in uncontrolled HTN (>160/100), glaucoma, HF, aortic aneurysm |
| 3 | "Hot yoga is okay if you're fit" | Heat-driven vasodilation + dehydration = thrombotic/ischemic risk; contraindicated post-MI < 6 months |
| 4 | "Breath retention improves heart health" | Valsalva-like response - drops CO, then preload surge; documented arrhythmia trigger (Fuster & Hurst's The Heart) |
| 5 | "Any yoga pose is safe" | ACC/AHA risk stratification required; no universal safe pose; medical clearance mandatory |