Please prepare a PPT on topic " pronouns" show list of pronouns with their Russian translation in a table form for ESL student 3rd grade .Also prepare easy 20 interesting logical and not funny conversation questions along with answers under them .Use only present simple and present continuous tense.Don't use past tense or past verbs like (-ed ) form or second form of verbs.Also mention in a formula way where and how to place pronouns in your sentences.

Reading File
Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/pronouns-esl-ppt

Writing File

~/pronouns-esl-ppt/build.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Pronouns – ESL Grade 3";

// ─── PALETTE ───────────────────────────────────────────────────────────────
const C = {
  navy:    "1A237E",   // deep blue – dominant bg on title/section slides
  cobalt:  "1565C0",   // medium blue
  sky:     "E3F2FD",   // very light blue – content bg
  gold:    "FFD600",   // accent yellow
  white:   "FFFFFF",
  dark:    "0D1B4B",
  teal:    "00695C",
  orange:  "E65100",
  green:   "2E7D32",
  rose:    "AD1457",
};

// ─── helpers ───────────────────────────────────────────────────────────────
function bgRect(slide, color) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color } });
}
function titleBanner(slide, text, bgColor, textColor) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: bgColor } });
  slide.addText(text, { x: 0.2, y: 0, w: 9.6, h: 1.1, fontSize: 32, bold: true, color: textColor, valign: "middle", align: "left" });
}
function footer(slide) {
  slide.addText("Pronouns – ESL Grade 3  |  Present Simple & Present Continuous", {
    x: 0, y: 5.35, w: 10, h: 0.28, fontSize: 8, color: "AAAAAA", align: "center"
  });
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.navy);
  // decorative circles
  s.addShape(pres.ShapeType.ellipse, { x: 7.8, y: -0.5, w: 3.2, h: 3.2, fill: { color: C.cobalt }, line: { color: C.cobalt } });
  s.addShape(pres.ShapeType.ellipse, { x: 8.5, y: 3.5, w: 2, h: 2, fill: { color: "0D47A1" }, line: { color: "0D47A1" } });
  s.addShape(pres.ShapeType.ellipse, { x: -0.8, y: 3.8, w: 2.2, h: 2.2, fill: { color: C.cobalt }, line: { color: C.cobalt } });

  s.addText("📝 PRONOUNS", {
    x: 0.5, y: 0.7, w: 9, h: 1.3, fontSize: 52, bold: true, color: C.gold, align: "center"
  });
  s.addText("An ESL Lesson for Grade 3", {
    x: 0.5, y: 2.1, w: 9, h: 0.65, fontSize: 24, color: C.white, align: "center", italic: true
  });
  s.addText("Present Simple  •  Present Continuous", {
    x: 0.5, y: 2.85, w: 9, h: 0.55, fontSize: 18, color: C.gold, align: "center"
  });
  s.addShape(pres.ShapeType.rect, { x: 2.5, y: 3.55, w: 5, h: 0.08, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText("Teacher: _______________     Date: ___________", {
    x: 1, y: 3.8, w: 8, h: 0.4, fontSize: 13, color: "BBDEFB", align: "center"
  });
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 2 – WHAT IS A PRONOUN?
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.sky);
  titleBanner(s, "💡 What Is a Pronoun?", C.navy, C.gold);

  s.addText("A pronoun is a word that replaces a noun (a person, place, or thing).", {
    x: 0.4, y: 1.25, w: 9.2, h: 0.55, fontSize: 18, color: C.dark, bold: true
  });

  const examples = [
    ["Without pronoun", "Maria is happy. Maria likes school."],
    ["With pronoun",    "Maria is happy. She likes school."],
  ];
  examples.forEach(([label, text], i) => {
    const bg = i === 0 ? "FFCDD2" : "C8E6C9";
    s.addShape(pres.ShapeType.roundRect, { x: 0.4, y: 1.95 + i * 1.1, w: 9.2, h: 0.88, fill: { color: bg }, line: { color: bg }, rectRadius: 0.12 });
    s.addText([{ text: label + ":  ", options: { bold: true, color: C.dark } }, { text, options: { color: C.dark } }], {
      x: 0.6, y: 1.98 + i * 1.1, w: 8.8, h: 0.82, fontSize: 17, valign: "middle"
    });
  });

  s.addText('"She" is the pronoun. It replaces "Maria" so we do not repeat the name!', {
    x: 0.4, y: 4.18, w: 9.2, h: 0.55, fontSize: 15, color: C.teal, italic: true, bold: true
  });
  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 3 – PRONOUNS TABLE (English + Russian)
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.sky);
  titleBanner(s, "📋 Pronouns – English & Russian", C.navy, C.gold);

  const rows = [
    ["Pronoun", "Meaning (RU)", "Type", "Example"],
    ["I",       "Я",           "Subject", "I am a student."],
    ["You",     "Ты / Вы",     "Subject", "You are my friend."],
    ["He",      "Он",          "Subject", "He is reading now."],
    ["She",     "Она",         "Subject", "She likes cats."],
    ["It",      "Оно / Это",   "Subject", "It is raining."],
    ["We",      "Мы",          "Subject", "We are playing."],
    ["They",    "Они",         "Subject", "They are happy."],
    ["Me",      "Меня / Мне",  "Object",  "Look at me!"],
    ["Him",     "Его / Ему",   "Object",  "I see him."],
    ["Her",     "Её / Ей",     "Object",  "She helps her."],
    ["Us",      "Нас / Нам",   "Object",  "Join us!"],
    ["Them",    "Их / Им",     "Object",  "We know them."],
    ["My",      "Мой / Моя",   "Possessive","My bag is red."],
    ["Your",    "Твой / Ваш",  "Possessive","Your book is here."],
    ["His",     "Его",         "Possessive","His dog is big."],
    ["Her",     "Её",          "Possessive","Her dress is blue."],
    ["Our",     "Наш",         "Possessive","Our class is fun."],
    ["Their",   "Их",          "Possessive","Their house is big."],
  ];

  // header row
  const hCols = [0.35, 1.25, 2.65, 4.05, 5.95];
  const hW    = [0.88, 1.38, 1.38, 1.88, 3.88];
  const hLabels = rows[0];
  hLabels.forEach((label, ci) => {
    s.addShape(pres.ShapeType.rect, { x: hCols[ci], y: 1.15, w: hW[ci], h: 0.35, fill: { color: C.navy }, line: { color: C.navy } });
    s.addText(label, { x: hCols[ci], y: 1.15, w: hW[ci], h: 0.35, fontSize: 11, bold: true, color: C.gold, align: "center", valign: "middle" });
  });

  // data rows
  const dataRows = rows.slice(1);
  dataRows.forEach((row, ri) => {
    const yPos = 1.52 + ri * 0.23;
    const rowBg = ri % 2 === 0 ? "FFFFFF" : "DBEAFE";
    hCols.forEach((cx, ci) => {
      s.addShape(pres.ShapeType.rect, { x: cx, y: yPos, w: hW[ci], h: 0.22, fill: { color: rowBg }, line: { color: "BBBBBB", pt: 0.5 } });
      const isPronouns = ci === 0;
      s.addText(row[ci], {
        x: cx + 0.03, y: yPos, w: hW[ci] - 0.06, h: 0.22,
        fontSize: isPronouns ? 10 : 9.5,
        bold: isPronouns,
        color: isPronouns ? C.cobalt : C.dark,
        valign: "middle",
        align: "left"
      });
    });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 4 – SUBJECT PRONOUNS FORMULA
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.navy);
  titleBanner(s, "📐 Pronoun Formula – Present Simple", C.gold, C.navy);

  s.addText("FORMULA", {
    x: 0.5, y: 1.25, w: 9, h: 0.45, fontSize: 16, bold: true, color: C.gold, align: "center"
  });

  // Formula box
  s.addShape(pres.ShapeType.roundRect, { x: 0.6, y: 1.75, w: 8.8, h: 0.85, fill: { color: C.cobalt }, line: { color: C.gold, pt: 2 }, rectRadius: 0.15 });
  s.addText([
    { text: "SUBJECT PRONOUN", options: { bold: true, color: C.gold } },
    { text: "   +   ", options: { color: C.white } },
    { text: "VERB (base form)", options: { bold: true, color: "A5D6A7" } },
    { text: "   +   ", options: { color: C.white } },
    { text: "REST OF SENTENCE", options: { bold: true, color: "FFE082" } },
  ], { x: 0.8, y: 1.78, w: 8.4, h: 0.78, fontSize: 17, valign: "middle", align: "center" });

  // Examples grid
  const ex = [
    { pro: "I",    verb: "eat",    rest: "breakfast every day." },
    { pro: "She",  verb: "reads",  rest: "a book at night." },
    { pro: "They", verb: "play",   rest: "football after school." },
    { pro: "He",   verb: "studies",rest: "English now." },
    { pro: "We",   verb: "love",   rest: "our teacher." },
    { pro: "You",  verb: "draw",   rest: "very well." },
  ];
  ex.forEach((e, i) => {
    const col = i < 3 ? 0 : 1;
    const row = i % 3;
    const x = 0.4 + col * 4.9;
    const y = 2.75 + row * 0.75;
    s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.65, h: 0.62, fill: { color: "0D47A1" }, line: { color: "5C8AFF", pt: 1 }, rectRadius: 0.1 });
    s.addText([
      { text: e.pro + " ", options: { bold: true, color: C.gold, fontSize: 15 } },
      { text: e.verb + " ", options: { bold: true, color: "A5D6A7", fontSize: 15 } },
      { text: e.rest, options: { color: C.white, fontSize: 13 } },
    ], { x: x + 0.12, y, w: 4.42, h: 0.62, valign: "middle" });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 5 – PRESENT CONTINUOUS FORMULA
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.teal);

  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: "004D40" }, line: { color: "004D40" } });
  s.addText("📐 Pronoun Formula – Present Continuous", {
    x: 0.2, y: 0, w: 9.6, h: 1.1, fontSize: 28, bold: true, color: C.gold, valign: "middle"
  });

  s.addText("FORMULA", {
    x: 0.5, y: 1.2, w: 9, h: 0.4, fontSize: 15, bold: true, color: C.gold, align: "center"
  });

  s.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 1.65, w: 9, h: 0.85, fill: { color: "00695C" }, line: { color: C.gold, pt: 2 }, rectRadius: 0.15 });
  s.addText([
    { text: "SUBJECT PRONOUN", options: { bold: true, color: C.gold } },
    { text: "  +  ", options: { color: C.white } },
    { text: "am / is / are", options: { bold: true, color: "B2EBF2" } },
    { text: "  +  ", options: { color: C.white } },
    { text: "VERB + -ing", options: { bold: true, color: "FFE082" } },
    { text: "  +  ", options: { color: C.white } },
    { text: "REST", options: { bold: true, color: "F48FB1" } },
  ], { x: 0.7, y: 1.68, w: 8.6, h: 0.78, fontSize: 16, valign: "middle", align: "center" });

  // am/is/are rule box
  s.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 2.62, w: 9, h: 0.55, fill: { color: "004D40" }, line: { color: "B2EBF2", pt: 1 }, rectRadius: 0.1 });
  s.addText('I → am     |     He / She / It → is     |     You / We / They → are', {
    x: 0.7, y: 2.62, w: 8.6, h: 0.55, fontSize: 14, bold: true, color: "B2EBF2", align: "center", valign: "middle"
  });

  const ex = [
    { sub: "I",    be: "am",  verb: "eating", rest: "my lunch." },
    { sub: "She",  be: "is",  verb: "singing", rest: "a song." },
    { sub: "They", be: "are", verb: "running", rest: "in the park." },
    { sub: "He",   be: "is",  verb: "watching",rest: "TV right now." },
    { sub: "We",   be: "are", verb: "learning",rest: "English." },
    { sub: "You",  be: "are", verb: "doing",   rest: "great!" },
  ];
  ex.forEach((e, i) => {
    const col = i < 3 ? 0 : 1;
    const row = i % 3;
    const x = 0.4 + col * 4.9;
    const y = 3.3 + row * 0.7;
    s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.65, h: 0.58, fill: { color: "00796B" }, line: { color: "4DB6AC", pt: 1 }, rectRadius: 0.1 });
    s.addText([
      { text: e.sub + " ", options: { bold: true, color: C.gold, fontSize: 14 } },
      { text: e.be + " ", options: { bold: true, color: "B2EBF2", fontSize: 14 } },
      { text: e.verb + " ", options: { bold: true, color: "FFE082", fontSize: 14 } },
      { text: e.rest, options: { color: C.white, fontSize: 12 } },
    ], { x: x + 0.1, y, w: 4.45, h: 0.58, valign: "middle" });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 6 – OBJECT PRONOUN FORMULA
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, "FFF8E1");

  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: C.orange }, line: { color: C.orange } });
  s.addText("📐 Object Pronoun Formula", { x: 0.2, y: 0, w: 9.6, h: 1.1, fontSize: 30, bold: true, color: C.white, valign: "middle" });

  s.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 1.2, w: 9, h: 0.82, fill: { color: C.orange }, line: { color: C.gold, pt: 2 }, rectRadius: 0.15 });
  s.addText([
    { text: "SUBJECT  +  VERB  +  ", options: { bold: true, color: C.white } },
    { text: "OBJECT PRONOUN", options: { bold: true, color: C.gold } },
  ], { x: 0.7, y: 1.22, w: 8.6, h: 0.78, fontSize: 18, valign: "middle", align: "center" });

  s.addText("Object pronouns come AFTER the verb.", {
    x: 0.5, y: 2.12, w: 9, h: 0.38, fontSize: 15, italic: true, color: C.dark, align: "center", bold: true
  });

  const rows2 = [
    ["I see her.", "She sees me.", "We know them.", "He helps us."],
    ["She loves him.", "They hear you.", "I watch it.", "Do you like her?"],
  ];
  rows2.forEach((row, ri) => {
    row.forEach((cell, ci) => {
      const x = 0.35 + ci * 2.32;
      const y = 2.62 + ri * 1.0;
      s.addShape(pres.ShapeType.roundRect, { x, y, w: 2.2, h: 0.78, fill: { color: "FFE0B2" }, line: { color: C.orange, pt: 1 }, rectRadius: 0.1 });
      s.addText(cell, { x: x + 0.05, y, w: 2.1, h: 0.78, fontSize: 14, bold: true, color: C.dark, align: "center", valign: "middle" });
    });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 7 – POSSESSIVE PRONOUN FORMULA
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, "F3E5F5");

  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: C.rose }, line: { color: C.rose } });
  s.addText("📐 Possessive Pronoun Formula", { x: 0.2, y: 0, w: 9.6, h: 1.1, fontSize: 28, bold: true, color: C.white, valign: "middle" });

  s.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 1.2, w: 9, h: 0.82, fill: { color: C.rose }, line: { color: C.gold, pt: 2 }, rectRadius: 0.15 });
  s.addText([
    { text: "POSSESSIVE PRONOUN", options: { bold: true, color: C.gold } },
    { text: "  +  NOUN  +  VERB …", options: { bold: true, color: C.white } },
  ], { x: 0.7, y: 1.22, w: 8.6, h: 0.78, fontSize: 18, valign: "middle", align: "center" });

  s.addText("Possessive pronouns show who something BELONGS TO. They come BEFORE the noun.", {
    x: 0.5, y: 2.12, w: 9, h: 0.42, fontSize: 14, italic: true, color: C.dark, align: "center", bold: true
  });

  const pex = [
    ["My bag is blue.", "Your book is here.", "His dog runs fast."],
    ["Her dress is pretty.", "Our school is big.", "Their cat is sleeping."],
  ];
  pex.forEach((row, ri) => {
    row.forEach((cell, ci) => {
      const x = 0.45 + ci * 3.05;
      const y = 2.7 + ri * 1.1;
      s.addShape(pres.ShapeType.roundRect, { x, y, w: 2.9, h: 0.85, fill: { color: "F8BBD9" }, line: { color: C.rose, pt: 1 }, rectRadius: 0.1 });
      s.addText(cell, { x: x + 0.08, y, w: 2.75, h: 0.85, fontSize: 14, bold: true, color: C.dark, align: "center", valign: "middle" });
    });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 8 – CONVERSATION QUESTIONS 1–5
// ═══════════════════════════════════════════════════════════════════════════
function qSlide(num, pairs) {
  const colors = [
    { bg: "E8F5E9", banner: C.green },
    { bg: "E3F2FD", banner: C.cobalt },
    { bg: "FFF8E1", banner: C.orange },
    { bg: "FCE4EC", banner: C.rose },
  ];
  const palette = colors[(num - 1) % colors.length];
  const s = pres.addSlide();
  bgRect(s, palette.bg);
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: palette.banner }, line: { color: palette.banner } });
  s.addText(`💬 Conversation Questions  (Q${pairs[0].n}–Q${pairs[pairs.length-1].n})`, {
    x: 0.2, y: 0, w: 9.6, h: 1.0, fontSize: 26, bold: true, color: C.white, valign: "middle"
  });

  pairs.forEach((p, i) => {
    const y = 1.1 + i * 0.87;
    // question
    s.addShape(pres.ShapeType.roundRect, { x: 0.3, y, w: 9.4, h: 0.38, fill: { color: palette.banner }, line: { color: palette.banner }, rectRadius: 0.08 });
    s.addText(`Q${p.n}:  ${p.q}`, { x: 0.45, y, w: 9.1, h: 0.38, fontSize: 14, bold: true, color: C.white, valign: "middle" });
    // answer
    s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: y + 0.4, w: 9.4, h: 0.36, fill: { color: "FFFFFF" }, line: { color: palette.banner, pt: 1 }, rectRadius: 0.08 });
    s.addText(`➤  ${p.a}`, { x: 0.45, y: y + 0.4, w: 9.1, h: 0.36, fontSize: 13, color: C.dark, valign: "middle" });
  });

  footer(s);
}

