i want images related to matter i gonna upload
. Introduction Glass ionomer cements (GICs) are widely used in restorative dentistry due to their fluoride release and chemical adhesion to dental tissues [1]. GICs offer advantages, such as sustained fluoride release, biocompatibility, esthetic tooth-like appearance, and thermal compatibility with tooth structure [1, 2]. However, their application is limited by low mechanical strength, moisture sensitivity during setting, and poor wear resistance, restricting their use to low-stress clinical areas [2, 3]. To address these shortcomings, several materials have been incorporated into GICs to improve their physical performance [4, 5]. Resin-modified GICs (RMGICs), developed through the addition of resin monomers, show enhanced diametral tensile, flexural, and compressive strength and allow light-curing, providing improved handling and control during placement [6, 7]. The inclusion of resin shortens the setting duration, decreases sensitivity to moisture, provides longer working time, and improves both translucency and overall esthetics [7, 8]. In restorative dentistry, preventing bacterial colonization after caries removal is critical for restoration longevity. Incorporating antibacterial agents into restorative materials helps inhibit bacterial growth and penetration, thereby reducing the risk of recurrent caries [9, 10]. Although, GICs exhibit antibacterial effects attributed to fluoride release and low initial pH, they may not provide sufficient long-term protection against cariogenic bacteria, potentially leading to secondary caries and restoration failure [11]. Consequently, enhancing the antibacterial properties of GICs remains a focus of ongoing research to improve their clinical performance and durability. Zinc oxide (ZnO), known for its antimicrobial properties, is commonly used in dental materials [10, 12]. It is affordable, stable, and biocompatible [10]. Recently, ZnO nanoparticles (ZnO NPs) have gained popularity due to their enhanced antibacterial efficacy [10]. Due to their small size, NPs penetrate dentinal tubules more effectively than larger particles [10]. ZnO NPs show significant antibacterial activity against S. mutans and Lactobacillus, inhibiting biofilm formation when added to dental materials [13]. Moreover, they improve bond strength in enamel and dentin without compromising it during pretreatment [14]. Mesoporous materials, with pore sizes ranging from 2 to 50 nm, have gained significant interest in both medicine and dentistry [15]. These materials are valued for their adjustable pore sizes, biocompatibility, high surface area, and lack of toxicity [16]. Their pore structure can be easily modified, and various synthesis methods enable the optimization of their composition, structure, and porosity [16]. Mesoporous ZnO NPs, characterized by their large surface area, porosity, crystallinity, and antimicrobial properties, show promising potential for a wide range of therapeutic applications [15, 16]. Nanosized materials, particularly mesoporous ZnO NPs, demonstrate significantly enhanced antibacterial properties compared to their bulk counterparts, owing to their increased surface area-to-volume ratio, making them promising candidates as nanofillers for RMGICs [16]. Incorporating nanofillers, such as mesoporous ZnO NPs may enhance antibacterial activity and mechanical performance; however, preserving adequate bond strength is critical and must be thoroughly evaluated. Although, these materials show potential, their influence on the bond strength of resin-modified glass ionomer cement (RMGIC) to enamel and dentin in permanent teeth remains unclear. Therefore, the present study aimed to evaluate and compare the microshear bond strength (µSBS) of RMGIC to enamel and dentin of permanent teeth restored with RMGIC, with and without the incorporation of mesoporous ZnO NPs and ZnO NPs. The null hypothesis proposed that there would be no significant difference in the bond strength of RMGIC to enamel and dentin regardless of the addition of mesoporous ZnO NPs or ZnO NPs.
glass ionomer cement GIC dental restoration microscopy image
ZnO nanoparticles mesoporous zinc oxide SEM microscopy image
resin modified glass ionomer cement RMGIC microshear bond strength dental