// Questions 1–5
qSlide(1, [
  { n:1, q:"What is your name?",                              a:"My name is Alex. I am a student in Grade 3." },
  { n:2, q:"Where are you sitting right now?",                a:"I am sitting at my desk near the window." },
  { n:3, q:"What does she have in her bag?",                  a:"She has a pencil, a ruler, and her book in her bag." },
  { n:4, q:"Is he your classmate?",                           a:"Yes, he is my classmate. He sits next to me every day." },
  { n:5, q:"What are they doing in the classroom?",           a:"They are reading their books and listening to the teacher." },
]);

// Questions 6–10
qSlide(2, [
  { n:6,  q:"What do you like to eat for breakfast?",          a:"I like to eat bread and eggs. It is my favourite breakfast." },
  { n:7,  q:"Where is she going right now?",                   a:"She is going to the library. She wants to find a book." },
  { n:8,  q:"What sport does he play every week?",             a:"He plays football every weekend. It is his favourite sport." },
  { n:9,  q:"Are we in the same class this year?",             a:"Yes, we are in the same class. Our teacher is very kind." },
  { n:10, q:"What are you wearing today?",                     a:"I am wearing a blue shirt and black shoes today." },
]);

// Questions 11–15
qSlide(3, [
  { n:11, q:"Does she speak English at home?",                 a:"Yes, she speaks a little English at home with her family." },
  { n:12, q:"What is it on the table?",                        a:"It is a red apple. It looks fresh and tasty." },
  { n:13, q:"Are they playing outside now?",                   a:"No, they are not playing outside. They are eating lunch." },
  { n:14, q:"What does your teacher look like?",               a:"My teacher is tall. She has short hair and a warm smile." },
  { n:15, q:"What do we need for this lesson?",                a:"We need our notebooks, pens, and our thinking brains!" },
]);

// Questions 16–20
qSlide(4, [
  { n:16, q:"Is he reading or is he writing now?",             a:"He is writing a sentence in his notebook right now." },
  { n:17, q:"What colour is her favourite dress?",             a:"Her favourite dress is pink. She wears it on Sundays." },
  { n:18, q:"Do they always listen in class?",                 a:"Yes, they always listen carefully. They are good students." },
  { n:19, q:"What is your favourite subject and why?",         a:"My favourite subject is English because it is very useful." },
  { n:20, q:"What are you learning about today in school?",    a:"We are learning about pronouns. They help us speak better." },
]);

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 13 – QUICK REVIEW SUMMARY
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.navy);
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.05, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText("⭐ Quick Review", { x: 0.2, y: 0, w: 9.6, h: 1.05, fontSize: 34, bold: true, color: C.navy, valign: "middle" });

  const rows = [
    { type: "Subject Pronouns",    list: "I, You, He, She, It, We, They", formula: "Pronoun + Verb + …", ru: "Я, Ты, Он, Она, Оно, Мы, Они" },
    { type: "Object Pronouns",     list: "Me, You, Him, Her, It, Us, Them", formula: "Subj + Verb + Pronoun", ru: "Меня, Его, Её, Нас, Их" },
    { type: "Possessive Pronouns", list: "My, Your, His, Her, Its, Our, Their", formula: "Pronoun + Noun + Verb", ru: "Мой, Твой, Его, Её, Наш, Их" },
  ];
  rows.forEach((r, i) => {
    const y = 1.18 + i * 1.35;
    s.addShape(pres.ShapeType.roundRect, { x: 0.3, y, w: 9.4, h: 1.22, fill: { color: "0D47A1" }, line: { color: "5C8AFF", pt: 1 }, rectRadius: 0.12 });
    s.addText(r.type, { x: 0.5, y: y + 0.05, w: 9, h: 0.35, fontSize: 15, bold: true, color: C.gold });
    s.addText(`Words: ${r.list}`, { x: 0.5, y: y + 0.38, w: 9, h: 0.28, fontSize: 12, color: "A5D6A7" });
    s.addText(`Formula: ${r.formula}   |   Russian: ${r.ru}`, { x: 0.5, y: y + 0.68, w: 9, h: 0.28, fontSize: 11, color: "B0BEC5" });
  });

  footer(s);
}

// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 14 – END / WELL DONE
// ═══════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bgRect(s, C.navy);
  s.addShape(pres.ShapeType.ellipse, { x: 3.5, y: 0.3, w: 3, h: 3, fill: { color: C.cobalt }, line: { color: C.cobalt } });
  s.addText("🏆", { x: 3.5, y: 0.35, w: 3, h: 3, fontSize: 68, align: "center", valign: "middle" });
  s.addText("Well Done!", { x: 1, y: 3.4, w: 8, h: 0.75, fontSize: 40, bold: true, color: C.gold, align: "center" });
  s.addText("You know your pronouns now!", { x: 1, y: 4.18, w: 8, h: 0.45, fontSize: 20, color: C.white, align: "center", italic: true });
  s.addText("I  •  You  •  He  •  She  •  It  •  We  •  They", {
    x: 1, y: 4.7, w: 8, h: 0.35, fontSize: 14, color: C.gold, align: "center"
  });
}

// ─── WRITE FILE ────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_Grade3.pptx" })
  .then(() => console.log("✅ DONE"))
  .catch(e => console.error("❌", e));
Running Command

cd /home/daytona/workspace/pronouns-esl-ppt && node build.js 2>&1

Running Command

ls -lh /home/daytona/workspace/pronouns-esl-ppt/

Your presentation is ready! Here is the download link:

Pronouns ESL Grade3

Presentation · PPTX


Here is a full breakdown of what is inside the 14-slide presentation:

Slide-by-Slide Overview

#SlideWhat it covers
1Title"Pronouns – ESL Grade 3" with teacher/date fields
2What is a Pronoun?Definition with before/after example (with vs. without pronoun)
3Pronouns TableFull table of 18 pronouns with Russian translation (Я, Ты, Он, Она…), type, and example sentence
4Present Simple FormulaSUBJECT PRONOUN + VERB + REST with 6 colour-coded examples
5Present Continuous FormulaPRONOUN + am/is/are + VERB-ing + REST with am/is/are rules and 6 examples
6Object Pronoun FormulaSUBJECT + VERB + OBJECT PRONOUN - pronoun comes after the verb
7Possessive Pronoun FormulaPOSSESSIVE PRONOUN + NOUN + VERB - pronoun comes before the noun
8-11Conversation Questions Q1-Q204 slides, 5 questions each, every question has its answer below it
12Quick ReviewSummary table of all 3 pronoun types, their lists, formula, and Russian equivalents
13Well Done!Closing celebration slide

Key Features

  • Only Present Simple and Present Continuous tenses used throughout - zero past tense, zero -ed forms
  • Russian translations for all pronouns (Я / Ты / Он / Она / Оно / Мы / Они / Меня / Его / Её / Нас / Их / Мой / Твой / Наш / Их...)
  • 3 formulas shown visually with colour-coded parts (pronoun = gold, verb = green, rest = white)
  • 20 logical conversation questions with answers - age-appropriate for Grade 3, interesting topics (school, sports, food, clothing, subjects)
  • Bright, child-friendly colour palette (deep blue, gold, green, teal, rose sections)

I am unable to download it.Please show individual photos in .jpg format from slide or pdf form file.

Reading File
Running Command

cd /home/daytona/workspace/pronouns-esl-ppt && mkdir -p slides_jpg && libreoffice --headless --convert-to pdf Pronouns_ESL_Grade3.pptx --outdir /home/daytona/workspace/pronouns-esl-ppt/ 2>&1

Running Command

cp /home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_Grade3.pptx /tmp/pronouns.pptx && libreoffice --headless --convert-to pdf /tmp/pronouns.pptx --outdir /tmp/ 2>&1

Running Command

pdftoppm -r 150 -jpeg /tmp/pronouns.pdf /tmp/slide && ls /tmp/slide*.jpg 2>&1

Running Command

cp /tmp/slide-*.jpg /home/daytona/workspace/pronouns-esl-ppt/slides_jpg/ && ls -lh /home/daytona/workspace/pronouns-esl-ppt/slides_jpg/

All 13 slides are converted. Here they are one by one:

Slide 1 – Title
Slide 1

Slide 2 – What Is a Pronoun?
Slide 2

Slide 3 – Pronouns Table (English + Russian)
Slide 3

Slide 4 – Present Simple Formula
Slide 4

Slide 5 – Present Continuous Formula
Slide 5

Slide 6 – Object Pronoun Formula
Slide 6

Slide 7 – Possessive Pronoun Formula
Slide 7

Slide 8 – Conversation Questions Q1–Q5
Slide 8

Slide 9 – Conversation Questions Q6–Q10
Slide 9

Slide 10 – Conversation Questions Q11–Q15
Slide 10

Slide 11 – Conversation Questions Q16–Q20
Slide 11

Slide 12 – Quick Review Summary
Slide 12

Slide 13 – Well Done! (Closing)
Slide 13

You can also download individual slides directly:
  • slide 01

    Image · JPG

    |

    slide 02

    Image · JPG

    |

    slide 03

    Image · JPG

    |

    slide 04

    Image · JPG

    |

    slide 05

    Image · JPG

  • slide 06

    Image · JPG

    |

    slide 07

    Image · JPG

    |

    slide 08

    Image · JPG

    |

    slide 09

    Image · JPG

    |

    slide 10

    Image · JPG

  • slide 11

    Image · JPG

    |

    slide 12

    Image · JPG

    |

    slide 13

    Image · JPG

I am unable to download and open the files.

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
All 13 slides are now displayed directly above - no downloading needed! Here is a quick summary of what each slide covers:
SlideTitle
1Title - Pronouns, ESL Grade 3
2What Is a Pronoun? (definition + examples)
3Full Pronouns Table with Russian translations
4Present Simple Formula
5Present Continuous Formula
6Object Pronoun Formula
7Possessive Pronoun Formula
8Conversation Q1-Q5 with answers
9Conversation Q6-Q10 with answers
10Conversation Q11-Q15 with answers
11Conversation Q16-Q20 with answers
12Quick Review Summary
13Well Done! (closing slide)
You can right-click on any slide image above and choose "Save image as..." to save individual slides as .jpg files to your device. That way you do not need to download any file - just save each image directly from the screen.

I can't see anything, please once again make ready my file in PPT form and pdf form and .jpg format photos which are easy to download.

Running Command

ls -lh /home/daytona/workspace/pronouns-esl-ppt/ && ls -lh /home/daytona/workspace/pronouns-esl-ppt/slides_jpg/

Running Command

# Copy PDF to workspace folder cp /tmp/pronouns.pdf /home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_Grade3.pdf # Create a ZIP of all JPG slides cd /home/daytona/workspace/pronouns-esl-ppt/slides_jpg && zip -j /home/daytona/workspace/pronouns-esl-ppt/Pronouns_Slides_JPG.zip *.jpg echo "--- All files ready ---" ls -lh /home/daytona/workspace/pronouns-esl-ppt/

Running Command

# Copy JPGs to workspace root-level folder for direct access cp /home/daytona/workspace/pronouns-esl-ppt/slides_jpg/*.jpg /home/daytona/workspace/pronouns-esl-ppt/ ls -lh /home/daytona/workspace/pronouns-esl-ppt/*.jpg

All files are ready. Here are all your download links:

📥 Download Links

📊 PowerPoint File

Pronouns ESL Grade3

Presentation · PPTX

📄 PDF File

Pronouns ESL Grade3

PDF Document · PDF


🖼️ Individual JPG Slides (click each to download)

SlideTopicDownload
Slide 1Title Page

slide 01

Image · JPG

Slide 2What Is a Pronoun?

slide 02

Image · JPG

Slide 3Pronouns Table (English + Russian)

slide 03

Image · JPG

Slide 4Present Simple Formula

slide 04

Image · JPG

Slide 5Present Continuous Formula

slide 05

Image · JPG

Slide 6Object Pronoun Formula

slide 06

Image · JPG

Slide 7Possessive Pronoun Formula

slide 07

Image · JPG

Slide 8Questions Q1–Q5 + Answers

slide 08

Image · JPG

Slide 9Questions Q6–Q10 + Answers

slide 09

Image · JPG

Slide 10Questions Q11–Q15 + Answers

slide 10

Image · JPG

Slide 11Questions Q16–Q20 + Answers

slide 11

Image · JPG

Slide 12Quick Review Summary

slide 12

Image · JPG

Slide 13Well Done! (Closing)

slide 13

Image · JPG


How to download: Click any link above, then right-click the file/image and choose "Save link as" or "Save image as" to save it to your device.

I am unable to open these files.I am really disappointed from your work ,I need it fast .Show all information on screen if I can't down the files

I apologize for the frustration. Here is the complete lesson displayed directly on screen - everything you need, right here, no downloading required.

📝 PRONOUNS – ESL Lesson for Grade 3

Present Simple • Present Continuous


💡 SLIDE 2 — What Is a Pronoun?

A pronoun is a word that replaces a noun (a person, place, or thing).
❌ Without Pronoun✅ With Pronoun
Maria is happy. Maria likes school.Maria is happy. She likes school.
"She" is the pronoun. It replaces "Maria" so we do not repeat the name!

📋 SLIDE 3 — Pronouns Table: English + Russian

PronounRussian (RU)TypeExample Sentence
IЯSubjectI am a student.
YouТы / ВыSubjectYou are my friend.
HeОнSubjectHe is reading now.
SheОнаSubjectShe likes cats.
ItОно / ЭтоSubjectIt is raining.
WeМыSubjectWe are playing.
TheyОниSubjectThey are happy.
MeМеня / МнеObjectLook at me!
HimЕго / ЕмуObjectI see him.
HerЕё / ЕйObjectShe helps her.
UsНас / НамObjectJoin us!
ThemИх / ИмObjectWe know them.
MyМой / МояPossessiveMy bag is red.
YourТвой / ВашPossessiveYour book is here.
HisЕгоPossessiveHis dog is big.
HerЕёPossessiveHer dress is blue.
OurНашPossessiveOur class is fun.
TheirИхPossessiveTheir house is big.

📐 SLIDE 4 — Formula: Present Simple

SUBJECT PRONOUN  +  VERB (base form)  +  REST OF SENTENCE
PronounVerbRest
Ieatbreakfast every day.
Shereadsa book at night.
Theyplayfootball after school.
HestudiesEnglish now.
Weloveour teacher.
Youdrawvery well.

📐 SLIDE 5 — Formula: Present Continuous

SUBJECT PRONOUN  +  am/is/are  +  VERB + -ing  +  REST
Rules:
  • Iam
  • He / She / Itis
  • You / We / Theyare
Pronounam/is/areVerb+ingRest
Iameatingmy lunch.
Sheissinginga song.
Theyarerunningin the park.
HeiswatchingTV right now.
WearelearningEnglish.
Youaredoinggreat!

📐 SLIDE 6 — Formula: Object Pronouns

SUBJECT  +  VERB  +  OBJECT PRONOUN
Object pronouns come AFTER the verb.
SentenceSentence
I see her.She sees me.
We know them.He helps us.
She loves him.They hear you.
I watch it.Do you like her?

📐 SLIDE 7 — Formula: Possessive Pronouns

POSSESSIVE PRONOUN  +  NOUN  +  VERB ...
Possessive pronouns come BEFORE the noun. They show who something belongs to.
SentenceSentenceSentence
My bag is blue.Your book is here.His dog runs fast.
Her dress is pretty.Our school is big.Their cat is sleeping.

💬 SLIDE 8 — Conversation Questions Q1–Q5

Q1: What is your name? ➤ My name is Alex. I am a student in Grade 3.
Q2: Where are you sitting right now? ➤ I am sitting at my desk near the window.
Q3: What does she have in her bag? ➤ She has a pencil, a ruler, and her book in her bag.
Q4: Is he your classmate? ➤ Yes, he is my classmate. He sits next to me every day.
Q5: What are they doing in the classroom? ➤ They are reading their books and listening to the teacher.

💬 SLIDE 9 — Conversation Questions Q6–Q10

Q6: What do you like to eat for breakfast? ➤ I like to eat bread and eggs. It is my favourite breakfast.
Q7: Where is she going right now? ➤ She is going to the library. She wants to find a book.
Q8: What sport does he play every week? ➤ He plays football every weekend. It is his favourite sport.
Q9: Are we in the same class this year? ➤ Yes, we are in the same class. Our teacher is very kind.
Q10: What are you wearing today? ➤ I am wearing a blue shirt and black shoes today.

💬 SLIDE 10 — Conversation Questions Q11–Q15

Q11: Does she speak English at home? ➤ Yes, she speaks a little English at home with her family.
Q12: What is it on the table? ➤ It is a red apple. It looks fresh and tasty.
Q13: Are they playing outside now? ➤ No, they are not playing outside. They are eating lunch.
Q14: What does your teacher look like? ➤ My teacher is tall. She has short hair and a warm smile.
Q15: What do we need for this lesson? ➤ We need our notebooks, pens, and our thinking brains!

💬 SLIDE 11 — Conversation Questions Q16–Q20

Q16: Is he reading or is he writing now? ➤ He is writing a sentence in his notebook right now.
Q17: What colour is her favourite dress? ➤ Her favourite dress is pink. She wears it on Sundays.
Q18: Do they always listen in class? ➤ Yes, they always listen carefully. They are good students.
Q19: What is your favourite subject and why? ➤ My favourite subject is English because it is very useful.
Q20: What are you learning about today in school? ➤ We are learning about pronouns. They help us speak better.

⭐ SLIDE 12 — Quick Review Summary

TypePronounsFormulaRussian
SubjectI, You, He, She, It, We, TheyPronoun + Verb + …Я, Ты, Он, Она, Оно, Мы, Они
ObjectMe, You, Him, Her, It, Us, ThemSubject + Verb + PronounМеня, Его, Её, Нас, Их
PossessiveMy, Your, His, Her, Its, Our, TheirPronoun + Noun + VerbМой, Твой, Его, Её, Наш, Их

🏆 SLIDE 13 — Well Done!

You know your pronouns now!

I • You • He • She • It • We • They

Everything is now fully visible on your screen. You can select all the text, copy it, and paste it into Word, Google Docs, or any app on your device. No downloading needed at all!

Create an attractive colorful ppt using above mentioned pdf and mentioned all information.

Reading File
Running Command

python3 -c " import pdfplumber with pdfplumber.open('/home/daytona/workspace/attachments/0a2006a6-0ef6-423e-a696-61dacdc3c9a6/DOC-20260628-WA0016..pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): print(f'\\n=== PAGE {i+1} ===') print(page.extract_text()) "

Writing File

~/pronouns-esl-ppt/build2.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Pronouns – ESL Grade 3";

// ── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
  navy:   "1A237E", cobalt: "1565C0", sky:  "E3F2FD",
  gold:   "FFD600", white:  "FFFFFF", dark: "0D1B4B",
  teal:   "00695C", orange: "E65100", green:"2E7D32",
  rose:   "AD1457", purple: "6A1B9A", lime: "558B2F",
  amber:  "FF6F00", cyan:   "00838F",
};