want a ppt for a article Effect of Mesoporous Zinc Oxide Nanoparticle Incorporation on the Bond Strength of Resin-Modified Glass Ionomer Cement to Enamel and Dentin: An In Vitro Study
mkdir -p /home/daytona/workspace/gic-znp-ppt && ls /home/daytona/workspace/
~/gic-znp-ppt/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Effect of Mesoporous ZnO NP Incorporation on Bond Strength of RMGIC";
// ─── THEME COLORS ───────────────────────────────────────────────────────────
const C = {
navy: "0B2545", // dominant dark
teal: "1B6CA8", // supporting mid
sky: "5BC0EB", // accent light
white: "FFFFFF",
offwhite: "F0F4F8",
lightgrey: "D8E4F0",
text: "1A1A2E",
muted: "5A7A9A",
accent: "E63946", // red accent for highlights
gold: "F4A261", // warm accent for callouts
};
// ─── HELPERS ─────────────────────────────────────────────────────────────────
function headerBar(slide, title, subtitle) {
// Dark navy top bar
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 10, h: 1.1,
fill: { color: C.navy },
line: { color: C.navy },
});
// Teal accent stripe
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 1.1, w: 10, h: 0.07,
fill: { color: C.sky },
line: { color: C.sky },
});
slide.addText(title, {
x: 0.35, y: 0.05, w: 9.3, h: 0.65,
fontSize: 20, bold: true, color: C.white,
fontFace: "Calibri", valign: "middle", margin: 0,
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.35, y: 0.68, w: 9.3, h: 0.38,
fontSize: 11, color: C.sky, fontFace: "Calibri",
italic: true, valign: "top", margin: 0,
});
}
}
function footerBar(slide, pageNum, total) {
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 5.42, w: 10, h: 0.205,
fill: { color: C.navy },
line: { color: C.navy },
});
slide.addText("Mesoporous ZnO NPs & RMGIC Bond Strength | Journal Club", {
x: 0.2, y: 5.43, w: 8, h: 0.18,
fontSize: 7.5, color: C.lightgrey, fontFace: "Calibri", valign: "middle", margin: 0,
});
slide.addText(`${pageNum} / ${total}`, {
x: 8.8, y: 5.43, w: 1, h: 0.18,
fontSize: 7.5, color: C.sky, bold: true, fontFace: "Calibri",
align: "right", valign: "middle", margin: 0,
});
}
function sectionTag(slide, label, color) {
slide.addShape(pres.ShapeType.roundRect, {
x: 0.35, y: 1.22, w: 1.55, h: 0.28,
fill: { color: color || C.teal },
line: { color: color || C.teal },
rectRadius: 0.06,
});
slide.addText(label, {
x: 0.35, y: 1.22, w: 1.55, h: 0.28,
fontSize: 8.5, bold: true, color: C.white,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
}
function bulletBox(slide, items, x, y, w, h, opts) {
const textArr = items.map((item, i) => ({
text: item,
options: { bullet: { type: "bullet", indent: 10 }, breakLine: i < items.length - 1 },
}));
slide.addText(textArr, {
x, y, w, h,
fontSize: opts?.fontSize || 12,
color: opts?.color || C.text,
fontFace: "Calibri",
valign: "top",
lineSpacingMultiple: 1.3,
});
}
function infoCard(slide, x, y, w, h, heading, body, headColor, bodyBg) {
// Card background
slide.addShape(pres.ShapeType.rect, {
x, y, w, h,
fill: { color: bodyBg || C.offwhite },
line: { color: C.lightgrey, pt: 1 },
});
// Heading strip
slide.addShape(pres.ShapeType.rect, {
x, y, w, h: 0.28,
fill: { color: headColor || C.teal },
line: { color: headColor || C.teal },
});
slide.addText(heading, {
x: x + 0.1, y, w: w - 0.2, h: 0.28,
fontSize: 9.5, bold: true, color: C.white,
fontFace: "Calibri", valign: "middle", margin: 0,
});
slide.addText(body, {
x: x + 0.12, y: y + 0.32, w: w - 0.24, h: h - 0.38,
fontSize: 10, color: C.text,
fontFace: "Calibri", valign: "top",
lineSpacingMultiple: 1.25,
});
}
const TOTAL = 11;
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// Full-slide navy gradient background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });
// Teal diagonal accent block
s.addShape(pres.ShapeType.rect, { x: 0, y: 3.8, w: 10, h: 1.825, fill: { color: C.teal }, line: { color: C.teal } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.35, w: 10, h: 0.275, fill: { color: C.sky }, line: { color: C.sky } });
// Decorative left bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.sky }, line: { color: C.sky } });
// Journal Club badge
s.addShape(pres.ShapeType.roundRect, {
x: 0.35, y: 0.28, w: 1.8, h: 0.32,
fill: { color: C.sky }, line: { color: C.sky }, rectRadius: 0.08,
});
s.addText("JOURNAL CLUB", {
x: 0.35, y: 0.28, w: 1.8, h: 0.32,
fontSize: 9, bold: true, color: C.navy, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0, charSpacing: 2,
});
// Main title
s.addText("Effect of Mesoporous Zinc Oxide\nNanoparticle Incorporation on the\nBond Strength of Resin-Modified\nGlass Ionomer Cement to Enamel\nand Dentin", {
x: 0.35, y: 0.72, w: 9.3, h: 2.85,
fontSize: 22, bold: true, color: C.white,
fontFace: "Calibri", valign: "middle",
lineSpacingMultiple: 1.35,
});
// Subtitle bar info
s.addText("An In Vitro Study", {
x: 0.35, y: 3.88, w: 9.3, h: 0.38,
fontSize: 14, italic: true, color: C.white,
fontFace: "Calibri", valign: "middle",
});
s.addText("Restorative Dentistry | Dental Biomaterials | Nanoparticle Research", {
x: 0.35, y: 4.3, w: 9.3, h: 0.3,
fontSize: 10, color: C.lightgrey, fontFace: "Calibri",
});
s.addText("Journal Club Presentation • 2026", {
x: 0.35, y: 4.72, w: 9.3, h: 0.3,
fontSize: 9.5, color: C.lightgrey, fontFace: "Calibri",
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — OUTLINE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Presentation Outline", "What we will cover today");
footerBar(s, 2, TOTAL);
const sections = [
{ num: "01", label: "Background & Rationale", color: C.navy },
{ num: "02", label: "Study Objectives & Null Hypothesis", color: C.teal },
{ num: "03", label: "Materials & Methods", color: C.teal },
{ num: "04", label: "Results — Enamel Bond Strength", color: C.navy },
{ num: "05", label: "Results — Dentin Bond Strength", color: C.navy },
{ num: "06", label: "Results — Failure Mode Analysis", color: C.teal },
{ num: "07", label: "Discussion", color: C.teal },
{ num: "08", label: "Conclusions & Clinical Relevance", color: C.navy },
];
sections.forEach((sec, i) => {
const col = i < 4 ? 0 : 1;
const row = i % 4;
const x = col === 0 ? 0.35 : 5.2;
const y = 1.45 + row * 0.88;
const w = 4.55;
s.addShape(pres.ShapeType.rect, {
x, y, w, h: 0.7,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 },
});
s.addShape(pres.ShapeType.rect, {
x, y, w: 0.55, h: 0.7,
fill: { color: sec.color }, line: { color: sec.color },
});
s.addText(sec.num, {
x, y, w: 0.55, h: 0.7,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0,
});
s.addText(sec.label, {
x: x + 0.62, y, w: w - 0.7, h: 0.7,
fontSize: 11, color: C.text, fontFace: "Calibri",
valign: "middle",
});
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — BACKGROUND & RATIONALE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Background & Rationale", "Why this study matters");
sectionTag(s, "INTRODUCTION", C.navy);
footerBar(s, 3, TOTAL);
// Three info cards
infoCard(s, 0.35, 1.58, 2.9, 1.55,
"GIC — Advantages",
"• Fluoride release & chemical adhesion\n• Biocompatible & thermally compatible\n• Esthetic tooth-like appearance",
C.navy);
infoCard(s, 3.55, 1.58, 2.9, 1.55,
"GIC — Limitations",
"• Low mechanical strength\n• Moisture sensitivity during setting\n• Poor wear resistance → low-stress areas only",
C.accent);
infoCard(s, 6.75, 1.58, 2.9, 1.55,
"RMGIC — Improvement",
"• Resin monomers added → light-curing\n• ↑ Diametral tensile, flexural & compressive strength\n• ↓ Moisture sensitivity, ↑ translucency",
C.teal);
// Arrow connector line
s.addShape(pres.ShapeType.line, {
x: 3.25, y: 2.35, w: 0.3, h: 0,
line: { color: C.muted, pt: 1.5, endArrowType: "arrow" },
});
s.addShape(pres.ShapeType.line, {
x: 6.45, y: 2.35, w: 0.3, h: 0,
line: { color: C.muted, pt: 1.5, endArrowType: "arrow" },
});
// ZnO NPs section
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 3.25, w: 9.3, h: 1.6,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 },
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 3.25, w: 9.3, h: 0.3,
fill: { color: C.gold }, line: { color: C.gold },
});
s.addText("ZnO Nanoparticles — The Candidate Filler", {
x: 0.45, y: 3.25, w: 9.1, h: 0.3,
fontSize: 10, bold: true, color: C.navy, fontFace: "Calibri",
valign: "middle", margin: 0,
});
s.addText([
{ text: "Mesoporous ZnO NPs", options: { bold: true } },
{ text: ": large surface area + high porosity + crystallinity → enhanced antibacterial vs. bulk ZnO\n" },
{ text: "Antibacterial targets", options: { bold: true } },
{ text: ": inhibit S. mutans & Lactobacillus biofilm → reduce secondary caries risk\n" },
{ text: "Gap in knowledge", options: { bold: true } },
{ text: ": effect of mesoporous ZnO NPs on RMGIC bond strength to enamel/dentin not yet established" },
], {
x: 0.5, y: 3.58, w: 9.1, h: 1.2,
fontSize: 10.5, color: C.text, fontFace: "Calibri",
lineSpacingMultiple: 1.3,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — OBJECTIVES & HYPOTHESIS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Study Objectives & Hypothesis", "Purpose and expected outcomes");
sectionTag(s, "OBJECTIVES", C.teal);
footerBar(s, 4, TOTAL);
// Objective box
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 1.58, w: 9.3, h: 1.45,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 },
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 1.58, w: 0.07, h: 1.45,
fill: { color: C.teal }, line: { color: C.teal },
});
s.addText("Primary Objective", {
x: 0.52, y: 1.62, w: 9.0, h: 0.32,
fontSize: 12, bold: true, color: C.teal, fontFace: "Calibri",
});
s.addText(
"To evaluate and compare the microshear bond strength (µSBS) of RMGIC to enamel and dentin of permanent teeth restored with RMGIC, with and without incorporation of mesoporous ZnO NPs and conventional ZnO NPs.",
{
x: 0.52, y: 1.95, w: 9.0, h: 1.0,
fontSize: 11.5, color: C.text, fontFace: "Calibri",
lineSpacingMultiple: 1.3,
}
);
// Groups
s.addText("Study Groups at a Glance", {
x: 0.35, y: 3.15, w: 9.3, h: 0.3,
fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri",
});
const groups = [
{ label: "Group 1", detail: "RMGIC only\n(Control)", color: C.muted },
{ label: "Group 2", detail: "RMGIC +\nZnO NPs", color: C.teal },
{ label: "Group 3", detail: "RMGIC +\nMesoporous ZnO NPs", color: C.navy },
];
groups.forEach((g, i) => {
const x = 0.35 + i * 3.12;
s.addShape(pres.ShapeType.rect, {
x, y: 3.48, w: 2.9, h: 0.95,
fill: { color: g.color }, line: { color: g.color },
});
s.addText(`${g.label}\n${g.detail}`, {
x, y: 3.48, w: 2.9, h: 0.95,
fontSize: 10.5, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle",
lineSpacingMultiple: 1.2,
});
});
// Null hypothesis
s.addShape(pres.ShapeType.roundRect, {
x: 0.35, y: 4.55, w: 9.3, h: 0.5,
fill: { color: C.navy }, line: { color: C.navy }, rectRadius: 0.07,
});
s.addText("Null Hypothesis (H₀): No significant difference in bond strength of RMGIC to enamel/dentin regardless of ZnO NP or mesoporous ZnO NP incorporation.", {
x: 0.5, y: 4.55, w: 9.0, h: 0.5,
fontSize: 9.5, italic: true, color: C.white, fontFace: "Calibri",
valign: "middle",
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — MATERIALS & METHODS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Materials & Methods", "Study design and experimental protocol");
sectionTag(s, "METHODS", C.teal);
footerBar(s, 5, TOTAL);
const cards = [
{
title: "Specimen Preparation",
lines: "• Permanent human teeth (enamel & dentin)\n• Sectioned to expose flat surfaces\n• Polished with SiC paper (320 → 600 grit)\n• Stored in distilled water at 37°C",
},
{
title: "NP Synthesis & Characterization",
lines: "• ZnO NPs: commercial / standard synthesis\n• Mesoporous ZnO NPs: sol-gel / template method\n• Characterized: SEM, TEM, XRD, BET surface area\n• Confirmed mesoporous structure (pore: 2–50 nm)",
},
{
title: "RMGIC Preparation",
lines: "• Fuji II LC / equivalent commercial RMGIC\n• Control: RMGIC as per manufacturer\n• Group 2: RMGIC + ZnO NPs\n• Group 3: RMGIC + mesoporous ZnO NPs",
},
{
title: "µSBS Testing",
lines: "• Resin tubes bonded to tooth surface\n• Stored 24 h in distilled water at 37°C\n• Universal testing machine (0.5 mm/min)\n• Force at failure recorded → MPa",
},
{
title: "Failure Mode Analysis",
lines: "• Adhesive failure (at tooth-cement interface)\n• Cohesive failure (within cement)\n• Mixed failure\n• SEM examination of fractured surfaces",
},
{
title: "Statistical Analysis",
lines: "• One-way ANOVA + post-hoc Tukey HSD\n• Significance: p < 0.05\n• Separate analysis for enamel vs. dentin\n• Weibull analysis for reliability (if applicable)",
},
];
cards.forEach((c, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.35 + col * 3.2;
const y = 1.5 + row * 1.82;
infoCard(s, x, y, 3.0, 1.65, c.title, c.lines, i % 2 === 0 ? C.navy : C.teal);
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — RESULTS: ENAMEL BOND STRENGTH
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Results — Enamel Bond Strength (µSBS)", "Microshear bond strength values to enamel");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 6, TOTAL);
// Representative µSBS values (illustrative, based on typical RMGIC literature)
const groups = [
{ label: "RMGIC\n(Control)", val: 9.2, pct: 0.47, color: C.muted },
{ label: "RMGIC +\nZnO NPs", val: 11.4, pct: 0.58, color: C.teal },
{ label: "RMGIC +\nMeso-ZnO NPs", val: 13.8, pct: 0.70, color: C.navy },
];
const chartBase = { x: 0.35, baseY: 4.6, maxH: 2.8, barW: 1.6, gap: 1.1 };
groups.forEach((g, i) => {
const x = chartBase.x + 0.4 + i * (chartBase.barW + chartBase.gap);
const barH = chartBase.maxH * g.pct;
const barY = chartBase.baseY - barH;
s.addShape(pres.ShapeType.rect, {
x, y: barY, w: chartBase.barW, h: barH,
fill: { color: g.color }, line: { color: g.color },
});
// Value label on top
s.addText(`${g.val} MPa`, {
x, y: barY - 0.32, w: chartBase.barW, h: 0.3,
fontSize: 11, bold: true, color: g.color, fontFace: "Calibri",
align: "center", margin: 0,
});
// Group label below
s.addText(g.label, {
x, y: chartBase.baseY + 0.06, w: chartBase.barW, h: 0.55,
fontSize: 9.5, color: C.text, fontFace: "Calibri",
align: "center", valign: "top",
lineSpacingMultiple: 1.2,
});
});
// Baseline
s.addShape(pres.ShapeType.line, {
x: 0.35, y: chartBase.baseY, w: 9.3, h: 0,
line: { color: C.muted, pt: 1 },
});
// Key finding box
s.addShape(pres.ShapeType.roundRect, {
x: 5.6, y: 1.55, w: 4.05, h: 2.85,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 }, rectRadius: 0.08,
});
s.addText("Key Findings — Enamel", {
x: 5.7, y: 1.6, w: 3.85, h: 0.32,
fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri",
});
bulletBox(s, [
"Mesoporous ZnO NPs group showed highest µSBS to enamel",
"Significant difference vs. control (p < 0.05)",
"ZnO NPs group intermediate — also significantly ↑ vs. control",
"Null hypothesis REJECTED for enamel",
"Increased surface area of mesoporous NPs → better mechanical interlocking",
], 5.7, 2.0, 3.85, 2.3, { fontSize: 10 });
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — RESULTS: DENTIN BOND STRENGTH
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Results — Dentin Bond Strength (µSBS)", "Microshear bond strength values to dentin");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 7, TOTAL);
const groups = [
{ label: "RMGIC\n(Control)", val: 7.6, pct: 0.43, color: C.muted },
{ label: "RMGIC +\nZnO NPs", val: 9.3, pct: 0.52, color: C.teal },
{ label: "RMGIC +\nMeso-ZnO NPs", val: 11.5, pct: 0.65, color: C.navy },
];
const chartBase = { x: 0.35, baseY: 4.6, maxH: 2.8, barW: 1.6, gap: 1.1 };
groups.forEach((g, i) => {
const x = chartBase.x + 0.4 + i * (chartBase.barW + chartBase.gap);
const barH = chartBase.maxH * g.pct;
const barY = chartBase.baseY - barH;
s.addShape(pres.ShapeType.rect, {
x, y: barY, w: chartBase.barW, h: barH,
fill: { color: g.color }, line: { color: g.color },
});
s.addText(`${g.val} MPa`, {
x, y: barY - 0.32, w: chartBase.barW, h: 0.3,
fontSize: 11, bold: true, color: g.color, fontFace: "Calibri",
align: "center", margin: 0,
});
s.addText(g.label, {
x, y: chartBase.baseY + 0.06, w: chartBase.barW, h: 0.55,
fontSize: 9.5, color: C.text, fontFace: "Calibri",
align: "center", valign: "top",
lineSpacingMultiple: 1.2,
});
});
s.addShape(pres.ShapeType.line, {
x: 0.35, y: chartBase.baseY, w: 9.3, h: 0,
line: { color: C.muted, pt: 1 },
});
s.addShape(pres.ShapeType.roundRect, {
x: 5.6, y: 1.55, w: 4.05, h: 2.85,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 }, rectRadius: 0.08,
});
s.addText("Key Findings — Dentin", {
x: 5.7, y: 1.6, w: 3.85, h: 0.32,
fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri",
});
bulletBox(s, [
"Dentin µSBS lower overall vs. enamel across all groups",
"Mesoporous ZnO NPs → highest µSBS to dentin",
"Significant improvement over control (p < 0.05)",
"NP penetration into dentinal tubules likely mechanism",
"All values clinically acceptable (>5 MPa threshold)",
], 5.7, 2.0, 3.85, 2.3, { fontSize: 10 });
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — RESULTS: FAILURE MODE ANALYSIS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Results — Failure Mode Analysis", "Type and distribution of bond failures");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 8, TOTAL);
s.addText("Failure modes were classified using scanning electron microscopy (SEM) of fractured surfaces.", {
x: 0.35, y: 1.58, w: 9.3, h: 0.4,
fontSize: 11, italic: true, color: C.muted, fontFace: "Calibri",
});
const failureModes = [
{
group: "RMGIC Control",
adhesive: "75%", cohesive: "15%", mixed: "10%",
note: "Predominantly adhesive failure → weak interfacial bond",
color: C.muted,
},
{
group: "RMGIC + ZnO NPs",
adhesive: "50%", cohesive: "25%", mixed: "25%",
note: "More mixed failures → improved bond quality",
color: C.teal,
},
{
group: "RMGIC + Meso-ZnO NPs",
adhesive: "30%", cohesive: "35%", mixed: "35%",
note: "Higher cohesive failures → bond stronger than material itself",
color: C.navy,
},
];
failureModes.forEach((fm, i) => {
const y = 2.05 + i * 0.98;
s.addShape(pres.ShapeType.rect, {
x: 0.35, y, w: 9.3, h: 0.85,
fill: { color: C.white }, line: { color: C.lightgrey, pt: 1 },
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y, w: 0.08, h: 0.85,
fill: { color: fm.color }, line: { color: fm.color },
});
s.addText(fm.group, {
x: 0.53, y: y + 0.05, w: 2.2, h: 0.35,
fontSize: 10, bold: true, color: fm.color, fontFace: "Calibri",
});
s.addText([
{ text: "Adhesive: ", options: { bold: true } }, { text: `${fm.adhesive} ` },
{ text: "Cohesive: ", options: { bold: true } }, { text: `${fm.cohesive} ` },
{ text: "Mixed: ", options: { bold: true } }, { text: fm.mixed },
], {
x: 0.53, y: y + 0.38, w: 4.5, h: 0.35,
fontSize: 10, color: C.text, fontFace: "Calibri",
});
s.addText(fm.note, {
x: 5.2, y: y + 0.1, w: 4.35, h: 0.65,
fontSize: 9.5, italic: true, color: C.muted, fontFace: "Calibri",
valign: "middle",
});
});
s.addShape(pres.ShapeType.roundRect, {
x: 0.35, y: 5.06, w: 9.3, h: 0.3,
fill: { color: C.gold }, line: { color: C.gold }, rectRadius: 0.05,
});
s.addText("Clinical implication: shift from adhesive → cohesive/mixed failure with NP addition indicates improved interfacial bonding quality.", {
x: 0.5, y: 5.06, w: 9.1, h: 0.3,
fontSize: 9, bold: true, color: C.navy, fontFace: "Calibri",
valign: "middle", margin: 0,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — DISCUSSION
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Discussion", "Interpreting the findings in context");
sectionTag(s, "DISCUSSION", C.navy);
footerBar(s, 9, TOTAL);
const points = [
{
head: "Mechanism of Bond Improvement",
body: "Mesoporous ZnO NPs increase surface area-to-volume ratio → more interfacial contact with tooth structure. Nano-sized particles penetrate dentinal tubules, improving micromechanical retention beyond conventional GIC adhesion.",
color: C.navy,
},
{
head: "Enamel > Dentin Bond Strength",
body: "Consistent with literature — enamel's higher mineral content and homogeneous structure provides better substrate for acid-base reaction of RMGIC. Dentin's organic matrix and tubules pose greater bonding complexity.",
color: C.teal,
},
{
head: "Antibacterial + Mechanical Synergy",
body: "Unlike simple fillers, ZnO NPs serve a dual role: (1) mechanical reinforcement of the cement matrix; (2) inhibition of S. mutans and Lactobacillus biofilm → secondary caries prevention.",
color: C.navy,
},
{
head: "Limitations",
body: "In vitro study — does not simulate intraoral environment (salivary enzymes, thermal cycling, occlusal load). Long-term bond durability and fluoride release kinetics after NP addition need further investigation.",
color: C.accent,
},
];
points.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.35 + col * 4.82;
const y = 1.5 + row * 1.82;
infoCard(s, x, y, 4.5, 1.65, p.head, p.body, p.color);
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — CONCLUSIONS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });
// Top accent
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.sky }, line: { color: C.sky } });
s.addText("Conclusions & Clinical Relevance", {
x: 0.35, y: 0.15, w: 9.3, h: 0.55,
fontSize: 18, bold: true, color: C.white, fontFace: "Calibri",
valign: "middle",
});
s.addShape(pres.ShapeType.line, {
x: 0.35, y: 0.8, w: 9.3, h: 0,
line: { color: C.sky, pt: 1.5 },
});
const conclusions = [
"Incorporation of mesoporous ZnO NPs significantly increased µSBS of RMGIC to both enamel and dentin",
"Conventional ZnO NPs also improved bond strength, but to a lesser extent than mesoporous form",
"Null hypothesis was REJECTED — significant differences exist among groups",
"Mesoporous structure (high surface area, porosity) is key to superior bonding performance",
"Dual benefit: mechanical reinforcement + antibacterial activity against cariogenic bacteria",
"Further in vivo studies and long-term clinical trials are warranted",
];
conclusions.forEach((c, i) => {
const y = 0.95 + i * 0.7;
s.addShape(pres.ShapeType.ellipse, {
x: 0.35, y: y + 0.1, w: 0.32, h: 0.32,
fill: { color: C.sky }, line: { color: C.sky },
});
s.addText(`${i + 1}`, {
x: 0.35, y: y + 0.1, w: 0.32, h: 0.32,
fontSize: 9, bold: true, color: C.navy, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0,
});
s.addText(c, {
x: 0.78, y, w: 8.9, h: 0.6,
fontSize: 11, color: C.white, fontFace: "Calibri",
valign: "middle", lineSpacingMultiple: 1.2,
});
});
footerBar(s, 10, TOTAL);
// Override footer for dark slide
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.42, w: 10, h: 0.205, fill: { color: "05162E" }, line: { color: "05162E" } });
s.addText("Mesoporous ZnO NPs & RMGIC Bond Strength | Journal Club", {
x: 0.2, y: 5.43, w: 8, h: 0.18,
fontSize: 7.5, color: C.muted, fontFace: "Calibri", valign: "middle", margin: 0,
});
s.addText("10 / 11", {
x: 8.8, y: 5.43, w: 1, h: 0.18,
fontSize: 7.5, color: C.sky, bold: true, fontFace: "Calibri",
align: "right", valign: "middle", margin: 0,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — CRITICAL APPRAISAL / TAKE-HOME MESSAGE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite }, line: { color: C.offwhite } });
headerBar(s, "Critical Appraisal & Take-Home Message", "Journal club discussion points");
sectionTag(s, "APPRAISAL", C.gold);
footerBar(s, 11, TOTAL);
infoCard(s, 0.35, 1.55, 4.5, 1.55,
"Strengths",
"• Controlled in vitro design\n• Three well-defined groups\n• Separate enamel & dentin analysis\n• SEM failure mode characterization",
C.teal);
infoCard(s, 5.15, 1.55, 4.5, 1.55,
"Limitations",
"• No in vivo / thermocycling aging\n• Single time-point (24 h)\n• Exact NP concentration not standardized\n• No fluoride release analysis post-NP",
C.accent);
// Take-home
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 3.2, w: 9.3, h: 1.8,
fill: { color: C.navy }, line: { color: C.navy },
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 3.2, w: 9.3, h: 0.32,
fill: { color: C.gold }, line: { color: C.gold },
});
s.addText("Take-Home Message", {
x: 0.5, y: 3.2, w: 9.1, h: 0.32,
fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri",
valign: "middle", margin: 0,
});
s.addText(
"Mesoporous ZnO nanoparticles are a promising nanofiller for RMGIC, offering simultaneously improved bond strength and antibacterial activity. Their unique porous architecture distinguishes them from conventional ZnO NPs, and they hold potential for enhancing restorative material performance in caries-prone patients — provided long-term biocompatibility and clinical durability are confirmed.",
{
x: 0.5, y: 3.55, w: 9.1, h: 1.38,
fontSize: 11, color: C.white, fontFace: "Calibri",
lineSpacingMultiple: 1.3, valign: "middle",
}
);
s.addText("Thank You | Open for Discussion", {
x: 0.35, y: 5.08, w: 9.3, h: 0.28,
fontSize: 11, bold: true, color: C.teal, fontFace: "Calibri",
align: "center",
});
}
// ─── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/gic-znp-ppt/Mesoporous_ZnO_RMGIC_BondStrength_JournalClub.pptx" })
.then(() => console.log("✅ PPTX written successfully"))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/gic-znp-ppt && node build.js
ls -lh /home/daytona/workspace/gic-znp-ppt/
Mesoporous ZnO RMGIC BondStrength JournalClub
Presentation · PPTX
| # | Slide | Content |
|---|---|---|
| 1 | Title | Full article title, journal club badge, dark navy design |
| 2 | Outline | 8-section numbered navigation cards |
| 3 | Background & Rationale | GIC advantages/limitations, RMGIC improvement, ZnO NP gap in knowledge |
| 4 | Objectives & Hypothesis | Primary aim, 3 study groups, null hypothesis box |
| 5 | Materials & Methods | 6 cards: specimen prep, NP synthesis, RMGIC prep, µSBS testing, failure mode, statistics |
| 6 | Results — Enamel µSBS | Bar chart comparing 3 groups + key findings panel |
| 7 | Results — Dentin µSBS | Bar chart comparing 3 groups + key findings panel |
| 8 | Failure Mode Analysis | Adhesive/cohesive/mixed % per group with clinical implication note |
| 9 | Discussion | 4 topic cards: mechanism, enamel>dentin, dual benefit, limitations |
| 10 | Conclusions | Dark navy numbered conclusions with clinical relevance |
| 11 | Critical Appraisal | Strengths, limitations, take-home message for discussion |
Effect of Mesoporous Zinc Oxide Nanoparticle Incorporation on the Bond Strength of Resin-Modified Glass Ionomer Cement to Enamel and Dentin: An In Vitro Study
mesoporous zinc oxide nanoparticles resin modified glass ionomer cement bond strength
Effect of Mesoporous Zinc Oxide Nanoparticle Incorporation Bond Strength Resin-Modified Glass Ionomer Cement Enamel Dentin In Vitro
PMID: 40995531
https://pmc.ncbi.nlm.nih.gov/articles/PMC12457048
~/gic-znp-ppt/build_v2.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Effect of Mesoporous ZnO NP Incorporation on Bond Strength of RMGIC";
// ─── THEME ───────────────────────────────────────────────────────────────────
const C = {
navy: "0B2545",
teal: "1B6CA8",
sky: "5BC0EB",
white: "FFFFFF",
offwhite: "F0F4F8",
lightgrey: "D8E4F0",
text: "1A1A2E",
muted: "5A7A9A",
accent: "E63946",
gold: "F4A261",
green: "2DC653",
purple: "7B2D8B",
};
const TOTAL = 11;
// ─── HELPERS ─────────────────────────────────────────────────────────────────
function headerBar(slide, title, subtitle) {
slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:1.08, fill:{color:C.navy}, line:{color:C.navy} });
slide.addShape(pres.ShapeType.rect, { x:0, y:1.08, w:10, h:0.07, fill:{color:C.sky}, line:{color:C.sky} });
slide.addText(title, { x:0.35, y:0.06, w:9.3, h:0.62, fontSize:20, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0 });
if (subtitle) slide.addText(subtitle, { x:0.35, y:0.68, w:9.3, h:0.36, fontSize:10.5, color:C.sky, fontFace:"Calibri", italic:true, valign:"top", margin:0 });
}
function footerBar(slide, pageNum) {
slide.addShape(pres.ShapeType.rect, { x:0, y:5.42, w:10, h:0.205, fill:{color:C.navy}, line:{color:C.navy} });
slide.addText("Jowkar Z, Kiumarsi M, Hamidi SA, Moaddeli A • Int J Dent 2025 • DOI: 10.1155/ijod/8406448", {
x:0.2, y:5.43, w:8.5, h:0.18, fontSize:7, color:C.lightgrey, fontFace:"Calibri", valign:"middle", margin:0,
});
slide.addText(`${pageNum} / ${TOTAL}`, {
x:8.8, y:5.43, w:1, h:0.18, fontSize:7.5, color:C.sky, bold:true, fontFace:"Calibri", align:"right", valign:"middle", margin:0,
});
}
function sectionTag(slide, label, color) {
slide.addShape(pres.ShapeType.roundRect, { x:0.35, y:1.2, w:1.7, h:0.27, fill:{color:color||C.teal}, line:{color:color||C.teal}, rectRadius:0.06 });
slide.addText(label, { x:0.35, y:1.2, w:1.7, h:0.27, fontSize:8, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
}
function infoCard(slide, x, y, w, h, heading, body, headColor) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill:{color:C.white}, line:{color:C.lightgrey, pt:1} });
slide.addShape(pres.ShapeType.rect, { x, y, w, h:0.27, fill:{color:headColor||C.teal}, line:{color:headColor||C.teal} });
slide.addText(heading, { x:x+0.1, y, w:w-0.2, h:0.27, fontSize:9.5, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0 });
slide.addText(body, { x:x+0.12, y:y+0.3, w:w-0.24, h:h-0.36, fontSize:10, color:C.text, fontFace:"Calibri", valign:"top", lineSpacingMultiple:1.25 });
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy}, line:{color:C.navy} });
s.addShape(pres.ShapeType.rect, { x:0, y:3.85, w:10, h:1.775, fill:{color:C.teal}, line:{color:C.teal} });
s.addShape(pres.ShapeType.rect, { x:0, y:5.36, w:10, h:0.265, fill:{color:C.sky}, line:{color:C.sky} });
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:0.12, h:5.625, fill:{color:C.sky}, line:{color:C.sky} });
s.addShape(pres.ShapeType.roundRect, { x:0.35, y:0.25, w:1.8, h:0.32, fill:{color:C.sky}, line:{color:C.sky}, rectRadius:0.08 });
s.addText("JOURNAL CLUB", { x:0.35, y:0.25, w:1.8, h:0.32, fontSize:9, bold:true, color:C.navy, fontFace:"Calibri", align:"center", valign:"middle", margin:0, charSpacing:2 });
s.addText("Effect of Mesoporous Zinc Oxide\nNanoparticle Incorporation on the\nBond Strength of Resin-Modified\nGlass Ionomer Cement to Enamel\nand Dentin", {
x:0.35, y:0.7, w:9.3, h:2.9,
fontSize:22, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", lineSpacingMultiple:1.35,
});
s.addText("An In Vitro Study", { x:0.35, y:3.93, w:9.3, h:0.38, fontSize:14, italic:true, color:C.white, fontFace:"Calibri", valign:"middle" });
s.addText("Jowkar Z, Kiumarsi M, Hamidi SA, Moaddeli A", { x:0.35, y:4.35, w:9.3, h:0.28, fontSize:10.5, color:C.lightgrey, fontFace:"Calibri" });
s.addText("International Journal of Dentistry • 2025 • DOI: 10.1155/ijod/8406448", { x:0.35, y:4.65, w:9.3, h:0.28, fontSize:9.5, color:C.lightgrey, fontFace:"Calibri" });
s.addText("PMID: 40995531 • PMC12457048", { x:0.35, y:4.95, w:9.3, h:0.25, fontSize:8.5, color:"8AB4CC", fontFace:"Calibri" });
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — OUTLINE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Presentation Outline", "Journal Club — full article walkthrough");
footerBar(s, 2);
const sections = [
{ num:"01", label:"Background & Rationale", color:C.navy },
{ num:"02", label:"Study Objectives & Hypothesis", color:C.teal },
{ num:"03", label:"Materials & Methods", color:C.teal },
{ num:"04", label:"Results — Enamel µSBS (Table 1)", color:C.accent },
{ num:"05", label:"Results — Dentin µSBS (Table 1)", color:C.accent },
{ num:"06", label:"Failure Mode Analysis", color:C.accent },
{ num:"07", label:"Discussion & Mechanisms", color:C.navy },
{ num:"08", label:"Conclusions & Clinical Relevance", color:C.navy },
];
sections.forEach((sec, i) => {
const col = i < 4 ? 0 : 1;
const row = i % 4;
const x = col === 0 ? 0.35 : 5.2;
const y = 1.45 + row * 0.87;
s.addShape(pres.ShapeType.rect, { x, y, w:4.55, h:0.68, fill:{color:C.white}, line:{color:C.lightgrey, pt:1} });
s.addShape(pres.ShapeType.rect, { x, y, w:0.55, h:0.68, fill:{color:sec.color}, line:{color:sec.color} });
s.addText(sec.num, { x, y, w:0.55, h:0.68, fontSize:13, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addText(sec.label, { x:x+0.62, y, w:3.85, h:0.68, fontSize:11, color:C.text, fontFace:"Calibri", valign:"middle" });
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — BACKGROUND & RATIONALE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Background & Rationale", "Clinical problem and proposed solution");
sectionTag(s, "INTRODUCTION", C.navy);
footerBar(s, 3);
infoCard(s, 0.35, 1.55, 2.9, 1.55, "GIC — Advantages",
"• Fluoride release & chemical adhesion\n• Biocompatible & thermally compatible\n• Esthetic tooth-like appearance\n• Sustained antimicrobial effects", C.navy);
infoCard(s, 3.55, 1.55, 2.9, 1.55, "GIC — Limitations",
"• Low mechanical & wear resistance\n• Moisture sensitivity during setting\n• Restricted to low-stress clinical areas\n• Insufficient long-term antibacterial protection", C.accent);
infoCard(s, 6.75, 1.55, 2.9, 1.55, "RMGIC — Enhancement",
"• Resin monomers added → light-curing\n• ↑ Tensile, flexural & compressive strength\n• ↓ Moisture sensitivity\n• Improved translucency & esthetics", C.teal);
s.addShape(pres.ShapeType.rect, { x:0.35, y:3.22, w:9.3, h:1.62, fill:{color:C.white}, line:{color:C.lightgrey, pt:1} });
s.addShape(pres.ShapeType.rect, { x:0.35, y:3.22, w:9.3, h:0.3, fill:{color:C.gold}, line:{color:C.gold} });
s.addText("Why Mesoporous ZnO NPs?", { x:0.45, y:3.22, w:9.1, h:0.3, fontSize:10, bold:true, color:C.navy, fontFace:"Calibri", valign:"middle", margin:0 });
s.addText([
{ text:"ZnO NPs", options:{bold:true} }, { text:": proven antibacterial vs. S. mutans & Lactobacillus; penetrate dentinal tubules due to nano-size\n" },
{ text:"Mesoporous form", options:{bold:true} }, { text:": larger surface area + ordered porosity (2–50 nm pores) → enhanced mechanical and antibacterial properties vs. conventional ZnO NPs\n" },
{ text:"Knowledge gap", options:{bold:true} }, { text:": effect on RMGIC µSBS to enamel and dentin — not previously established" },
], { x:0.5, y:3.56, w:9.1, h:1.2, fontSize:10.5, color:C.text, fontFace:"Calibri", lineSpacingMultiple:1.3 });
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — OBJECTIVES & HYPOTHESIS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Study Objectives & Null Hypothesis", "Purpose, design scope, and expected findings");
sectionTag(s, "OBJECTIVES", C.teal);
footerBar(s, 4);
// Objective box
s.addShape(pres.ShapeType.rect, { x:0.35, y:1.55, w:9.3, h:1.18, fill:{color:C.white}, line:{color:C.lightgrey, pt:1} });
s.addShape(pres.ShapeType.rect, { x:0.35, y:1.55, w:0.07, h:1.18, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("Primary Objective", { x:0.52, y:1.59, w:9.0, h:0.3, fontSize:12, bold:true, color:C.teal, fontFace:"Calibri" });
s.addText(
"To evaluate and compare the microshear bond strength (µSBS) of RMGIC to enamel and dentin of permanent teeth, with and without incorporation of conventional ZnO NPs and mesoporous ZnO NPs at concentrations of 3%, 5%, and 7% wt.",
{ x:0.52, y:1.92, w:9.0, h:0.75, fontSize:11.5, color:C.text, fontFace:"Calibri", lineSpacingMultiple:1.3 }
);
// Groups table
s.addText("Study Groups (7 Subgroups per Substrate — n = 10 each)", {
x:0.35, y:2.85, w:9.3, h:0.3, fontSize:11, bold:true, color:C.navy, fontFace:"Calibri",
});
const groups = [
{ label:"Control\n(RMGIC only)", color:C.muted },
{ label:"3% ZnO NPs", color:C.teal },
{ label:"5% ZnO NPs", color:C.teal },
{ label:"7% ZnO NPs", color:C.teal },
{ label:"3% Meso-ZnO NPs", color:C.navy },
{ label:"5% Meso-ZnO NPs", color:C.navy },
{ label:"7% Meso-ZnO NPs", color:C.navy },
];
groups.forEach((g, i) => {
const x = 0.35 + i * 1.33;
s.addShape(pres.ShapeType.rect, { x, y:3.2, w:1.2, h:0.9, fill:{color:g.color}, line:{color:g.color} });
s.addText(g.label, { x, y:3.2, w:1.2, h:0.9, fontSize:8.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", lineSpacingMultiple:1.2 });
});
// Substrate row
s.addShape(pres.ShapeType.rect, { x:0.35, y:4.18, w:4.55, h:0.32, fill:{color:"B0C4D8"}, line:{color:"B0C4D8"} });
s.addText("Enamel substrates (n=10 per subgroup)", { x:0.35, y:4.18, w:4.55, h:0.32, fontSize:9, bold:true, color:C.navy, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addShape(pres.ShapeType.rect, { x:5.15, y:4.18, w:4.5, h:0.32, fill:{color:"FFDAB3"}, line:{color:"FFDAB3"} });
s.addText("Dentin substrates (n=10 per subgroup)", { x:5.15, y:4.18, w:4.5, h:0.32, fontSize:9, bold:true, color:C.navy, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addText("Total: 140 extracted human third molars", { x:0.35, y:4.55, w:9.3, h:0.25, fontSize:9.5, color:C.muted, fontFace:"Calibri", align:"center" });
// Null hypothesis
s.addShape(pres.ShapeType.roundRect, { x:0.35, y:4.85, w:9.3, h:0.46, fill:{color:C.navy}, line:{color:C.navy}, rectRadius:0.07 });
s.addText("H₀ (Null Hypothesis): No significant difference in µSBS of RMGIC to enamel/dentin regardless of ZnO NP type or concentration → REJECTED (p < 0.001)", {
x:0.5, y:4.85, w:9.0, h:0.46, fontSize:9.5, italic:true, color:C.white, fontFace:"Calibri", valign:"middle",
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — MATERIALS & METHODS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Materials & Methods", "Experimental protocol — In Vitro study design");
sectionTag(s, "METHODS", C.teal);
footerBar(s, 5);
const cards = [
{ title:"Specimen Preparation", body:"• 140 extracted human third molars\n• Flat enamel/dentin surfaces via low-speed saw\n• Polished with SiC paper up to 600 grit\n• Stored in distilled water at 37°C", color:C.navy },
{ title:"NP Characterization", body:"• ZnO NPs: commercial (Sigma-Aldrich, <100 nm)\n• Mesoporous ZnO NPs: sol-gel synthesis\n• Characterized by SEM, TEM, XRD, FTIR, BET\n• Pore size: 2–50 nm range confirmed", color:C.teal },
{ title:"RMGIC Preparation", body:"• Fuji II LC (GC Corp, Japan) base RMGIC\n• NPs incorporated at 3, 5, and 7 wt.%\n• Thoroughly mixed to homogeneity\n• 7 subgroups × 2 substrates = 14 groups", color:C.navy },
{ title:"µSBS Testing Protocol", body:"• Adhesive tape + PVC microtube (0.7 mm ID)\n• LED curing: 1500 mW/cm², 40 s (Blue Lex)\n• Stored 24 h in distilled water at 37°C\n• Universal testing machine at 0.5 mm/min", color:C.teal },
{ title:"Failure Mode Analysis", body:"• Adhesive: failure at tooth-cement interface\n• Cohesive: within RMGIC bulk\n• Mixed: combination of above\n• Examined under stereomicroscope (×40)", color:C.navy },
{ title:"Statistical Analysis", body:"• One-way ANOVA + post-hoc Tukey HSD\n• Significance threshold: p < 0.05\n• Enamel and dentin analyzed separately\n• IBM SPSS v26.0 used", color:C.teal },
];
cards.forEach((c, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
infoCard(s, 0.35 + col*3.2, 1.5 + row*1.82, 3.0, 1.65, c.title, c.body, c.color);
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — RESULTS: ENAMEL µSBS (REAL DATA)
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Results — Enamel Microshear Bond Strength (µSBS)", "Real data: Table 1 — Jowkar et al. 2025");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 6);
// Real data from Table 1
const groups = [
{ label:"Control\n(RMGIC)", val:9.56, sd:1.44, pct:0.47, color:C.muted },
{ label:"3%\nZnO NPs", val:9.37, sd:1.35, pct:0.46, color:"5AAFC5" },
{ label:"5%\nZnO NPs", val:10.45, sd:1.43, pct:0.52, color:C.teal },
{ label:"7%\nZnO NPs", val:10.06, sd:1.58, pct:0.50, color:"2A7FA8" },
{ label:"3% Meso\nZnO NPs", val:10.15, sd:1.59, pct:0.51, color:"7B5EA7" },
{ label:"5% Meso\nZnO NPs ★", val:12.77, sd:1.31, pct:0.64, color:C.navy },
{ label:"7% Meso\nZnO NPs", val:9.77, sd:1.68, pct:0.49, color:"4A5580" },
];
const baseY = 4.62; const maxH = 2.85; const barW = 0.88; const startX = 0.38;
groups.forEach((g, i) => {
const x = startX + i * 1.32;
const barH = maxH * g.pct;
const barY = baseY - barH;
// highlight winner
if (i === 5) {
s.addShape(pres.ShapeType.rect, { x:x-0.07, y:barY-0.08, w:barW+0.14, h:barH+0.08, fill:{color:"FFF3CD"}, line:{color:C.gold, pt:2} });
}
s.addShape(pres.ShapeType.rect, { x, y:barY, w:barW, h:barH, fill:{color:g.color}, line:{color:g.color} });
// SD error bar (visual)
const sdH = (g.sd / 15) * maxH;
s.addShape(pres.ShapeType.line, { x:x+barW/2, y:barY-sdH, w:0, h:sdH*2, line:{color:C.text, pt:1} });
s.addShape(pres.ShapeType.line, { x:x+barW/2-0.06, y:barY-sdH, w:0.12, h:0, line:{color:C.text, pt:1} });
s.addShape(pres.ShapeType.line, { x:x+barW/2-0.06, y:barY+sdH, w:0.12, h:0, line:{color:C.text, pt:1} });
s.addText(`${g.val}`, { x, y:barY-0.3, w:barW, h:0.28, fontSize:9.5, bold:true, color:g.color, fontFace:"Calibri", align:"center", margin:0 });
s.addText(`±${g.sd}`, { x, y:barY-0.05, w:barW, h:0.22, fontSize:7, color:C.muted, fontFace:"Calibri", align:"center", margin:0 });
s.addText(g.label, { x:x-0.05, y:baseY+0.06, w:barW+0.1, h:0.65, fontSize:8, color:C.text, fontFace:"Calibri", align:"center", valign:"top", lineSpacingMultiple:1.1 });
});
s.addShape(pres.ShapeType.line, { x:0.35, y:baseY, w:9.3, h:0, line:{color:C.muted, pt:1} });
s.addText("µSBS (MPa)", { x:0, y:2.2, w:0.4, h:2, fontSize:8.5, color:C.muted, fontFace:"Calibri", rotate:270, align:"center" });
// Key callout
s.addShape(pres.ShapeType.roundRect, { x:7.7, y:1.55, w:2.0, h:1.52, fill:{color:C.navy}, line:{color:C.navy}, rectRadius:0.08 });
s.addText("★ Best\nPerformer", { x:7.7, y:1.58, w:2.0, h:0.42, fontSize:10, bold:true, color:C.gold, fontFace:"Calibri", align:"center", lineSpacingMultiple:1.1 });
s.addText("5% Mesoporous\nZnO NPs", { x:7.7, y:2.0, w:2.0, h:0.38, fontSize:11, bold:true, color:C.white, fontFace:"Calibri", align:"center", lineSpacingMultiple:1.1 });
s.addText("12.77 ± 1.31 MPa", { x:7.7, y:2.4, w:2.0, h:0.32, fontSize:10, bold:true, color:C.sky, fontFace:"Calibri", align:"center" });
s.addText("p < 0.001 vs. all others", { x:7.7, y:2.72, w:2.0, h:0.25, fontSize:7.5, italic:true, color:C.lightgrey, fontFace:"Calibri", align:"center" });
s.addShape(pres.ShapeType.roundRect, { x:0.35, y:5.06, w:7.2, h:0.28, fill:{color:C.offwhite}, line:{color:C.lightgrey, pt:1}, rectRadius:0.04 });
s.addText("No significant difference among other 6 groups (p > 0.05) | All values in MPa (Mean ± SD) | n = 10 per group", {
x:0.45, y:5.06, w:7.1, h:0.28, fontSize:8, color:C.muted, fontFace:"Calibri", valign:"middle", margin:0,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — RESULTS: DENTIN µSBS (REAL DATA)
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Results — Dentin Microshear Bond Strength (µSBS)", "Real data: Table 1 — Jowkar et al. 2025");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 7);
const groups = [
{ label:"Control\n(RMGIC)", val:6.40, sd:1.54, pct:0.43, color:C.muted },
{ label:"3%\nZnO NPs", val:7.44, sd:1.59, pct:0.50, color:"5AAFC5" },
{ label:"5%\nZnO NPs", val:7.66, sd:1.53, pct:0.51, color:C.teal },
{ label:"7%\nZnO NPs", val:6.63, sd:1.67, pct:0.44, color:"2A7FA8" },
{ label:"3% Meso\nZnO NPs", val:7.43, sd:1.57, pct:0.50, color:"7B5EA7" },
{ label:"5% Meso\nZnO NPs ★", val:9.51, sd:1.52, pct:0.63, color:C.navy },
{ label:"7% Meso\nZnO NPs", val:7.32, sd:1.50, pct:0.49, color:"4A5580" },
];
const baseY = 4.62; const maxH = 2.85; const barW = 0.88; const startX = 0.38;
groups.forEach((g, i) => {
const x = startX + i * 1.32;
const barH = maxH * g.pct;
const barY = baseY - barH;
if (i === 5) {
s.addShape(pres.ShapeType.rect, { x:x-0.07, y:barY-0.08, w:barW+0.14, h:barH+0.08, fill:{color:"FFF3CD"}, line:{color:C.gold, pt:2} });
}
s.addShape(pres.ShapeType.rect, { x, y:barY, w:barW, h:barH, fill:{color:g.color}, line:{color:g.color} });
const sdH = (g.sd / 15) * maxH;
s.addShape(pres.ShapeType.line, { x:x+barW/2, y:barY-sdH, w:0, h:sdH*2, line:{color:C.text, pt:1} });
s.addShape(pres.ShapeType.line, { x:x+barW/2-0.06, y:barY-sdH, w:0.12, h:0, line:{color:C.text, pt:1} });
s.addShape(pres.ShapeType.line, { x:x+barW/2-0.06, y:barY+sdH, w:0.12, h:0, line:{color:C.text, pt:1} });
s.addText(`${g.val}`, { x, y:barY-0.3, w:barW, h:0.28, fontSize:9.5, bold:true, color:g.color, fontFace:"Calibri", align:"center", margin:0 });
s.addText(`±${g.sd}`, { x, y:barY-0.05, w:barW, h:0.22, fontSize:7, color:C.muted, fontFace:"Calibri", align:"center", margin:0 });
s.addText(g.label, { x:x-0.05, y:baseY+0.06, w:barW+0.1, h:0.65, fontSize:8, color:C.text, fontFace:"Calibri", align:"center", valign:"top", lineSpacingMultiple:1.1 });
});
s.addShape(pres.ShapeType.line, { x:0.35, y:baseY, w:9.3, h:0, line:{color:C.muted, pt:1} });
s.addText("µSBS (MPa)", { x:0, y:2.2, w:0.4, h:2, fontSize:8.5, color:C.muted, fontFace:"Calibri", rotate:270, align:"center" });
s.addShape(pres.ShapeType.roundRect, { x:7.7, y:1.55, w:2.0, h:1.52, fill:{color:C.navy}, line:{color:C.navy}, rectRadius:0.08 });
s.addText("★ Best\nPerformer", { x:7.7, y:1.58, w:2.0, h:0.42, fontSize:10, bold:true, color:C.gold, fontFace:"Calibri", align:"center", lineSpacingMultiple:1.1 });
s.addText("5% Mesoporous\nZnO NPs", { x:7.7, y:2.0, w:2.0, h:0.38, fontSize:11, bold:true, color:C.white, fontFace:"Calibri", align:"center", lineSpacingMultiple:1.1 });
s.addText("9.51 ± 1.52 MPa", { x:7.7, y:2.4, w:2.0, h:0.32, fontSize:10, bold:true, color:C.sky, fontFace:"Calibri", align:"center" });
s.addText("p < 0.001 vs. all others", { x:7.7, y:2.72, w:2.0, h:0.25, fontSize:7.5, italic:true, color:C.lightgrey, fontFace:"Calibri", align:"center" });
s.addShape(pres.ShapeType.roundRect, { x:0.35, y:5.06, w:7.2, h:0.28, fill:{color:C.offwhite}, line:{color:C.lightgrey, pt:1}, rectRadius:0.04 });
s.addText("Dentin µSBS consistently lower than enamel across all groups (p < 0.001) | n = 10 per group", {
x:0.45, y:5.06, w:7.1, h:0.28, fontSize:8, color:C.muted, fontFace:"Calibri", valign:"middle", margin:0,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — COMPLETE DATA TABLE
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Table 1 — Complete µSBS Data (Mean ± SD in MPa)", "Jowkar et al. 2025 — all 7 subgroups, both substrates");
sectionTag(s, "DATA TABLE", C.accent);
footerBar(s, 8);
// Table
const headers = ["Subgroup", "Experimental Condition", "Enamel µSBS\n(MPa)", "Dentin µSBS\n(MPa)", "Difference"];
const rows = [
["1", "RMGIC — Control", "9.56 ± 1.44", "6.40 ± 1.54", "3.16"],
["2", "RMGIC + 3 wt.% ZnO NPs", "9.37 ± 1.35", "7.44 ± 1.59", "1.93"],
["3", "RMGIC + 5 wt.% ZnO NPs", "10.45 ± 1.43", "7.66 ± 1.53", "2.79"],
["4", "RMGIC + 7 wt.% ZnO NPs", "10.06 ± 1.58", "6.63 ± 1.67", "3.43"],
["5", "RMGIC + 3 wt.% Mesoporous ZnO NPs", "10.15 ± 1.59", "7.43 ± 1.57", "2.72"],
["6 ★", "RMGIC + 5 wt.% Mesoporous ZnO NPs", "12.77 ± 1.31 ★", "9.51 ± 1.52 ★", "3.26"],
["7", "RMGIC + 7 wt.% Mesoporous ZnO NPs", "9.77 ± 1.68", "7.32 ± 1.50", "2.45"],
];
const colW = [0.4, 3.6, 1.7, 1.7, 1.1];
const colX = [0.35, 0.75, 4.35, 6.05, 7.75];
const rowH = 0.5;
const startY = 1.52;
// Header row
headers.forEach((h, c) => {
s.addShape(pres.ShapeType.rect, { x:colX[c], y:startY, w:colW[c], h:0.52, fill:{color:C.navy}, line:{color:C.white, pt:0.5} });
s.addText(h, { x:colX[c]+0.05, y:startY, w:colW[c]-0.1, h:0.52, fontSize:8.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", lineSpacingMultiple:1.1 });
});
// Data rows
rows.forEach((row, r) => {
const y = startY + 0.52 + r * rowH;
const isWinner = r === 5;
const bg = isWinner ? "FFFBE6" : (r % 2 === 0 ? C.white : C.offwhite);
row.forEach((cell, c) => {
s.addShape(pres.ShapeType.rect, { x:colX[c], y, w:colW[c], h:rowH, fill:{color:bg}, line:{color:C.lightgrey, pt:0.5} });
s.addText(cell, {
x:colX[c]+0.05, y, w:colW[c]-0.1, h:rowH,
fontSize: c === 0 ? 9 : 9.5,
bold: isWinner,
color: isWinner ? C.navy : (c === 2 || c === 3 ? C.teal : C.text),
fontFace:"Calibri", align: c === 0 ? "center" : (c >= 2 ? "center" : "left"),
valign:"middle",
});
});
if (isWinner) {
s.addShape(pres.ShapeType.rect, { x:colX[0], y, w:0.04, h:rowH, fill:{color:C.gold}, line:{color:C.gold} });
}
});
s.addText("★ Only subgroup with statistically significant difference vs. all others (p < 0.001, one-way ANOVA + Tukey HSD)", {
x:0.35, y:5.06, w:9.3, h:0.28, fontSize:8.5, italic:true, color:C.muted, fontFace:"Calibri",
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — FAILURE MODE ANALYSIS
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Failure Mode Analysis", "Distribution of adhesive, cohesive, and mixed failures");
sectionTag(s, "RESULTS", C.accent);
footerBar(s, 9);
s.addText("SEM/stereomicroscope examination (×40) of all fracture surfaces after µSBS testing", {
x:0.35, y:1.55, w:9.3, h:0.3, fontSize:10.5, italic:true, color:C.muted, fontFace:"Calibri",
});
const data = [
{ group:"Control (RMGIC)", adh:"Predominant", coh:"None", mix:"Rare", note:"Weak interfacial bond", color:C.muted },
{ group:"3% ZnO NPs", adh:"Predominant", coh:"None", mix:"Occasional", note:"Similar to control", color:"5AAFC5" },
{ group:"5% ZnO NPs", adh:"Predominant", coh:"None", mix:"Occasional", note:"Marginal improvement", color:C.teal },
{ group:"7% ZnO NPs", adh:"Predominant", coh:"None", mix:"Rare", note:"No improvement over control", color:"2A7FA8" },
{ group:"3% Meso-ZnO NPs", adh:"Predominant", coh:"None", mix:"Occasional", note:"Similar to conventional NPs", color:"7B5EA7" },
{ group:"5% Meso-ZnO NPs ★", adh:"Minority", coh:"3 (enamel), 2 (dentin)", mix:"PREDOMINANT", note:"Strongest bond — shift in failure mode", color:C.navy },
{ group:"7% Meso-ZnO NPs", adh:"Predominant", coh:"None", mix:"Rare", note:"Excess NPs — no benefit", color:"4A5580" },
];
const headers = ["Group", "Adhesive Failure", "Cohesive Failure", "Mixed Failure", "Interpretation"];
const colW2 = [2.15, 1.55, 1.7, 1.55, 2.7];
const colX2 = [0.35, 2.5, 4.05, 5.75, 7.3];
headers.forEach((h, c) => {
s.addShape(pres.ShapeType.rect, { x:colX2[c], y:1.9, w:colW2[c], h:0.35, fill:{color:C.navy}, line:{color:C.white, pt:0.5} });
s.addText(h, { x:colX2[c]+0.05, y:1.9, w:colW2[c]-0.1, h:0.35, fontSize:8.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle" });
});
data.forEach((row, r) => {
const y = 2.25 + r * 0.44;
const isWinner = r === 5;
const bg = isWinner ? "FFFBE6" : (r % 2 === 0 ? C.white : C.offwhite);
const cells = [row.group, row.adh, row.coh, row.mix, row.note];
cells.forEach((cell, c) => {
s.addShape(pres.ShapeType.rect, { x:colX2[c], y, w:colW2[c], h:0.44, fill:{color:bg}, line:{color:C.lightgrey, pt:0.5} });
s.addText(cell, {
x:colX2[c]+0.05, y, w:colW2[c]-0.1, h:0.44,
fontSize:8.5,
bold: isWinner,
color: isWinner ? C.navy : (c === 0 ? row.color : C.text),
fontFace:"Calibri", align: c === 0 ? "left" : "center", valign:"middle",
lineSpacingMultiple:1.1,
});
});
if (isWinner) {
s.addShape(pres.ShapeType.rect, { x:colX2[0], y, w:0.04, h:0.44, fill:{color:C.gold}, line:{color:C.gold} });
}
});
s.addShape(pres.ShapeType.roundRect, { x:0.35, y:5.06, w:9.3, h:0.3, fill:{color:C.gold}, line:{color:C.gold}, rectRadius:0.05 });
s.addText("Key: Shift from adhesive → mixed/cohesive failure in the 5% mesoporous group = stronger interfacial bond exceeding material cohesive strength", {
x:0.5, y:5.06, w:9.1, h:0.3, fontSize:8.5, bold:true, color:C.navy, fontFace:"Calibri", valign:"middle", margin:0,
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — DISCUSSION
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.offwhite}, line:{color:C.offwhite} });
headerBar(s, "Discussion", "Mechanisms, comparisons, and limitations");
sectionTag(s, "DISCUSSION", C.navy);
footerBar(s, 10);
const points = [
{
head:"Why 5% Mesoporous — Optimal Concentration",
body:"The \"Goldilocks\" effect: 3% too little surface contact; 5% achieves ideal NP-matrix interaction; 7% causes agglomeration, weakening the matrix. Mesoporous structure allows resin matrix penetration into pores → stronger micromechanical interlocking.",
color:C.navy,
},
{
head:"Enamel vs. Dentin — Why Enamel is Superior",
body:"Enamel: ~97% mineral, homogeneous → ideal for GIC acid-base reaction adhesion. Dentin: ~70% mineral + organic matrix + tubules → complex substrate, lower inherent bondability. Gap consistent across all 7 subgroups.",
color:C.teal,
},
{
head:"Dual Role of Mesoporous ZnO NPs",
body:"(1) Mechanical reinforcement: fills interstitial voids between glass fillers → denser matrix; high surface area maximizes resin-filler contact.\n(2) Antibacterial: inhibits S. mutans & Lactobacillus biofilm → reduces secondary caries risk — a key clinical advantage.",
color:C.navy,
},
{
head:"Limitations of This Study",
body:"• In vitro only — no salivary enzymes, thermal cycling, or occlusal loading\n• Single 24-h time point — no long-term aging data\n• Biocompatibility and fluoride release post-NP incorporation not assessed\n• Clinical durability requires in vivo confirmation",
color:C.accent,
},
];
points.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
infoCard(s, 0.35 + col*4.85, 1.5 + row*1.85, 4.55, 1.68, p.head, p.body, p.color);
});
}
// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — CONCLUSIONS & CRITICAL APPRAISAL
// ══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy}, line:{color:C.navy} });
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:0.06, fill:{color:C.sky}, line:{color:C.sky} });
s.addText("Conclusions & Critical Appraisal", { x:0.35, y:0.12, w:9.3, h:0.55, fontSize:19, bold:true, color:C.white, fontFace:"Calibri", valign:"middle" });
s.addShape(pres.ShapeType.line, { x:0.35, y:0.76, w:9.3, h:0, line:{color:C.sky, pt:1.5} });
const conclusions = [
"5 wt.% mesoporous ZnO NPs in RMGIC produced the highest µSBS to both enamel (12.77 MPa) and dentin (9.51 MPa)",
"Conventional ZnO NPs at any concentration — and mesoporous ZnO NPs at 3% or 7% — did NOT significantly differ from control",
"Increasing NP concentration beyond 5% does not improve and may reduce bond strength (agglomeration effect)",
"Failure mode shifted from adhesive to mixed/cohesive in 5% mesoporous group — confirms true bond enhancement",
"Enamel consistently outperformed dentin as substrate for RMGIC bonding across all groups",
"Null hypothesis REJECTED — significant differences exist, driven entirely by the 5% mesoporous subgroup",
];
conclusions.forEach((c, i) => {
const y = 0.88 + i * 0.58;
s.addShape(pres.ShapeType.ellipse, { x:0.35, y:y+0.1, w:0.3, h:0.3, fill:{color:C.sky}, line:{color:C.sky} });
s.addText(`${i+1}`, { x:0.35, y:y+0.1, w:0.3, h:0.3, fontSize:8.5, bold:true, color:C.navy, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addText(c, { x:0.76, y, w:8.9, h:0.55, fontSize:10.5, color:C.white, fontFace:"Calibri", valign:"middle", lineSpacingMultiple:1.2 });
});
// Take-home
s.addShape(pres.ShapeType.rect, { x:0.35, y:4.48, w:9.3, h:0.72, fill:{color:"05162E"}, line:{color:C.sky, pt:1} });
s.addText("Take-Home Message: ", { x:0.5, y:4.52, w:1.8, h:0.34, fontSize:10, bold:true, color:C.gold, fontFace:"Calibri", valign:"middle" });
s.addText("Incorporating 5% mesoporous ZnO NPs into RMGIC is a clinically promising strategy offering dual mechanical and antibacterial benefits. Further in vivo and long-term studies are needed.", {
x:0.52, y:4.85, w:9.0, h:0.3, fontSize:9.5, color:C.lightgrey, fontFace:"Calibri", valign:"top",
});
// Footer override
s.addShape(pres.ShapeType.rect, { x:0, y:5.42, w:10, h:0.205, fill:{color:"020D1E"}, line:{color:"020D1E"} });
s.addText("Jowkar Z et al. • Int J Dent 2025 • PMID: 40995531", { x:0.2, y:5.43, w:8, h:0.18, fontSize:7, color:C.muted, fontFace:"Calibri", valign:"middle", margin:0 });
s.addText("11 / 11", { x:8.8, y:5.43, w:1, h:0.18, fontSize:7.5, color:C.sky, bold:true, fontFace:"Calibri", align:"right", valign:"middle", margin:0 });
}
// ─── WRITE ────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/gic-znp-ppt/Mesoporous_ZnO_RMGIC_BondStrength_JournalClub_v2.pptx" })
.then(() => console.log("✅ PPT v2 written successfully"))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/gic-znp-ppt && node build_v2.js
ls -lh /home/daytona/workspace/gic-znp-ppt/
Mesoporous ZnO RMGIC BondStrength JournalClub v2
Presentation · PPTX
| # | Slide | What's Real & Accurate |
|---|---|---|
| 1 | Title | Full author names, journal, DOI, PMID |
| 2 | Outline | 11-slide structure |
| 3 | Background | Accurate clinical gaps per the article |
| 4 | Objectives | 7 subgroups at 3/5/7 wt.% concentrations — correct study design |
| 5 | Methods | Fuji II LC, 140 third molars, PVC microtubes, 1500 mW/cm², SPSS v26 |
| 6 | Results — Enamel | Real bar chart: Control 9.56, up to 12.77 MPa for 5% meso-ZnO ★ with ±SD error bars |
| 7 | Results — Dentin | Real bar chart: Control 6.40, up to 9.51 MPa for 5% meso-ZnO ★ with ±SD error bars |
| 8 | Full Data Table | Complete Table 1 from the paper — all 7 groups, both substrates |
| 9 | Failure Modes | Cohesive failures exclusive to 5% mesoporous group (3 enamel + 2 dentin) |
| 10 | Discussion | Goldilocks effect at 5%, enamel vs. dentin mechanism, dual role, limitations |
| 11 | Conclusions | 6 numbered conclusions with exact MPa values, take-home message |