// ── HELPERS ─────────────────────────────────────────────────────────────────
const bg  = (s,col) => s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:5.625,fill:{color:col}});
const hdr = (s,txt,bg_,tc) => {
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.05,fill:{color:bg_},line:{color:bg_}});
  s.addText(txt,{x:0.25,y:0,w:9.5,h:1.05,fontSize:28,bold:true,color:tc,valign:"middle"});
};
const foot = s => s.addText("Pronouns – ESL Grade 3  |  Present Simple & Present Continuous",
  {x:0,y:5.38,w:10,h:0.24,fontSize:7.5,color:"AAAAAA",align:"center"});

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, C.navy);
  // big decorative circles
  [[7.6,-0.6,3.5,3.5,C.cobalt],[8.6,3.8,2,2,"0D47A1"],[-0.9,3.5,2.5,2.5,C.cobalt]].forEach(
    ([x,y,w,h,c])=>s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));

  s.addText("📝 PRONOUNS",{x:0.5,y:0.55,w:9,h:1.4,fontSize:58,bold:true,color:C.gold,align:"center"});
  s.addText("An ESL Lesson for Grade 3",{x:0.5,y:2.05,w:9,h:0.65,fontSize:26,color:C.white,align:"center",italic:true});
  s.addText("Present Simple  •  Present Continuous",{x:0.5,y:2.78,w:9,h:0.52,fontSize:19,color:C.gold,align:"center"});
  s.addShape(pres.ShapeType.rect,{x:2.2,y:3.42,w:5.6,h:0.07,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("Grade 3  •  ESL English",{x:1,y:3.62,w:8,h:0.38,fontSize:14,color:"BBDEFB",align:"center"});
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 2 – WHAT IS A PRONOUN?
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,"EDE7F6");
  hdr(s,"💡 What Is a Pronoun?",C.purple,C.white);

  s.addText("A pronoun is a word that replaces a noun (a person, place, or thing).",
    {x:0.4,y:1.12,w:9.2,h:0.5,fontSize:17,bold:true,color:C.dark});

  // without pronoun – red box
  s.addShape(pres.ShapeType.roundRect,{x:0.35,y:1.72,w:9.3,h:0.82,fill:{color:"FFCDD2"},line:{color:"E57373",pt:2},rectRadius:0.12});
  s.addText([
    {text:"❌  Without pronoun:  ",options:{bold:true,color:"C62828",fontSize:15}},
    {text:"Maria is happy.  Maria likes school.",options:{color:"B71C1C",fontSize:15}},
  ],{x:0.55,y:1.75,w:9,h:0.76,valign:"middle"});

  // with pronoun – green box
  s.addShape(pres.ShapeType.roundRect,{x:0.35,y:2.65,w:9.3,h:0.82,fill:{color:"C8E6C9"},line:{color:"66BB6A",pt:2},rectRadius:0.12});
  s.addText([
    {text:"✅  With pronoun:  ",options:{bold:true,color:C.green,fontSize:15}},
    {text:"Maria is happy.  ",options:{color:C.dark,fontSize:15}},
    {text:"She",options:{bold:true,color:C.green,fontSize:15}},
    {text:" likes school.",options:{color:C.dark,fontSize:15}},
  ],{x:0.55,y:2.68,w:9,h:0.76,valign:"middle"});

  s.addShape(pres.ShapeType.roundRect,{x:0.35,y:3.58,w:9.3,h:0.68,fill:{color:"F3E5F5"},line:{color:C.purple,pt:1.5},rectRadius:0.1});
  s.addText('💬  "She" replaces "Maria" — so we do NOT repeat the name!',
    {x:0.55,y:3.6,w:9,h:0.64,fontSize:15,italic:true,bold:true,color:C.purple,valign:"middle"});
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 3 – PRONOUNS TABLE (Subject + Object)
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,C.sky);
  hdr(s,"📋 Pronouns – English & Russian (Part 1)",C.navy,C.gold);

  const cols = {x:[0.3,1.28,2.55,4.0,5.85], w:[0.95,1.25,1.43,1.83,4.0]};
  const headers = ["Pronoun","Russian","Type","Example Sentence"];
  // header bar
  [0,1,2,3].forEach(ci=>{
    const xi = cols.x[ci+1], wi = cols.w[ci+1];
    s.addShape(pres.ShapeType.rect,{x:xi,y:1.12,w:wi,h:0.32,fill:{color:C.navy},line:{color:C.navy}});
    s.addText(headers[ci],{x:xi,y:1.12,w:wi,h:0.32,fontSize:10.5,bold:true,color:C.gold,align:"center",valign:"middle"});
  });
  // pronoun column header
  s.addShape(pres.ShapeType.rect,{x:cols.x[0],y:1.12,w:cols.w[0],h:0.32,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("Word",{x:cols.x[0],y:1.12,w:cols.w[0],h:0.32,fontSize:10.5,bold:true,color:C.navy,align:"center",valign:"middle"});

  const rows=[
    ["I","Я","Subject","I am a student."],
    ["You","Ты / Вы","Subject","You are my friend."],
    ["He","Он","Subject","He is reading now."],
    ["She","Она","Subject","She likes cats."],
    ["It","Оно / Это","Subject","It is raining."],
    ["We","Мы","Subject","We are playing."],
    ["They","Они","Subject","They are happy."],
    ["Me","Меня / Мне","Object","Look at me!"],
    ["Him","Его / Ему","Object","I see him."],
    ["Her","Её / Ей","Object","She helps her."],
    ["Us","Нас / Нам","Object","Join us!"],
    ["Them","Их / Им","Object","We know them."],
  ];
  const typeColor = {"Subject":"DBEAFE","Object":"FEF9C3"};
  rows.forEach((row,ri)=>{
    const y = 1.46 + ri*0.31;
    const rowBg = ri%2===0 ? "FFFFFF" : "F0F4FF";
    cols.x.forEach((cx,ci)=>{
      s.addShape(pres.ShapeType.rect,{x:cx,y,w:cols.w[ci],h:0.29,fill:{color:rowBg},line:{color:"CCCCCC",pt:0.5}});
    });
    const tcol = typeColor[row[2]]||rowBg;
    s.addShape(pres.ShapeType.rect,{x:cols.x[2],y,w:cols.w[2],h:0.29,fill:{color:tcol},line:{color:"CCCCCC",pt:0.5}});
    s.addText(row[0],{x:cols.x[0]+0.03,y,w:cols.w[0]-0.06,h:0.29,fontSize:11,bold:true,color:C.cobalt,valign:"middle",align:"center"});
    s.addText(row[1],{x:cols.x[1]+0.03,y,w:cols.w[1]-0.06,h:0.29,fontSize:9.5,color:C.dark,valign:"middle"});
    s.addText(row[2],{x:cols.x[2]+0.03,y,w:cols.w[2]-0.06,h:0.29,fontSize:9.5,bold:true,color:C.dark,valign:"middle",align:"center"});
    s.addText(row[3],{x:cols.x[3]+0.03,y,w:cols.w[3]+cols.w[4]-0.06,h:0.29,fontSize:9.5,color:C.dark,valign:"middle"});
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 4 – PRONOUNS TABLE (Possessive)
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,"FFF8E1");
  hdr(s,"📋 Pronouns – English & Russian (Part 2: Possessive)",C.amber,C.white);

  const cols = {x:[0.3,1.28,2.55,4.0,5.85], w:[0.95,1.25,1.43,1.83,4.0]};
  const headers = ["Pronoun","Russian","Type","Example Sentence"];
  [0,1,2,3].forEach(ci=>{
    const xi = cols.x[ci+1], wi = cols.w[ci+1];
    s.addShape(pres.ShapeType.rect,{x:xi,y:1.12,w:wi,h:0.32,fill:{color:C.amber},line:{color:C.amber}});
    s.addText(headers[ci],{x:xi,y:1.12,w:wi,h:0.32,fontSize:10.5,bold:true,color:C.white,align:"center",valign:"middle"});
  });
  s.addShape(pres.ShapeType.rect,{x:cols.x[0],y:1.12,w:cols.w[0],h:0.32,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("Word",{x:cols.x[0],y:1.12,w:cols.w[0],h:0.32,fontSize:10.5,bold:true,color:C.dark,align:"center",valign:"middle"});

  const rows=[
    ["My","Мой / Моя","Possessive","My bag is red."],
    ["Your","Твой / Ваш","Possessive","Your book is here."],
    ["His","Его","Possessive","His dog is big."],
    ["Her","Её","Possessive","Her dress is blue."],
    ["Its","Его / Её","Possessive","Its tail is long."],
    ["Our","Наш","Possessive","Our class is fun."],
    ["Their","Их","Possessive","Their house is big."],
  ];
  rows.forEach((row,ri)=>{
    const y = 1.46 + ri*0.36;
    const rowBg = ri%2===0 ? "FFFFFF" : "FFFDE7";
    cols.x.forEach((cx,ci)=>{
      s.addShape(pres.ShapeType.rect,{x:cx,y,w:cols.w[ci],h:0.34,fill:{color:rowBg},line:{color:"CCCCCC",pt:0.5}});
    });
    s.addShape(pres.ShapeType.rect,{x:cols.x[2],y,w:cols.w[2],h:0.34,fill:{color:"FFE082"},line:{color:"CCCCCC",pt:0.5}});
    s.addText(row[0],{x:cols.x[0]+0.03,y,w:cols.w[0]-0.06,h:0.34,fontSize:12,bold:true,color:C.orange,valign:"middle",align:"center"});
    s.addText(row[1],{x:cols.x[1]+0.03,y,w:cols.w[1]-0.06,h:0.34,fontSize:10,color:C.dark,valign:"middle"});
    s.addText(row[2],{x:cols.x[2]+0.03,y,w:cols.w[2]-0.06,h:0.34,fontSize:10,bold:true,color:C.amber,valign:"middle",align:"center"});
    s.addText(row[3],{x:cols.x[3]+0.03,y,w:cols.w[3]+cols.w[4]-0.06,h:0.34,fontSize:10,color:C.dark,valign:"middle"});
  });

  s.addShape(pres.ShapeType.roundRect,{x:0.3,y:4.05,w:9.4,h:0.52,fill:{color:"FFF3CD"},line:{color:C.amber,pt:1.5},rectRadius:0.1});
  s.addText("💡 Formula:  POSSESSIVE PRONOUN  +  NOUN  +  VERB    (My bag IS red.)",
    {x:0.5,y:4.06,w:9.1,h:0.5,fontSize:13,bold:true,color:C.amber,valign:"middle",align:"center"});
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 5 – PRESENT SIMPLE FORMULA
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,C.navy);
  hdr(s,"📐 Formula 1 – Present Simple",C.gold,C.navy);

  s.addShape(pres.ShapeType.roundRect,{x:0.5,y:1.15,w:9,h:0.85,fill:{color:C.cobalt},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"SUBJECT PRONOUN",options:{bold:true,color:C.gold,fontSize:17}},
    {text:"  +  ",options:{color:C.white,fontSize:17}},
    {text:"VERB (base form)",options:{bold:true,color:"A5D6A7",fontSize:17}},
    {text:"  +  ",options:{color:C.white,fontSize:17}},
    {text:"REST OF SENTENCE",options:{bold:true,color:"FFE082",fontSize:17}},
  ],{x:0.7,y:1.18,w:8.6,h:0.78,valign:"middle",align:"center"});

  const ex=[
    {pro:"I",     v:"eat",    r:"breakfast every day."},
    {pro:"She",   v:"reads",  r:"a book at night."},
    {pro:"They",  v:"play",   r:"football after school."},
    {pro:"He",    v:"studies",r:"English every day."},
    {pro:"We",    v:"love",   r:"our teacher."},
    {pro:"You",   v:"draw",   r:"very well."},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1, row=i%3;
    const x=0.4+col*4.9, y=2.12+row*1.05;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.65,h:0.88,fill:{color:"0D47A1"},line:{color:"5C8AFF",pt:1},rectRadius:0.12});
    s.addText([
      {text:e.pro+" ",options:{bold:true,color:C.gold,fontSize:17}},
      {text:e.v+" ",options:{bold:true,color:"A5D6A7",fontSize:17}},
      {text:e.r,options:{color:C.white,fontSize:14}},
    ],{x:x+0.15,y,w:4.35,h:0.88,valign:"middle"});
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 6 – PRESENT CONTINUOUS FORMULA
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,"004D40");
  hdr(s,"📐 Formula 2 – Present Continuous","00695C",C.gold);

  s.addShape(pres.ShapeType.roundRect,{x:0.5,y:1.15,w:9,h:0.85,fill:{color:"00897B"},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"PRONOUN",options:{bold:true,color:C.gold,fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"am/is/are",options:{bold:true,color:"B2EBF2",fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"VERB + -ing",options:{bold:true,color:"FFE082",fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"REST",options:{bold:true,color:"F48FB1",fontSize:16}},
  ],{x:0.7,y:1.18,w:8.6,h:0.78,valign:"middle",align:"center"});

  s.addShape(pres.ShapeType.roundRect,{x:0.5,y:2.1,w:9,h:0.5,fill:{color:"00695C"},line:{color:"80CBC4",pt:1},rectRadius:0.1});
  s.addText("I → am     |     He / She / It → is     |     You / We / They → are",
    {x:0.7,y:2.12,w:8.6,h:0.46,fontSize:14,bold:true,color:"B2EBF2",align:"center",valign:"middle"});

  const ex=[
    {pro:"I",    be:"am",  v:"eating",  r:"my lunch."},
    {pro:"She",  be:"is",  v:"singing", r:"a song."},
    {pro:"They", be:"are", v:"running", r:"in the park."},
    {pro:"He",   be:"is",  v:"watching",r:"TV right now."},
    {pro:"We",   be:"are", v:"learning",r:"English."},
    {pro:"You",  be:"are", v:"doing",   r:"great!"},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1, row=i%3;
    const x=0.35+col*4.9, y=2.72+row*0.88;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.68,h:0.76,fill:{color:"00796B"},line:{color:"4DB6AC",pt:1},rectRadius:0.1});
    s.addText([
      {text:e.pro+" ",options:{bold:true,color:C.gold,fontSize:15}},
      {text:e.be+" ",options:{bold:true,color:"B2EBF2",fontSize:15}},
      {text:e.v+" ",options:{bold:true,color:"FFE082",fontSize:15}},
      {text:e.r,options:{color:C.white,fontSize:13}},
    ],{x:x+0.12,y,w:4.44,h:0.76,valign:"middle"});
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 7 – OBJECT PRONOUN FORMULA
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,"FFF3E0");
  hdr(s,"📐 Formula 3 – Object Pronouns",C.orange,C.white);

  s.addShape(pres.ShapeType.roundRect,{x:0.5,y:1.15,w:9,h:0.78,fill:{color:C.orange},line:{color:C.gold,pt:2},rectRadius:0.15});
  s.addText([
    {text:"SUBJECT  +  VERB  +  ",options:{bold:true,color:C.white,fontSize:18}},
    {text:"OBJECT PRONOUN",options:{bold:true,color:C.gold,fontSize:18}},
  ],{x:0.7,y:1.18,w:8.6,h:0.72,valign:"middle",align:"center"});

  s.addText("Object pronouns come AFTER the verb.",
    {x:0.5,y:2.02,w:9,h:0.35,fontSize:14,bold:true,italic:true,color:C.dark,align:"center"});

  const pairs=[
    ["I see her.","She sees me.","We know them.","He helps us."],
    ["She loves him.","They hear you.","I watch it.","Do you like her?"],
  ];
  pairs.forEach((row,ri)=>{
    row.forEach((cell,ci)=>{
      const x=0.3+ci*2.37, y=2.47+ri*1.22;
      s.addShape(pres.ShapeType.roundRect,{x,y,w:2.25,h:1.0,fill:{color:"FFE0B2"},line:{color:C.orange,pt:1.5},rectRadius:0.12});
      s.addText(cell,{x:x+0.08,y,w:2.1,h:1.0,fontSize:14,bold:true,color:C.dark,align:"center",valign:"middle"});
    });
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 8 – POSSESSIVE PRONOUN FORMULA
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s,"FCE4EC");
  hdr(s,"📐 Formula 4 – Possessive Pronouns",C.rose,C.white);

  s.addShape(pres.ShapeType.roundRect,{x:0.5,y:1.15,w:9,h:0.78,fill:{color:C.rose},line:{color:C.gold,pt:2},rectRadius:0.15});
  s.addText([
    {text:"POSSESSIVE PRONOUN",options:{bold:true,color:C.gold,fontSize:18}},
    {text:"  +  NOUN  +  VERB …",options:{bold:true,color:C.white,fontSize:18}},
  ],{x:0.7,y:1.18,w:8.6,h:0.72,valign:"middle",align:"center"});

  s.addText("Possessive pronouns show who something BELONGS TO. They come BEFORE the noun.",
    {x:0.5,y:2.02,w:9,h:0.38,fontSize:13,bold:true,italic:true,color:C.dark,align:"center"});

  const pex=[
    ["My bag is blue.","Your book is here.","His dog runs fast."],
    ["Her dress is pretty.","Our school is big.","Their cat is sleeping."],
  ];
  pex.forEach((row,ri)=>{
    row.forEach((cell,ci)=>{
      const x=0.38+ci*3.12, y=2.52+ri*1.3;
      s.addShape(pres.ShapeType.roundRect,{x,y,w:3.0,h:1.1,fill:{color:"F8BBD9"},line:{color:C.rose,pt:1.5},rectRadius:0.12});
      s.addText(cell,{x:x+0.08,y,w:2.85,h:1.1,fontSize:14,bold:true,color:C.dark,align:"center",valign:"middle"});
    });
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// helper: conversation slides
// ════════════════════════════════════════════════════════════════════════════
const palettes=[
  {bg:"E8F5E9",banner:C.green},
  {bg:"E3F2FD",banner:C.cobalt},
  {bg:"FFF8E1",banner:C.amber},
  {bg:"F3E5F5",banner:C.purple},
];
function qSlide(idx,pairs){
  const p=palettes[idx%palettes.length];
  const s=pres.addSlide();
  bg(s,p.bg);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:0.95,fill:{color:p.banner},line:{color:p.banner}});
  s.addText(`💬 Conversation Questions  (Q${pairs[0].n} – Q${pairs[pairs.length-1].n})`,
    {x:0.25,y:0,w:9.5,h:0.95,fontSize:24,bold:true,color:C.white,valign:"middle"});
  pairs.forEach((p2,i)=>{
    const y=1.05+i*0.87;
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y,w:9.4,h:0.36,fill:{color:p.banner},line:{color:p.banner},rectRadius:0.08});
    s.addText(`Q${p2.n}:  ${p2.q}`,{x:0.45,y,w:9.1,h:0.36,fontSize:13,bold:true,color:C.white,valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y:y+0.38,w:9.4,h:0.36,fill:{color:"FFFFFF"},line:{color:p.banner,pt:1},rectRadius:0.08});
    s.addText(`➤  ${p2.a}`,{x:0.45,y:y+0.38,w:9.1,h:0.36,fontSize:12,color:C.dark,valign:"middle"});
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDES 9–12  CONVERSATION Q1–Q20
// ════════════════════════════════════════════════════════════════════════════
qSlide(0,[
  {n:1,q:"What is your name?",a:"My name is Alex. I am a student in Grade 3."},
  {n:2,q:"Where are you sitting right now?",a:"I am sitting at my desk near the window."},
  {n:3,q:"What does she have in her bag?",a:"She has a pencil, a ruler, and her book in her bag."},
  {n:4,q:"Is he your classmate?",a:"Yes, he is my classmate. He sits next to me every day."},
  {n:5,q:"What are they doing in the classroom?",a:"They are reading their books and listening to the teacher."},
]);
qSlide(1,[
  {n:6,q:"What do you like to eat for breakfast?",a:"I like to eat bread and eggs. It is my favourite breakfast."},
  {n:7,q:"Where is she going right now?",a:"She is going to the library. She wants to find a book."},
  {n:8,q:"What sport does he play every week?",a:"He plays football every weekend. It is his favourite sport."},
  {n:9,q:"Are we in the same class this year?",a:"Yes, we are in the same class. Our teacher is very kind."},
  {n:10,q:"What are you wearing today?",a:"I am wearing a blue shirt and black shoes today."},
]);
qSlide(2,[
  {n:11,q:"Does she speak English at home?",a:"Yes, she speaks a little English at home with her family."},
  {n:12,q:"What is it on the table?",a:"It is a red apple. It looks fresh and tasty."},
  {n:13,q:"Are they playing outside now?",a:"No, they are not playing outside. They are eating lunch."},
  {n:14,q:"What does your teacher look like?",a:"My teacher is tall. She has short hair and a warm smile."},
  {n:15,q:"What do we need for this lesson?",a:"We need our notebooks, pens, and our thinking brains!"},
]);
qSlide(3,[
  {n:16,q:"Is he reading or is he writing now?",a:"He is writing a sentence in his notebook right now."},
  {n:17,q:"What colour is her favourite dress?",a:"Her favourite dress is pink. She wears it on Sundays."},
  {n:18,q:"Do they always listen in class?",a:"Yes, they always listen carefully. They are good students."},
  {n:19,q:"What is your favourite subject and why?",a:"My favourite subject is English because it is very useful."},
  {n:20,q:"What are you learning about today in school?",a:"We are learning about pronouns. They help us speak better."},
]);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 13 – QUICK REVIEW SUMMARY
// ════════════════════════════════════════════════════════════════════════════
{
  const s=pres.addSlide();
  bg(s,C.navy);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.0,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("⭐ Quick Review – All Pronoun Types",{x:0.25,y:0,w:9.5,h:1.0,fontSize:30,bold:true,color:C.navy,valign:"middle"});

  const rows=[
    {type:"Subject Pronouns",  words:"I, You, He, She, It, We, They",  formula:"Pronoun + Verb + …",         ru:"Я, Ты, Он, Она, Оно, Мы, Они"},
    {type:"Object Pronouns",   words:"Me, You, Him, Her, It, Us, Them", formula:"Subject + Verb + Pronoun",   ru:"Меня, Его, Её, Нас, Их"},
    {type:"Possessive Pronouns",words:"My, Your, His, Her, Its, Our, Their",formula:"Pronoun + Noun + Verb",  ru:"Мой, Твой, Его, Её, Наш, Их"},
  ];
  rows.forEach((r,i)=>{
    const y=1.1+i*1.45;
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y,w:9.4,h:1.3,fill:{color:"0D47A1"},line:{color:"5C8AFF",pt:1},rectRadius:0.14});
    s.addText(r.type,{x:0.5,y:y+0.06,w:9,h:0.38,fontSize:16,bold:true,color:C.gold});
    s.addText(`Words:  ${r.words}`,{x:0.5,y:y+0.44,w:9,h:0.3,fontSize:12,color:"A5D6A7"});
    s.addText(`Formula: ${r.formula}   |   Russian: ${r.ru}`,{x:0.5,y:y+0.76,w:9,h:0.3,fontSize:11,color:"B0BEC5"});
  });
  foot(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 14 – WELL DONE
// ════════════════════════════════════════════════════════════════════════════
{
  const s=pres.addSlide();
  bg(s,C.navy);
  [[3.2,0.1,3.6,3.6,C.cobalt],[1,3.8,2,2,"0D47A1"],[7,3.5,2.5,2.5,C.cobalt]].forEach(
    ([x,y,w,h,c])=>s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));
  s.addText("🏆",{x:3.2,y:0.2,w:3.6,h:3.6,fontSize:80,align:"center",valign:"middle"});
  s.addText("Well Done!",{x:1,y:3.6,w:8,h:0.9,fontSize:46,bold:true,color:C.gold,align:"center"});
  s.addText("You know your pronouns now!",{x:1,y:4.52,w:8,h:0.42,fontSize:20,color:C.white,align:"center",italic:true});
}

// ── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_v2.pptx"})
  .then(()=>console.log("✅ DONE"))
  .catch(e=>console.error("❌",e));
Running Command

cd /home/daytona/workspace/pronouns-esl-ppt && node build2.js 2>&1

Running Command

# Convert to PDF and then to JPG slides cp /home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_v2.pptx /tmp/pv2.pptx && \ libreoffice --headless --convert-to pdf /tmp/pv2.pptx --outdir /tmp/ 2>&1 && \ mkdir -p /home/daytona/workspace/pronouns-esl-ppt/v2_jpg && \ pdftoppm -r 160 -jpeg /tmp/pv2.pdf /tmp/v2slide && \ cp /tmp/v2slide*.jpg /home/daytona/workspace/pronouns-esl-ppt/v2_jpg/ && \ cp /tmp/pv2.pdf /home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_v2.pdf && \ echo "ALL DONE" && ls -lh /home/daytona/workspace/pronouns-esl-ppt/v2_jpg/

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Model call limits exceeded: run limit (20/20)

Try again

Reading File
Reading File
All 14 slides are now fully displayed on your screen above. Here is a complete summary of every slide shown:

#Slide TitleColour Theme
1📝 PRONOUNS – Title PageDeep Blue + Gold
2💡 What Is a Pronoun?Purple + Red/Green boxes
3📋 Pronouns Table Part 1 – Subject & Object (with Russian)Navy Blue
4📋 Pronouns Table Part 2 – Possessive (with Russian)Orange
5📐 Formula 1 – Present SimpleGold + Dark Blue
6📐 Formula 2 – Present ContinuousDark Green
7📐 Formula 3 – Object PronounsOrange
8📐 Formula 4 – Possessive PronounsRose/Pink
9💬 Conversation Q1–Q5 + AnswersGreen
10💬 Conversation Q6–Q10 + AnswersBlue
11💬 Conversation Q11–Q15 + AnswersOrange
12💬 Conversation Q16–Q20 + AnswersPurple
13⭐ Quick Review – All Pronoun TypesYellow + Navy
14🏆 Well Done! Closing slideDeep Blue + Gold

To save any slide: Right-click on the image → "Save image as" → choose where to save it on your device. Each image saves as a JPG file you can open, print, or share instantly.

Pdf format please.I am unable to download above mentioned.

Running Command

ls -lh /home/daytona/workspace/pronouns-esl-ppt/Pronouns_ESL_v2.pdf

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
All 14 pages are now displayed completely on your screen above. Here is a quick tip to save them:

💡 How to save each page as an image:

  1. Long press (on phone) or right-click (on computer) on any slide image above
  2. Select "Save image" or "Download image"
  3. Each page saves as a JPG to your phone/computer gallery or downloads folder

💡 How to take a screenshot (fastest option):

  • Android phone: Press Volume Down + Power button together
  • iPhone: Press Side button + Volume Up together
  • Computer: Press Print Screen or use Snipping Tool
This way you get every page saved without needing any file download at all!

Please prepare a PPT presentation on topic " possessive pronouns" show list of pronouns with their Russian translation in a table form for ESL student 3rd grade .Also prepare easy 15 interesting logical and not funny conversation questions along with answers under them .Use only present simple and present continuous tense.Don't use past tense or past verbs like (-ed ) form or second form of verbs.Also mention in a formula way where and how to place pronouns in your sentences. Make it colorful .

Writing File

~/possessive-ppt/build.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Possessive Pronouns – ESL Grade 3";

// ── PALETTE ─────────────────────────────────────────────────────────────────
const C = {
  navy:"1A237E", cobalt:"1565C0", sky:"E3F2FD",
  gold:"FFD600", white:"FFFFFF", dark:"0D1B4B",
  teal:"00695C", orange:"E65100", green:"2E7D32",
  rose:"AD1457", purple:"6A1B9A", lime:"558B2F",
  amber:"FF6F00", cyan:"00838F", pink:"E91E8C",
  red:"C62828", lgreen:"1B5E20",
};

// ── HELPERS ─────────────────────────────────────────────────────────────────
const BG  = (s,c) => s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:5.625,fill:{color:c}});
const HDR = (s,t,bg,tc) => {
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.05,fill:{color:bg},line:{color:bg}});
  s.addText(t,{x:0.25,y:0,w:9.5,h:1.05,fontSize:27,bold:true,color:tc,valign:"middle"});
};
const FOOT = s => s.addText("Possessive Pronouns – ESL Grade 3  |  Present Simple & Present Continuous",
  {x:0,y:5.38,w:10,h:0.24,fontSize:7.5,color:"AAAAAA",align:"center"});
const BOX = (s,x,y,w,h,fill,line,r,txt,fs,tc,bold=false) => {
  s.addShape(pres.ShapeType.roundRect,{x,y,w,h,fill:{color:fill},line:{color:line,pt:1.5},rectRadius:r||0.1});
  if(txt!==undefined) s.addText(txt,{x:x+0.08,y,w:w-0.16,h,fontSize:fs||13,color:tc||C.dark,bold,valign:"middle",align:"center"});
};

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s, C.navy);
  // decorative circles
  [[7.5,-0.6,3.8,3.8,"1565C0"],[8.5,3.9,2.2,2.2,"0D47A1"],[-1,3.6,2.8,2.8,"1565C0"],
   [0.2,-0.5,1.8,1.8,"0D47A1"]].forEach(([x,y,w,h,c])=>
    s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));

  s.addText("✋ POSSESSIVE",{x:0.4,y:0.4,w:9.2,h:1.1,fontSize:52,bold:true,color:C.gold,align:"center"});
  s.addText("PRONOUNS",{x:0.4,y:1.45,w:9.2,h:1.1,fontSize:52,bold:true,color:C.white,align:"center"});
  s.addText("An ESL Lesson for Grade 3",{x:0.4,y:2.68,w:9.2,h:0.55,fontSize:22,color:"BBDEFB",align:"center",italic:true});
  s.addText("Present Simple  •  Present Continuous",{x:0.4,y:3.28,w:9.2,h:0.45,fontSize:17,color:C.gold,align:"center"});
  s.addShape(pres.ShapeType.rect,{x:2,y:3.82,w:6,h:0.07,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("Grade 3  •  ESL English",{x:1,y:4.0,w:8,h:0.36,fontSize:14,color:"90CAF9",align:"center"});
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 2 – WHAT ARE POSSESSIVE PRONOUNS?
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,"EDE7F6");
  HDR(s,"💡 What Are Possessive Pronouns?",C.purple,C.white);

  s.addText("A possessive pronoun shows who OWNS or BELONGS TO something.",
    {x:0.4,y:1.12,w:9.2,h:0.48,fontSize:17,bold:true,color:C.dark});

  // 3 coloured concept boxes
  const boxes=[
    {bg:"E8F5E9",border:"66BB6A",icon:"📚",txt:"They replace a noun + owner\n\"It is Maria's book\" → \"It is HER book\""},
    {bg:"E3F2FD",border:"42A5F5",icon:"🏠",txt:"They tell us WHO owns something\n\"This is our house.\" (not \"your\" or \"his\")"},
    {bg:"FFF3E0",border:"FFA726",icon:"🎯",txt:"They come BEFORE the noun they describe\n\"My bag is blue.\"   \"Their cat is sleeping.\""},
  ];
  boxes.forEach((b,i)=>{
    const y = 1.72 + i*1.1;
    s.addShape(pres.ShapeType.roundRect,{x:0.35,y,w:9.3,h:0.92,fill:{color:b.bg},line:{color:b.border,pt:1.5},rectRadius:0.12});
    s.addText(b.icon+"  "+b.txt,{x:0.55,y:y+0.04,w:9,h:0.84,fontSize:13.5,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 3 – POSSESSIVE PRONOUNS TABLE (English + Russian)
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,C.sky);
  HDR(s,"📋 Possessive Pronouns – English & Russian",C.navy,C.gold);

  // column setup
  const cx=[0.28,1.12,2.32,3.72,5.52];
  const cw=[0.82,1.18,1.38,1.78,4.22];
  const hLabels=["Word","Russian","Person","Formula","Example Sentence"];
  const hBgs=["FFD600","1565C0","1565C0","1565C0","1565C0"];
  const hTc=["0D1B4B","FFD600","FFD600","FFD600","FFD600"];

  hLabels.forEach((lbl,ci)=>{
    s.addShape(pres.ShapeType.rect,{x:cx[ci],y:1.1,w:cw[ci],h:0.34,fill:{color:hBgs[ci]},line:{color:hBgs[ci]}});
    s.addText(lbl,{x:cx[ci],y:1.1,w:cw[ci],h:0.34,fontSize:10.5,bold:true,color:hTc[ci],align:"center",valign:"middle"});
  });

  const rows=[
    {w:"My",   ru:"Мой / Моя / Моё",  p:"I (1st sing.)",  f:"MY + noun","ex":"My bag is red."},
    {w:"Your", ru:"Твой / Ваш",       p:"You (2nd)",       f:"YOUR + noun","ex":"Your book is here."},
    {w:"His",  ru:"Его",              p:"He (3rd m.)",     f:"HIS + noun","ex":"His dog is big."},
    {w:"Her",  ru:"Её",               p:"She (3rd f.)",    f:"HER + noun","ex":"Her dress is blue."},
    {w:"Its",  ru:"Его / Её (вещи)",  p:"It (3rd n.)",     f:"ITS + noun","ex":"Its tail is long."},
    {w:"Our",  ru:"Наш / Наша",       p:"We (1st pl.)",    f:"OUR + noun","ex":"Our class is fun."},
    {w:"Their",ru:"Их",               p:"They (3rd pl.)",  f:"THEIR + noun","ex":"Their house is big."},
  ];
  const wordColors=["C62828","1565C0","2E7D32","AD1457","6A1B9A","00695C","E65100"];
  rows.forEach((r,ri)=>{
    const y=1.46+ri*0.52;
    const rowBg=ri%2===0?"FFFFFF":"F0F4FF";
    cx.forEach((x,ci)=>s.addShape(pres.ShapeType.rect,{x,y,w:cw[ci],h:0.5,fill:{color:rowBg},line:{color:"CCCCCC",pt:0.5}}));
    s.addText(r.w,{x:cx[0]+0.03,y,w:cw[0]-0.06,h:0.5,fontSize:14,bold:true,color:wordColors[ri],valign:"middle",align:"center"});
    s.addText(r.ru,{x:cx[1]+0.03,y,w:cw[1]-0.06,h:0.5,fontSize:9,color:C.dark,valign:"middle"});
    s.addText(r.p, {x:cx[2]+0.03,y,w:cw[2]-0.06,h:0.5,fontSize:8.5,color:"555555",valign:"middle"});
    s.addText(r.f, {x:cx[3]+0.03,y,w:cw[3]-0.06,h:0.5,fontSize:9,bold:true,color:C.cobalt,valign:"middle"});
    s.addText(r.ex,{x:cx[4]+0.03,y,w:cw[4]-0.06,h:0.5,fontSize:10,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 4 – FORMULA 1: PRESENT SIMPLE
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,C.navy);
  HDR(s,"📐 Formula 1 – Present Simple with Possessive Pronouns","FFB300",C.navy);

  // Big formula box
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.12,w:9.2,h:0.82,fill:{color:"1565C0"},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"POSSESSIVE PRONOUN",options:{bold:true,color:C.gold,fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"NOUN",options:{bold:true,color:"A5D6A7",fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"VERB",options:{bold:true,color:"FFE082",fontSize:16}},
    {text:"  +  ",options:{color:C.white,fontSize:16}},
    {text:"REST",options:{bold:true,color:"F48FB1",fontSize:16}},
  ],{x:0.6,y:1.15,w:8.8,h:0.76,valign:"middle",align:"center"});

  const ex=[
    {pp:"My",    noun:"bag",    v:"is",     r:"red and small.",   bg:"B71C1C"},
    {pp:"Your",  noun:"book",   v:"is",     r:"on the desk.",     bg:"1A237E"},
    {pp:"His",   noun:"dog",    v:"runs",   r:"very fast.",       bg:"1B5E20"},
    {pp:"Her",   noun:"dress",  v:"is",     r:"beautiful.",       bg:"880E4F"},
    {pp:"Our",   noun:"school", v:"has",    r:"a big playground.",bg:"004D40"},
    {pp:"Their", noun:"cat",    v:"sleeps", r:"on the sofa.",     bg:"E65100"},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1, row=i%3;
    const x=0.35+col*4.88, y=2.08+row*1.1;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.72,h:0.9,fill:{color:e.bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.12});
    s.addText([
      {text:e.pp+" ",options:{bold:true,color:C.gold,fontSize:16}},
      {text:e.noun+" ",options:{bold:true,color:"A5D6A7",fontSize:16}},
      {text:e.v+" ",options:{bold:true,color:"FFE082",fontSize:16}},
      {text:e.r,options:{color:C.white,fontSize:13}},
    ],{x:x+0.14,y,w:4.44,h:0.9,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 5 – FORMULA 2: PRESENT CONTINUOUS
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,"004D40");
  HDR(s,"📐 Formula 2 – Present Continuous with Possessive Pronouns","00897B",C.gold);

  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.12,w:9.2,h:0.82,fill:{color:"00796B"},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"SUBJECT",options:{bold:true,color:"B2EBF2",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"am/is/are",options:{bold:true,color:C.gold,fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"VERB-ing",options:{bold:true,color:"FFE082",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"POSSESSIVE PRONOUN",options:{bold:true,color:"F48FB1",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"NOUN",options:{bold:true,color:"A5D6A7",fontSize:14}},
  ],{x:0.6,y:1.15,w:8.8,h:0.76,valign:"middle",align:"center"});

  // am/is/are rule
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:2.05,w:9.2,h:0.42,fill:{color:"00695C"},line:{color:"80CBC4",pt:1},rectRadius:0.08});
  s.addText("I → am   |   He/She/It → is   |   You/We/They → are",
    {x:0.6,y:2.07,w:8.8,h:0.38,fontSize:13,bold:true,color:"B2EBF2",align:"center",valign:"middle"});

  const ex=[
    {sub:"I",     be:"am",  v:"reading",  pp:"my",    noun:"book.",    bg:"00695C"},
    {sub:"She",   be:"is",  v:"wearing",  pp:"her",   noun:"coat.",    bg:"880E4F"},
    {sub:"They",  be:"are", v:"cleaning", pp:"their", noun:"room.",    bg:"1A237E"},
    {sub:"He",    be:"is",  v:"walking",  pp:"his",   noun:"dog.",     bg:"1B5E20"},
    {sub:"We",    be:"are", v:"doing",    pp:"our",   noun:"homework.",bg:"4A148C"},
    {sub:"You",   be:"are", v:"holding",  pp:"your",  noun:"pencil.",  bg:"B71C1C"},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1, row=i%3;
    const x=0.32+col*4.92, y=2.58+row*0.96;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.72,h:0.82,fill:{color:e.bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.1});
    s.addText([
      {text:e.sub+" ",options:{bold:true,color:"B2EBF2",fontSize:14}},
      {text:e.be+" ",options:{bold:true,color:C.gold,fontSize:14}},
      {text:e.v+" ",options:{bold:true,color:"FFE082",fontSize:14}},
      {text:e.pp+" ",options:{bold:true,color:"F48FB1",fontSize:14}},
      {text:e.noun,options:{color:C.white,fontSize:13}},
    ],{x:x+0.12,y,w:4.48,h:0.82,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 6 – FORMULA 3: QUESTIONS
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,"FFF8E1");
  HDR(s,"📐 Formula 3 – Questions with Possessive Pronouns","FF6F00",C.white);

  // Positive formula
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.12,w:9.2,h:0.68,fill:{color:C.amber},line:{color:"FFF176",pt:2},rectRadius:0.12});
  s.addText("✅ POSITIVE:   SUBJECT  +  VERB  +  POSSESSIVE PRONOUN  +  NOUN",
    {x:0.6,y:1.14,w:8.8,h:0.64,fontSize:13.5,bold:true,color:C.white,valign:"middle",align:"center"});

  // Negative formula
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.9,w:9.2,h:0.68,fill:{color:"E65100"},line:{color:"FFAB40",pt:2},rectRadius:0.12});
  s.addText("❌ NEGATIVE:   SUBJECT  +  do not/does not  +  VERB  +  POSSESSIVE PRONOUN  +  NOUN",
    {x:0.6,y:1.92,w:8.8,h:0.64,fontSize:12,bold:true,color:C.white,valign:"middle",align:"center"});

  // Question formula
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:2.68,w:9.2,h:0.68,fill:{color:C.teal},line:{color:"80CBC4",pt:2},rectRadius:0.12});
  s.addText("❓ QUESTION:   WHOSE  +  NOUN  +  is / are  +  (this/that) ?",
    {x:0.6,y:2.70,w:8.8,h:0.64,fontSize:13.5,bold:true,color:C.white,valign:"middle",align:"center"});

  const exs=[
    ["I like my teacher.",        "FFE082","1A237E"],
    ["She does not like her bag.", "FFE082","880E4F"],
    ["Whose book is this?  →  It is his book.","FFE082","1B5E20"],
    ["We love our school.",       "FFE082","4A148C"],
  ];
  exs.forEach(([txt,tc,bg],i)=>{
    const x=i<2?0.35:5.05, y=i<2?3.5+(i%2)*0.92:3.5+(i-2)*0.92;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.5,h:0.8,fill:{color:bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.1});
    s.addText(txt,{x:x+0.1,y,w:4.3,h:0.8,fontSize:12.5,color:tc,bold:true,valign:"middle",align:"center"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 7 – MY vs MINE (bonus)
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  BG(s,"FCE4EC");
  HDR(s,"💎 My / Mine – Her / Hers – Their / Theirs (Bonus!)",C.rose,C.white);

  s.addText("Adjective form (before noun) vs. Pronoun form (alone, after verb):",
    {x:0.4,y:1.12,w:9.2,h:0.4,fontSize:14,bold:true,color:C.dark});

  const rows=[
    {adj:"My",   pro:"Mine",   ex1:"My bag is blue.",      ex2:"That bag is mine."},
    {adj:"Your", pro:"Yours",  ex1:"Your pen is here.",    ex2:"This pen is yours."},
    {adj:"His",  pro:"His",    ex1:"His dog is big.",      ex2:"That dog is his."},
    {adj:"Her",  pro:"Hers",   ex1:"Her book is new.",     ex2:"This book is hers."},
    {adj:"Our",  pro:"Ours",   ex1:"Our class is fun.",    ex2:"This class is ours."},
    {adj:"Their",pro:"Theirs", ex1:"Their cat is orange.", ex2:"That cat is theirs."},
  ];
  const aBg=["FFCDD2","F8BBD9","E1BEE7","BBDEFB","C8E6C9","FFF9C4"];
  rows.forEach((r,ri)=>{
    const y=1.6+ri*0.64;
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y,w:1.5,h:0.56,fill:{color:aBg[ri]},line:{color:C.rose,pt:1},rectRadius:0.08});
    s.addText(r.adj,{x:0.3,y,w:1.5,h:0.56,fontSize:15,bold:true,color:C.rose,align:"center",valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:1.92,y,w:1.5,h:0.56,fill:{color:"F3E5F5"},line:{color:C.purple,pt:1},rectRadius:0.08});
    s.addText(r.pro,{x:1.92,y,w:1.5,h:0.56,fontSize:15,bold:true,color:C.purple,align:"center",valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:3.55,y,w:3.0,h:0.56,fill:{color:"FFF8E1"},line:{color:"FFA000",pt:1},rectRadius:0.08});
    s.addText(r.ex1,{x:3.65,y,w:2.8,h:0.56,fontSize:12,color:C.dark,valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:6.65,y,w:3.15,h:0.56,fill:{color:"E8F5E9"},line:{color:C.green,pt:1},rectRadius:0.08});
    s.addText(r.ex2,{x:6.75,y,w:2.95,h:0.56,fontSize:12,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// helper: conversation slides
// ════════════════════════════════════════════════════════════════════════════
const palettes=[
  {bg:"E8F5E9",ban:C.green},
  {bg:"E3F2FD",ban:C.cobalt},
  {bg:"FFF8E1",ban:C.amber},
];
function qSlide(pidx,pairs){
  const p=palettes[pidx%palettes.length];
  const s=pres.addSlide();
  BG(s,p.bg);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:0.95,fill:{color:p.ban},line:{color:p.ban}});
  s.addText(`💬 Conversation Questions  (Q${pairs[0].n}–Q${pairs[pairs.length-1].n})`,
    {x:0.25,y:0,w:9.5,h:0.95,fontSize:23,bold:true,color:C.white,valign:"middle"});
  pairs.forEach((p2,i)=>{
    const y=1.02+i*0.87;
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y,w:9.4,h:0.35,fill:{color:p.ban},line:{color:p.ban},rectRadius:0.08});
    s.addText(`Q${p2.n}: ${p2.q}`,{x:0.45,y,w:9.1,h:0.35,fontSize:13,bold:true,color:C.white,valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y:y+0.37,w:9.4,h:0.37,fill:{color:"FFFFFF"},line:{color:p.ban,pt:1},rectRadius:0.08});
    s.addText(`➤  ${p2.a}`,{x:0.45,y:y+0.37,w:9.1,h:0.37,fontSize:12,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDES 8–10 – CONVERSATION QUESTIONS Q1–Q15
// ════════════════════════════════════════════════════════════════════════════
qSlide(0,[
  {n:1, q:"What colour is your favourite bag?",
        a:"My favourite bag is dark blue. I carry it to school every day."},
  {n:2, q:"Does she always bring her lunch to school?",
        a:"Yes, she always brings her lunch. Her mother makes it every morning."},
  {n:3, q:"Is this his pencil or your pencil?",
        a:"That pencil is his. My pencil is the red one on the desk."},
  {n:4, q:"What is their teacher doing right now?",
        a:"Their teacher is writing on the board. She is explaining a new lesson."},
  {n:5, q:"Are you wearing your school uniform today?",
        a:"Yes, I am wearing my school uniform. It is clean and pressed."},
]);
qSlide(1,[
  {n:6, q:"Where is our classroom?",
        a:"Our classroom is on the second floor. It is next to the library."},
  {n:7, q:"What colour is her favourite dress?",
        a:"Her favourite dress is pink with white flowers on it."},
  {n:8, q:"Is the cat drinking its milk right now?",
        a:"Yes, the cat is drinking its milk. It looks very happy."},
  {n:9, q:"What do you keep in your school bag?",
        a:"I keep my books, my pencil box, and my water bottle in my bag."},
  {n:10,q:"Are they playing with their toys at home?",
        a:"No, they are not playing. They are doing their homework right now."},
]);
qSlide(2,[
  {n:11,q:"Whose book is on the teacher's table?",
        a:"That book is mine. I leave my book there every morning."},
  {n:12,q:"What sport does he play with his friends?",
        a:"He plays football with his friends every afternoon in the park."},
  {n:13,q:"Is she reading her favourite story book now?",
        a:"Yes, she is reading her favourite story book. It is very interesting."},
  {n:14,q:"What is our homework for today?",
        a:"Our homework is to write five sentences using possessive pronouns."},
  {n:15,q:"What are you learning in your English class today?",
        a:"We are learning about possessive pronouns in our English class today."},
]);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 11 – QUICK REVIEW TABLE
// ════════════════════════════════════════════════════════════════════════════
{
  const s=pres.addSlide();
  BG(s,C.navy);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.0,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("⭐ Quick Review – Possessive Pronouns",
    {x:0.25,y:0,w:9.5,h:1.0,fontSize:28,bold:true,color:C.navy,valign:"middle"});

  const rows=[
    {pp:"MY",    ru:"Мой/Моя",  use:"I own it",     f:"My + noun + verb",   ex:"My cat is cute."},
    {pp:"YOUR",  ru:"Твой/Ваш", use:"You own it",   f:"Your + noun + verb", ex:"Your turn is next."},
    {pp:"HIS",   ru:"Его",      use:"He owns it",   f:"His + noun + verb",  ex:"His bike is fast."},
    {pp:"HER",   ru:"Её",       use:"She owns it",  f:"Her + noun + verb",  ex:"Her hat is big."},
    {pp:"ITS",   ru:"Его/Её",   use:"It owns it",   f:"Its + noun + verb",  ex:"Its fur is soft."},
    {pp:"OUR",   ru:"Наш/Наша", use:"We own it",    f:"Our + noun + verb",  ex:"Our team wins."},
    {pp:"THEIR", ru:"Их",       use:"They own it",  f:"Their + noun + verb",ex:"Their home is warm."},
  ];
  const ppBg=["B71C1C","1A237E","1B5E20","880E4F","4A148C","004D40","E65100"];
  rows.forEach((r,ri)=>{
    const y=1.07+ri*0.62;
    s.addShape(pres.ShapeType.roundRect,{x:0.28,y,w:1.02,h:0.54,fill:{color:ppBg[ri]},line:{color:"FFFFFF",pt:0.5},rectRadius:0.08});
    s.addText(r.pp,{x:0.28,y,w:1.02,h:0.54,fontSize:13,bold:true,color:C.gold,align:"center",valign:"middle"});
    s.addShape(pres.ShapeType.rect,{x:1.32,y,w:1.35,h:0.54,fill:{color:"0D47A1"},line:{color:"CCCCCC",pt:0.3}});
    s.addText(r.ru,{x:1.34,y,w:1.31,h:0.54,fontSize:10,color:"B2EBF2",valign:"middle"});
    s.addShape(pres.ShapeType.rect,{x:2.69,y,w:1.55,h:0.54,fill:{color:"0D47A1"},line:{color:"CCCCCC",pt:0.3}});
    s.addText(r.use,{x:2.71,y,w:1.51,h:0.54,fontSize:9.5,color:"A5D6A7",valign:"middle"});
    s.addShape(pres.ShapeType.rect,{x:4.26,y,w:2.52,h:0.54,fill:{color:"0D47A1"},line:{color:"CCCCCC",pt:0.3}});
    s.addText(r.f,{x:4.28,y,w:2.48,h:0.54,fontSize:9.5,color:"FFE082",valign:"middle"});
    s.addShape(pres.ShapeType.rect,{x:6.8,y,w:3.0,h:0.54,fill:{color:"0D47A1"},line:{color:"CCCCCC",pt:0.3}});
    s.addText(r.ex,{x:6.82,y,w:2.96,h:0.54,fontSize:9.5,color:C.white,valign:"middle"});
  });
  FOOT(s);
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 12 – WELL DONE
// ════════════════════════════════════════════════════════════════════════════
{
  const s=pres.addSlide();
  BG(s,C.navy);
  [[3.0,0.0,4.0,4.0,"1565C0"],[0.5,3.5,2.5,2.5,"0D47A1"],[7.0,3.2,3.0,3.0,"1565C0"]].forEach(
    ([x,y,w,h,c])=>s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));
  s.addText("🎉",{x:3.0,y:0.1,w:4.0,h:4.0,fontSize:80,align:"center",valign:"middle"});
  s.addText("Well Done!",{x:0.5,y:3.75,w:9,h:0.95,fontSize:48,bold:true,color:C.gold,align:"center"});
  s.addText("You know your possessive pronouns now!",
    {x:0.5,y:4.68,w:9,h:0.42,fontSize:18,color:C.white,align:"center",italic:true});
}

// ── WRITE ────────────────────────────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/possessive-ppt/Possessive_Pronouns_ESL_Grade3.pptx"})
  .then(()=>console.log("✅ DONE")).catch(e=>console.error("❌",e));
!

Failed to create session: bad request: failed to resolve container IP after 3 attempts: no IP address found. Is the Sandbox started?

We encountered an error while processing your request. Please try again or reach out to us for help.

Try again

Running Command

mkdir -p /home/daytona/workspace/possessive-ppt && echo "ready"

Writing File

~/possessive-ppt/build.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Possessive Pronouns – ESL Grade 3";

const C = {
  navy:"1A237E", cobalt:"1565C0", sky:"E3F2FD",
  gold:"FFD600", white:"FFFFFF", dark:"0D1B4B",
  teal:"00695C", orange:"E65100", green:"2E7D32",
  rose:"AD1457", purple:"6A1B9A", amber:"FF6F00",
};

const BG  = (s,c) => s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:5.625,fill:{color:c}});
const HDR = (s,t,bg,tc) => {
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.05,fill:{color:bg},line:{color:bg}});
  s.addText(t,{x:0.25,y:0,w:9.5,h:1.05,fontSize:26,bold:true,color:tc,valign:"middle"});
};
const FOOT = s => s.addText("Possessive Pronouns – ESL Grade 3  |  Present Simple & Present Continuous",
  {x:0,y:5.38,w:10,h:0.24,fontSize:7.5,color:"AAAAAA",align:"center"});

// ── SLIDE 1: TITLE ──────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,C.navy);
  [[7.4,-0.7,3.8,3.8,"1565C0"],[8.6,3.8,2.2,2.2,"0D47A1"],[-1,3.5,2.8,2.8,"1565C0"]].forEach(
    ([x,y,w,h,c])=>s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));
  s.addText("✋ POSSESSIVE",{x:0.4,y:0.4,w:9.2,h:1.1,fontSize:50,bold:true,color:C.gold,align:"center"});
  s.addText("PRONOUNS",{x:0.4,y:1.5,w:9.2,h:1.05,fontSize:50,bold:true,color:C.white,align:"center"});
  s.addText("An ESL Lesson for Grade 3",{x:0.4,y:2.68,w:9.2,h:0.52,fontSize:21,color:"BBDEFB",align:"center",italic:true});
  s.addText("Present Simple  •  Present Continuous",{x:0.4,y:3.28,w:9.2,h:0.44,fontSize:17,color:C.gold,align:"center"});
  s.addShape(pres.ShapeType.rect,{x:2,y:3.82,w:6,h:0.07,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("Grade 3  •  ESL English",{x:1,y:4.02,w:8,h:0.35,fontSize:14,color:"90CAF9",align:"center"});
}

// ── SLIDE 2: WHAT ARE POSSESSIVE PRONOUNS? ──────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,"EDE7F6");
  HDR(s,"💡 What Are Possessive Pronouns?",C.purple,C.white);
  s.addText("A possessive pronoun shows who OWNS something.",
    {x:0.4,y:1.12,w:9.2,h:0.46,fontSize:17,bold:true,color:C.dark});
  const boxes=[
    {bg:"E8F5E9",bc:"66BB6A",txt:"📚  They REPLACE a noun + owner\n     'Maria's book' → 'HER book'"},
    {bg:"E3F2FD",bc:"42A5F5",txt:"🏠  They tell us WHO owns something\n     'This is OUR house.' (not your or his)"},
    {bg:"FFF3E0",bc:"FFA726",txt:"🎯  They come BEFORE the noun\n     'My bag is blue.'   'Their cat is sleeping.'"},
  ];
  boxes.forEach((b,i)=>{
    const y=1.68+i*1.1;
    s.addShape(pres.ShapeType.roundRect,{x:0.35,y,w:9.3,h:0.92,fill:{color:b.bg},line:{color:b.bc,pt:1.5},rectRadius:0.12});
    s.addText(b.txt,{x:0.55,y:y+0.04,w:9,h:0.84,fontSize:13.5,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ── SLIDE 3: PRONOUNS TABLE ──────────────────────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,C.sky);
  HDR(s,"📋 Possessive Pronouns – English & Russian",C.navy,C.gold);
  const cx=[0.28,1.12,2.38,3.72,5.55];
  const cw=[0.82,1.24,1.32,1.81,4.18];
  const hLbls=["Word","Russian (RU)","Person","Formula","Example Sentence"];
  const hBg=["FFD600","1565C0","1565C0","1565C0","1565C0"];
  const hTc=["0D1B4B","FFD600","FFD600","FFD600","FFD600"];
  hLbls.forEach((l,ci)=>{
    s.addShape(pres.ShapeType.rect,{x:cx[ci],y:1.1,w:cw[ci],h:0.34,fill:{color:hBg[ci]},line:{color:hBg[ci]}});
    s.addText(l,{x:cx[ci],y:1.1,w:cw[ci],h:0.34,fontSize:10,bold:true,color:hTc[ci],align:"center",valign:"middle"});
  });
  const rows=[
    ["My",   "Мой / Моя / Моё", "I  (1st sg.)", "MY + noun",    "My bag is red."],
    ["Your", "Твой / Ваш",      "You (2nd)",    "YOUR + noun",  "Your book is here."],
    ["His",  "Его",             "He  (3rd m.)", "HIS + noun",   "His dog is big."],
    ["Her",  "Её",              "She (3rd f.)", "HER + noun",   "Her dress is blue."],
    ["Its",  "Его / Её",        "It  (3rd n.)", "ITS + noun",   "Its tail is long."],
    ["Our",  "Наш / Наша",      "We  (1st pl.)","OUR + noun",   "Our class is fun."],
    ["Their","Их",              "They (3rd pl.)","THEIR + noun", "Their house is big."],
  ];
  const wc=["C62828","1565C0","2E7D32","AD1457","6A1B9A","00695C","E65100"];
  rows.forEach((r,ri)=>{
    const y=1.46+ri*0.52;
    const rb=ri%2===0?"FFFFFF":"F0F4FF";
    cx.forEach((x,ci)=>s.addShape(pres.ShapeType.rect,{x,y,w:cw[ci],h:0.5,fill:{color:rb},line:{color:"CCCCCC",pt:0.5}}));
    s.addText(r[0],{x:cx[0]+0.03,y,w:cw[0]-0.06,h:0.5,fontSize:14,bold:true,color:wc[ri],valign:"middle",align:"center"});
    s.addText(r[1],{x:cx[1]+0.03,y,w:cw[1]-0.06,h:0.5,fontSize:9,  color:C.dark,valign:"middle"});
    s.addText(r[2],{x:cx[2]+0.03,y,w:cw[2]-0.06,h:0.5,fontSize:8.5,color:"555555",valign:"middle"});
    s.addText(r[3],{x:cx[3]+0.03,y,w:cw[3]-0.06,h:0.5,fontSize:9,  bold:true,color:C.cobalt,valign:"middle"});
    s.addText(r[4],{x:cx[4]+0.03,y,w:cw[4]-0.06,h:0.5,fontSize:10, color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ── SLIDE 4: FORMULA 1 – PRESENT SIMPLE ────────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,C.navy);
  HDR(s,"📐 Formula 1 – Present Simple with Possessive Pronouns","FFB300",C.navy);
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.12,w:9.2,h:0.82,fill:{color:"1565C0"},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"POSSESSIVE PRONOUN",options:{bold:true,color:C.gold,fontSize:15}},
    {text:"  +  ",options:{color:C.white,fontSize:15}},
    {text:"NOUN",options:{bold:true,color:"A5D6A7",fontSize:15}},
    {text:"  +  ",options:{color:C.white,fontSize:15}},
    {text:"VERB",options:{bold:true,color:"FFE082",fontSize:15}},
    {text:"  +  REST OF SENTENCE",options:{color:C.white,fontSize:15}},
  ],{x:0.6,y:1.15,w:8.8,h:0.76,valign:"middle",align:"center"});
  const ex=[
    {pp:"My",    n:"bag",    v:"is",    r:"red and small.",     bg:"B71C1C"},
    {pp:"Your",  n:"book",   v:"is",    r:"on the desk.",       bg:"1A237E"},
    {pp:"His",   n:"dog",    v:"runs",  r:"very fast.",         bg:"1B5E20"},
    {pp:"Her",   n:"dress",  v:"is",    r:"beautiful.",         bg:"880E4F"},
    {pp:"Our",   n:"school", v:"has",   r:"a big playground.",  bg:"004D40"},
    {pp:"Their", n:"cat",    v:"sleeps",r:"on the sofa.",       bg:"E65100"},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1,row=i%3,x=0.35+col*4.88,y=2.08+row*1.1;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.72,h:0.9,fill:{color:e.bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.12});
    s.addText([
      {text:e.pp+" ",options:{bold:true,color:C.gold,fontSize:15}},
      {text:e.n+" ",options:{bold:true,color:"A5D6A7",fontSize:15}},
      {text:e.v+" ",options:{bold:true,color:"FFE082",fontSize:15}},
      {text:e.r,options:{color:C.white,fontSize:13}},
    ],{x:x+0.14,y,w:4.44,h:0.9,valign:"middle"});
  });
  FOOT(s);
}

// ── SLIDE 5: FORMULA 2 – PRESENT CONTINUOUS ─────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,"004D40");
  HDR(s,"📐 Formula 2 – Present Continuous with Possessive Pronouns","00897B",C.gold);
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:1.12,w:9.2,h:0.8,fill:{color:"00796B"},line:{color:C.gold,pt:2.5},rectRadius:0.15});
  s.addText([
    {text:"SUBJECT",options:{bold:true,color:"B2EBF2",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"am/is/are",options:{bold:true,color:C.gold,fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"VERB-ing",options:{bold:true,color:"FFE082",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"POSSESSIVE PRONOUN",options:{bold:true,color:"F48FB1",fontSize:14}},
    {text:" + ",options:{color:C.white,fontSize:14}},
    {text:"NOUN",options:{bold:true,color:"A5D6A7",fontSize:14}},
  ],{x:0.6,y:1.15,w:8.8,h:0.74,valign:"middle",align:"center"});
  s.addShape(pres.ShapeType.roundRect,{x:0.4,y:2.04,w:9.2,h:0.42,fill:{color:"00695C"},line:{color:"80CBC4",pt:1},rectRadius:0.08});
  s.addText("I → am   |   He / She / It → is   |   You / We / They → are",
    {x:0.6,y:2.06,w:8.8,h:0.38,fontSize:13,bold:true,color:"B2EBF2",align:"center",valign:"middle"});
  const ex=[
    {sub:"I",    be:"am",  v:"reading", pp:"my",   n:"book.",     bg:"00695C"},
    {sub:"She",  be:"is",  v:"wearing", pp:"her",  n:"coat.",     bg:"880E4F"},
    {sub:"They", be:"are", v:"cleaning",pp:"their",n:"room.",     bg:"1A237E"},
    {sub:"He",   be:"is",  v:"walking", pp:"his",  n:"dog.",      bg:"1B5E20"},
    {sub:"We",   be:"are", v:"doing",   pp:"our",  n:"homework.", bg:"4A148C"},
    {sub:"You",  be:"are", v:"holding", pp:"your", n:"pencil.",   bg:"B71C1C"},
  ];
  ex.forEach((e,i)=>{
    const col=i<3?0:1,row=i%3,x=0.32+col*4.92,y=2.57+row*0.97;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.72,h:0.83,fill:{color:e.bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.1});
    s.addText([
      {text:e.sub+" ",options:{bold:true,color:"B2EBF2",fontSize:14}},
      {text:e.be+" ",options:{bold:true,color:C.gold,fontSize:14}},
      {text:e.v+" ",options:{bold:true,color:"FFE082",fontSize:14}},
      {text:e.pp+" ",options:{bold:true,color:"F48FB1",fontSize:14}},
      {text:e.n,options:{color:C.white,fontSize:13}},
    ],{x:x+0.12,y,w:4.48,h:0.83,valign:"middle"});
  });
  FOOT(s);
}

// ── SLIDE 6: FORMULA 3 – QUESTIONS ──────────────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,"FFF8E1");
  HDR(s,"📐 Formula 3 – Questions & Negative Sentences","FF6F00",C.white);
  [
    {bg:"FF6F00",bc:"FFF176",txt:"✅  POSITIVE:   SUBJECT  +  VERB  +  POSSESSIVE PRONOUN  +  NOUN"},
    {bg:"E65100",bc:"FFAB40",txt:"❌  NEGATIVE:   SUBJECT  +  do not / does not  +  VERB  +  POSSESSIVE PRONOUN  +  NOUN"},
    {bg:"00695C",bc:"80CBC4",txt:"❓  QUESTION:   WHOSE  +  NOUN  +  is / are  +  this / that ?"},
  ].forEach((b,i)=>{
    const y=1.12+i*0.88;
    s.addShape(pres.ShapeType.roundRect,{x:0.4,y,w:9.2,h:0.72,fill:{color:b.bg},line:{color:b.bc,pt:2},rectRadius:0.12});
    s.addText(b.txt,{x:0.6,y:y+0.02,w:8.8,h:0.68,fontSize:13,bold:true,color:C.white,valign:"middle"});
  });
  const exs=[
    ["I like my teacher.",              "FFE082","1A237E"],
    ["She does not like her new bag.",  "FFE082","880E4F"],
    ["Whose book is this?  →  It is his book.", "FFE082","1B5E20"],
    ["We love our school very much.",   "FFE082","4A148C"],
  ];
  exs.forEach(([txt,tc,bg],i)=>{
    const x=i<2?0.35:5.1,y=3.82+(i%2)*1.02;
    s.addShape(pres.ShapeType.roundRect,{x,y,w:4.6,h:0.82,fill:{color:bg},line:{color:"FFFFFF",pt:0.5},rectRadius:0.1});
    s.addText(txt,{x:x+0.1,y,w:4.4,h:0.82,fontSize:12.5,color:tc,bold:true,valign:"middle",align:"center"});
  });
  FOOT(s);
}

// ── SLIDE 7: MY vs MINE bonus ────────────────────────────────────────────────
{
  const s = pres.addSlide();
  BG(s,"FCE4EC");
  HDR(s,"💎 Adjective Form vs Pronoun Form  (Bonus!)",C.rose,C.white);
  s.addText("Adjective form comes BEFORE a noun.  Pronoun form stands ALONE after a verb.",
    {x:0.4,y:1.1,w:9.2,h:0.4,fontSize:13.5,bold:true,color:C.dark});
  // column headers
  ["Adjective Form","Pronoun Form","Example – Adjective","Example – Pronoun"].forEach((h,ci)=>{
    const xs=[0.28,2.08,3.88,6.6];
    const ws=[1.78,1.78,2.68,3.08];
    s.addShape(pres.ShapeType.rect,{x:xs[ci],y:1.56,w:ws[ci],h:0.34,fill:{color:C.rose},line:{color:C.rose}});
    s.addText(h,{x:xs[ci],y:1.56,w:ws[ci],h:0.34,fontSize:9.5,bold:true,color:C.white,align:"center",valign:"middle"});
  });
  const rows2=[
    ["My","Mine","My bag is blue.","That bag is mine."],
    ["Your","Yours","Your pen is here.","This pen is yours."],
    ["His","His","His dog is big.","That dog is his."],
    ["Her","Hers","Her book is new.","This book is hers."],
    ["Our","Ours","Our class is fun.","This class is ours."],
    ["Their","Theirs","Their cat is orange.","That cat is theirs."],
  ];
  const rb2=["FFCDD2","F8BBD9","E1BEE7","BBDEFB","C8E6C9","FFF9C4"];
  rows2.forEach((r,ri)=>{
    const y=1.92+ri*0.56;
    const xs=[0.28,2.08,3.88,6.6];
    const ws=[1.78,1.78,2.68,3.08];
    xs.forEach((x,ci)=>s.addShape(pres.ShapeType.rect,{x,y,w:ws[ci],h:0.52,fill:{color:ri%2===0?"FFFFFF":rb2[ri]},line:{color:"DDDDDD",pt:0.5}}));
    s.addText(r[0],{x:xs[0]+0.04,y,w:ws[0]-0.08,h:0.52,fontSize:14,bold:true,color:C.rose,align:"center",valign:"middle"});
    s.addText(r[1],{x:xs[1]+0.04,y,w:ws[1]-0.08,h:0.52,fontSize:14,bold:true,color:C.purple,align:"center",valign:"middle"});
    s.addText(r[2],{x:xs[2]+0.04,y,w:ws[2]-0.08,h:0.52,fontSize:11,color:C.dark,valign:"middle"});
    s.addText(r[3],{x:xs[3]+0.04,y,w:ws[3]-0.08,h:0.52,fontSize:11,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ── CONVERSATION SLIDE HELPER ────────────────────────────────────────────────
const PAL=[
  {bg:"E8F5E9",ban:"2E7D32"},
  {bg:"E3F2FD",ban:"1565C0"},
  {bg:"FFF8E1",ban:"FF6F00"},
];
function qSlide(pi,pairs){
  const p=PAL[pi%3];
  const s=pres.addSlide();
  BG(s,p.bg);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:0.95,fill:{color:p.ban},line:{color:p.ban}});
  s.addText(`💬 Conversation Questions  (Q${pairs[0].n}–Q${pairs[pairs.length-1].n})`,
    {x:0.25,y:0,w:9.5,h:0.95,fontSize:22,bold:true,color:C.white,valign:"middle"});
  pairs.forEach((p2,i)=>{
    const y=1.02+i*0.87;
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y,w:9.4,h:0.35,fill:{color:p.ban},line:{color:p.ban},rectRadius:0.08});
    s.addText(`Q${p2.n}: ${p2.q}`,{x:0.45,y,w:9.1,h:0.35,fontSize:13,bold:true,color:C.white,valign:"middle"});
    s.addShape(pres.ShapeType.roundRect,{x:0.3,y:y+0.37,w:9.4,h:0.37,fill:{color:"FFFFFF"},line:{color:p.ban,pt:1},rectRadius:0.08});
    s.addText(`➤  ${p2.a}`,{x:0.45,y:y+0.37,w:9.1,h:0.37,fontSize:12,color:C.dark,valign:"middle"});
  });
  FOOT(s);
}

// ── SLIDES 8–10: Q1–Q15 ─────────────────────────────────────────────────────
qSlide(0,[
  {n:1, q:"What colour is your favourite school bag?",
        a:"My favourite school bag is dark blue. I carry it every day."},
  {n:2, q:"Does she always bring her lunch to school?",
        a:"Yes, she always brings her lunch. Her mother makes it every morning."},
  {n:3, q:"Is this his pencil or your pencil?",
        a:"That pencil is his. My pencil is the red one on the desk."},
  {n:4, q:"What are their parents doing right now?",
        a:"Their parents are cooking dinner. Their house smells very nice."},
  {n:5, q:"Are you wearing your school uniform today?",
        a:"Yes, I am wearing my school uniform. It is clean and tidy."},
]);
qSlide(1,[
  {n:6, q:"Where is our classroom in the school?",
        a:"Our classroom is on the second floor, next to the library."},
  {n:7, q:"What colour is her favourite dress?",
        a:"Her favourite dress is pink with small white flowers on it."},
  {n:8, q:"Is the kitten drinking its milk right now?",
        a:"Yes, the kitten is drinking its milk. It looks very happy."},
  {n:9, q:"What do you keep inside your school bag?",
        a:"I keep my books, my pencil box, and my water bottle in my bag."},
  {n:10,q:"Are the children playing with their toys at home?",
        a:"No, they are not playing. They are doing their homework right now."},
]);
qSlide(2,[
  {n:11,q:"Whose book is lying on the teacher's table?",
        a:"That book is mine. I always leave my book there in the morning."},
  {n:12,q:"What sport does he play with his friends after school?",
        a:"He plays football with his friends every afternoon in the park."},
  {n:13,q:"Is she reading her favourite story book right now?",
        a:"Yes, she is reading her favourite story book. It is very interesting."},
  {n:14,q:"What is our homework assignment for today?",
        a:"Our homework is to write five sentences using possessive pronouns."},
  {n:15,q:"What are you learning in your English class today?",
        a:"We are learning about possessive pronouns in our English class today."},
]);

// ── SLIDE 11: QUICK REVIEW ───────────────────────────────────────────────────
{
  const s=pres.addSlide();
  BG(s,C.navy);
  s.addShape(pres.ShapeType.rect,{x:0,y:0,w:10,h:1.0,fill:{color:C.gold},line:{color:C.gold}});
  s.addText("⭐ Quick Review – Possessive Pronouns",
    {x:0.25,y:0,w:9.5,h:1.0,fontSize:28,bold:true,color:C.navy,valign:"middle"});
  const rows=[
    ["MY",    "Мой/Моя/Моё","I own it",    "My + noun + verb",    "My cat is cute."],
    ["YOUR",  "Твой/Ваш",   "You own it",  "Your + noun + verb",  "Your turn is next."],
    ["HIS",   "Его",        "He owns it",  "His + noun + verb",   "His bike is fast."],
    ["HER",   "Её",         "She owns it", "Her + noun + verb",   "Her hat is big."],
    ["ITS",   "Его/Её",     "It owns it",  "Its + noun + verb",   "Its fur is soft."],
    ["OUR",   "Наш/Наша",   "We own it",   "Our + noun + verb",   "Our team wins."],
    ["THEIR", "Их",         "They own it", "Their + noun + verb", "Their home is warm."],
  ];
  const ppBg=["B71C1C","1A237E","1B5E20","880E4F","4A148C","004D40","E65100"];
  rows.forEach((r,ri)=>{
    const y=1.07+ri*0.62;
    s.addShape(pres.ShapeType.roundRect,{x:0.28,y,w:1.02,h:0.54,fill:{color:ppBg[ri]},line:{color:"FFFFFF",pt:0.5},rectRadius:0.08});
    s.addText(r[0],{x:0.28,y,w:1.02,h:0.54,fontSize:13,bold:true,color:C.gold,align:"center",valign:"middle"});
    [[1.32,1.38,"B2EBF2"],[2.72,1.52,"A5D6A7"],[4.26,2.52,"FFE082"],[6.8,3.0,C.white]].forEach(([x,w,tc],ci)=>{
      s.addShape(pres.ShapeType.rect,{x,y,w,h:0.54,fill:{color:"0D47A1"},line:{color:"CCCCCC",pt:0.3}});
      s.addText(r[ci+1],{x:x+0.04,y,w:w-0.08,h:0.54,fontSize:9.5,color:tc,valign:"middle"});
    });
  });
  FOOT(s);
}

// ── SLIDE 12: WELL DONE ──────────────────────────────────────────────────────
{
  const s=pres.addSlide();
  BG(s,C.navy);
  [[3.0,0.0,4.0,4.0,"1565C0"],[0.5,3.5,2.5,2.5,"0D47A1"],[7.0,3.2,3.0,3.0,"1565C0"]].forEach(
    ([x,y,w,h,c])=>s.addShape(pres.ShapeType.ellipse,{x,y,w,h,fill:{color:c},line:{color:c}}));
  s.addText("🎉",{x:3.0,y:0.1,w:4.0,h:4.0,fontSize:80,align:"center",valign:"middle"});
  s.addText("Well Done!",{x:0.5,y:3.75,w:9,h:0.95,fontSize:48,bold:true,color:C.gold,align:"center"});
  s.addText("You know your possessive pronouns now!",
    {x:0.5,y:4.68,w:9,h:0.42,fontSize:18,color:C.white,align:"center",italic:true});
}

// ── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/possessive-ppt/Possessive_Pronouns_ESL_Grade3.pptx"})
  .then(()=>console.log("DONE")).catch(e=>console.error("ERR",e));
Running Command

cd /home/daytona/workspace/possessive-ppt && node build.js 2>&1

Running Command

cp /home/daytona/workspace/possessive-ppt/Possessive_Pronouns_ESL_Grade3.pptx /tmp/pp.pptx && \ libreoffice --headless --convert-to pdf /tmp/pp.pptx --outdir /tmp/ 2>&1 && \ mkdir -p /home/daytona/workspace/possessive-ppt/slides && \ pdftoppm -r 160 -jpeg /tmp/pp.pdf /tmp/ppslide && \ cp /tmp/ppslide*.jpg /home/daytona/workspace/possessive-ppt/slides/ && \ cp /tmp/pp.pdf /home/daytona/workspace/possessive-ppt/Possessive_Pronouns_ESL_Grade3.pdf && \ echo "ALL DONE" && ls -lh /home/daytona/workspace/possessive-ppt/slides/

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
All 12 slides are displayed above. Here is a full summary of the presentation:

#SlideColour Theme
1✋ POSSESSIVE PRONOUNS – TitleDeep Blue + Gold
2💡 What Are Possessive Pronouns?Purple + 3 concept boxes
3📋 Full Table: English + Russian + Formula + ExampleNavy Blue
4📐 Formula 1 – Present SimpleGold + 6 colourful example boxes
5📐 Formula 2 – Present ContinuousDark Green
6📐 Formula 3 – Questions & NegativesOrange + Teal
7💎 Adjective Form vs Pronoun Form (My/Mine etc.)Rose/Pink
8💬 Questions Q1–Q5 + AnswersGreen
9💬 Questions Q6–Q10 + AnswersBlue
10💬 Questions Q11–Q15 + AnswersOrange
11⭐ Quick Review Table (all 7 pronouns)Gold + Navy
12🎉 Well Done! Closing slideDeep Blue + Gold

To save any slide: Long press on phone → Save image, or right-click on computer → Save image as. The emoji on the closing slide (🎉) renders as a box in some PDF converters but displays correctly in PowerPoint.

Retry I am waiting

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.