Explain connective tissue it's classification, types and function
Classification of connective tissue is primarily based on the composition and organization of its extracellular components and on its functions. - Histology: A Text and Atlas
| Category | Subtypes |
|---|---|
| Embryonic CT | Mesenchyme; Mucous (mucoid) CT |
| Connective Tissue Proper | Loose (areolar); Dense irregular; Dense regular |
| Specialized CT | Cartilage; Bone; Adipose; Blood; Hemopoietic; Lymphatic; Reticular |


| Cell | Function |
|---|---|
| Fibroblasts | Synthesize and maintain ECM (collagen, ground substance) |
| Adipocytes | Store triglycerides; endocrine signaling |
| Mast cells | Release histamine/heparin; mediate immediate hypersensitivity |
| Macrophages (fixed) | Phagocytosis; antigen presentation |
| Cell | Function |
|---|---|
| Macrophages | Phagocytosis of pathogens and debris |
| Plasma cells | Antibody secretion |
| Lymphocytes | Adaptive immunity |
| Neutrophils | Acute inflammation |
| Eosinophils | Parasitic defense; allergic response |
| Fiber | Composition | Key Properties | Location |
|---|---|---|---|
| Collagen | Fibrillar collagens (type I most abundant - 90% of body collagen) | Flexible, high tensile strength; 68 nm banding pattern | Skin, bone, tendons, ligaments, organ capsules |
| Reticular | Type III collagen | Thin, delicate meshwork; argyrophilic (silver stain) | Liver, lymphoid organs, bone marrow |
| Elastic | Cross-linked elastin + fibrillin microfibrils | Allows stretch and recoil | Elastic arteries, lung, elastic ligaments of spine |
Generate a detailed comparison chart: loose vs dense vs specialized CT
ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty"
mkdir -p /home/daytona/workspace/ct-chart && node -e "require('pptxgenjs'); console.log('pptxgenjs ok')"
~/ct-chart/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"
pres.title = "Connective Tissue Comparison Chart";
// ─── COLOUR PALETTE ───────────────────────────────────────────────────────────
const C = {
bg: "0D1B2A", // deep navy (slide bg)
panel: "132236", // slightly lighter navy for header bg
loose: "1A6B8A", // teal-blue (loose CT column)
denseIrr: "2E7D5E", // forest green (dense irregular)
denseReg: "3B6EA5", // royal blue (dense regular)
special: "8B3A8B", // purple (specialized)
accent: "E8B84B", // gold accent
white: "FFFFFF",
lightGray: "CBD5E1",
rowEven: "0F2035",
rowOdd: "112540",
headerRow: "1C3556",
};
// ─── SLIDE 1 ─ TITLE ──────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
// Gold top stripe
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.12, fill: { color: C.accent } });
// Main title
s.addText("Connective Tissue", {
x: 0.6, y: 1.4, w: 12, h: 1.1,
fontSize: 54, bold: true, color: C.white, fontFace: "Calibri",
align: "center",
});
s.addText("Comparison Chart", {
x: 0.6, y: 2.45, w: 12, h: 0.9,
fontSize: 42, bold: false, color: C.accent, fontFace: "Calibri",
align: "center", charSpacing: 4,
});
// Subtitle bar
s.addShape(pres.ShapeType.rect, { x: 3.4, y: 3.5, w: 6.5, h: 0.06, fill: { color: C.accent } });
s.addText("Loose · Dense Irregular · Dense Regular · Specialized", {
x: 0.5, y: 3.65, w: 12.3, h: 0.55,
fontSize: 18, color: C.lightGray, fontFace: "Calibri", align: "center", italic: true,
});
s.addText("Based on Junqueira's Basic Histology 17e & Eroschenko's Histology Text and Atlas", {
x: 0.5, y: 6.9, w: 12.3, h: 0.35,
fontSize: 11, color: "6B7E96", fontFace: "Calibri", align: "center",
});
// Bottom gold stripe
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── HELPER: coloured pill badge ──────────────────────────────────────────────
function addColBadge(s, pres, x, y, w, label, color) {
s.addShape(pres.ShapeType.roundRect, { x, y, w, h: 0.42, fill: { color }, rectRadius: 0.06 });
s.addText(label, {
x, y: y + 0.01, w, h: 0.42,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
}
// ─── SLIDE 2 ─ OVERVIEW COMPARISON ───────────────────────────────────────────
// Rows: Category | Collagen Amount | Fiber Arrangement | Cell Density |
// Ground Substance | Vascularity | Main Cell Types | Key Locations | Key Function
{
const s = pres.addSlide();
s.background = { color: C.bg };
// Top bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("CONNECTIVE TISSUE — OVERVIEW COMPARISON", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
// Column header badges
const colX = [0.12, 2.5, 4.9, 7.3, 9.65];
const colW = [2.3, 2.32, 2.32, 2.28, 3.4];
const badgeLabels = ["PARAMETER", "LOOSE (AREOLAR)", "DENSE IRREGULAR", "DENSE REGULAR", "SPECIALIZED CT"];
const badgeColors = [C.headerRow, C.loose, C.denseIrr, C.denseReg, C.special];
colX.forEach((x, i) => addColBadge(s, pres, x, 0.65, colW[i], badgeLabels[i], badgeColors[i]));
// Table rows
const rows = [
["Collagen Amount", "Low – sparse, thin fibers", "High – thick, abundant bundles", "Very high – tightly packed parallel arrays", "Variable (bone: mineralized; blood: absent)"],
["Fiber Arrangement", "Random, loosely interwoven", "Random, multidirectional bundles", "Parallel, unidirectional, highly ordered", "Type-specific (e.g., type II in cartilage, reticulin in lymphoid)"],
["Cell Density", "HIGH – many cell types", "Low – mostly fibroblasts", "Very low – tendinocytes only", "Type-specific (chondrocytes, osteocytes, RBCs, etc.)"],
["Ground Substance", "ABUNDANT – gel-like, water-rich", "Sparse", "Minimal", "Type-specific (hyaluronan in cartilage; plasma in blood)"],
["Vascularity", "Well vascularized", "Moderately vascularized", "Poorly vascularized (avascular tendons)", "Bone: vascular; Cartilage: avascular; Blood: IS vasculature"],
["Main Cell Types", "Fibroblasts, macrophages, mast cells, plasma cells, lymphocytes", "Fibroblasts (predominant)", "Tendinocytes (fibroblast variant)", "Chondrocytes / Osteocytes / Adipocytes / RBCs, WBCs"],
["Key Locations", "Lamina propria, subcutaneous tissue, perivascular sheaths", "Dermis, organ capsules, joint capsules, submucosa", "Tendons, ligaments, aponeuroses, corneal stroma", "Cartilage, bone, adipose tissue, blood, lymphoid organs"],
["Primary Function", "Immune defense, nutrient diffusion, support of microvasculature & nerves", "Organ protection, resistance to multidirectional stress", "Strong directed force transmission (muscle→bone)", "Structural support / storage / transport / immune defense"],
["Staining (H&E)", "Pale pink; sparse pink fibers", "Dense pink collagen; rare nuclei", "Dense parallel pink bands; few aligned nuclei", "Type-specific stains (von Kossa for bone; alcian blue for cartilage)"],
];
const rowY0 = 1.15;
const rowH = 0.63;
rows.forEach((row, ri) => {
const y = rowY0 + ri * rowH;
const bg = ri % 2 === 0 ? C.rowEven : C.rowOdd;
colX.forEach((x, ci) => {
s.addShape(pres.ShapeType.rect, {
x, y, w: colW[ci], h: rowH,
fill: { color: ci === 0 ? C.headerRow : bg },
line: { color: "1E3A5C", width: 0.5 },
});
s.addText(row[ci], {
x: x + 0.06, y, w: colW[ci] - 0.1, h: rowH,
fontSize: ci === 0 ? 12 : 10,
bold: ci === 0,
color: ci === 0 ? C.accent : C.white,
fontFace: "Calibri",
valign: "middle",
wrap: true,
});
});
});
// Bottom
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── SLIDE 3 ─ CONNECTIVE TISSUE PROPER deep-dive ─────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("CONNECTIVE TISSUE PROPER — DETAILED COMPARISON", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
// Three column panels
const panels = [
{
label: "LOOSE CONNECTIVE TISSUE",
color: C.loose,
alias: "Areolar Tissue",
x: 0.15,
content: [
{ h: "Structure", t: "Loosely arranged, thin collagen & elastic fibers in abundant gel-like ground substance. Most cellular of all CT proper." },
{ h: "Cells Present", t: "Fibroblasts · Macrophages · Mast cells · Plasma cells · Lymphocytes · Adipocytes · Neutrophils · Eosinophils" },
{ h: "ECM", t: "Abundant proteoglycans & glycoproteins; high water content; thin collagen type I & III fibers; elastic fibers" },
{ h: "Locations", t: "Lamina propria of GI tract · Subcutaneous layer · Perivascular sheaths · Beneath epithelia of all organs · Mesentery" },
{ h: "Functions", t: "• Immune surveillance & defense\n• Nutrient & gas diffusion\n• Anchors blood vessels & nerves\n• Wound healing & repair\n• Provides pathway for immune cell migration" },
{ h: "Clinical Relevance", t: "Site of acute inflammation; edema accumulates here due to high ground substance water-binding capacity" },
]
},
{
label: "DENSE IRREGULAR CT",
color: C.denseIrr,
alias: "Dermis, Organ Capsules",
x: 4.55,
content: [
{ h: "Structure", t: "Thick collagen fiber bundles running in multiple (random) directions. Few cells, sparse ground substance." },
{ h: "Cells Present", t: "Fibroblasts (predominant) · Occasional macrophages" },
{ h: "ECM", t: "Predominantly type I collagen in irregularly interwoven thick bundles. Minimal ground substance. Few elastic fibers." },
{ h: "Locations", t: "Dermis of skin · Organ capsules (kidney, spleen) · Joint capsules · Periosteum · Submucosa of digestive tract" },
{ h: "Functions", t: "• Resists mechanical forces from ALL directions\n• Protects & encapsulates organs\n• Prevents excessive organ distension\n• Maintains organ shape" },
{ h: "Clinical Relevance", t: "Scarring produces dense irregular CT; capsule fibrosis in organ disease (e.g., liver cirrhosis, renal fibrosis)" },
]
},
{
label: "DENSE REGULAR CT",
color: C.denseReg,
alias: "Tendons & Ligaments",
x: 8.95,
content: [
{ h: "Structure", t: "Tightly packed, parallel collagen bundles in a single direction. Cells aligned in rows between bundles." },
{ h: "Cells Present", t: "Tendinocytes (specialized fibroblasts) aligned in rows between parallel collagen bundles" },
{ h: "ECM", t: "Almost entirely type I collagen in densely packed parallel arrays. Very little ground substance or elastic fibers." },
{ h: "Locations", t: "Tendons · Ligaments · Aponeuroses · Corneal stroma (lamellar variant with alternating fiber layers)" },
{ h: "Functions", t: "• Transmits muscle force to bone (tendons)\n• Stabilizes joints (ligaments)\n• Provides resistance to uniaxial tension\n• Allows precise directional force control" },
{ h: "Clinical Relevance", t: "Poor vascularity means slow healing after tendon/ligament injury; prone to tendinopathy with repetitive stress" },
]
},
];
const panelW = 4.22;
const panelH = 6.5;
panels.forEach(panel => {
const px = panel.x;
// Panel background
s.addShape(pres.ShapeType.roundRect, {
x: px, y: 0.68, w: panelW, h: panelH,
fill: { color: "0A1929" }, rectRadius: 0.08,
line: { color: panel.color, width: 2 },
});
// Header band
s.addShape(pres.ShapeType.roundRect, {
x: px, y: 0.68, w: panelW, h: 0.65,
fill: { color: panel.color }, rectRadius: 0.08,
});
s.addText(panel.label, {
x: px + 0.1, y: 0.68, w: panelW - 0.2, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
s.addText(panel.alias, {
x: px + 0.1, y: 1.0, w: panelW - 0.2, h: 0.28,
fontSize: 10, bold: false, color: C.white, fontFace: "Calibri", align: "center", italic: true, margin: 0,
});
// Content blocks
let cy = 1.42;
panel.content.forEach(item => {
s.addText(item.h.toUpperCase(), {
x: px + 0.15, y: cy, w: panelW - 0.3, h: 0.22,
fontSize: 9, bold: true, color: panel.color, fontFace: "Calibri",
});
cy += 0.22;
s.addText(item.t, {
x: px + 0.15, y: cy, w: panelW - 0.3, h: 0.58,
fontSize: 8.5, color: C.lightGray, fontFace: "Calibri", wrap: true,
});
cy += 0.62;
});
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── SLIDE 4 ─ SPECIALIZED CT ─────────────────────────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("SPECIALIZED CONNECTIVE TISSUES — COMPARISON", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
const spCols = [
{ label: "CT TYPE", w: 1.7, color: C.headerRow },
{ label: "MAIN CELL(S)", w: 2.0, color: C.headerRow },
{ label: "ECM / FIBERS", w: 2.5, color: C.headerRow },
{ label: "GROUND SUBSTANCE", w: 2.3, color: C.headerRow },
{ label: "KEY FUNCTIONS", w: 2.7, color: C.headerRow },
{ label: "LOCATION / EXAMPLE", w: 1.95, color: C.headerRow },
];
const spX = [0.12, 1.85, 3.88, 6.42, 8.75, 11.48];
// Draw header badges
spCols.forEach((col, i) => {
s.addShape(pres.ShapeType.rect, {
x: spX[i], y: 0.68, w: col.w, h: 0.38,
fill: { color: C.special },
line: { color: "4A1E6B", width: 0.5 },
});
s.addText(col.label, {
x: spX[i] + 0.04, y: 0.68, w: col.w - 0.06, h: 0.38,
fontSize: 9.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
});
const spRows = [
["Cartilage\n(Hyaline)", "Chondrocytes\n(in lacunae)", "Type II collagen fine fibrils; elastic fibers in elastic cartilage", "Abundant – hyaluronan proteoglycan aggregates (aggrecan); chondroitin/keratan sulfate", "Resists compression; smooth articular surface; precursor model for endochondral bone", "Articular cartilage, tracheal rings, costal cartilage, epiglottis"],
["Bone", "Osteoblasts,\nOsteocytes,\nOsteoclasts", "Type I collagen (osteoid); mineralized with calcium hydroxyapatite [Ca₁₀(PO₄)₆(OH)₂]", "Sparse (osteoid); mineral-rich; osteocalcin, osteopontin, osteonectin", "Structural support; protects organs; Ca²⁺/PO₄³⁻ reservoir; levers for muscle action; houses marrow", "Compact bone (diaphysis), spongy bone (epiphysis)"],
["Adipose Tissue\n(White)", "Adipocytes\n(unilocular)", "Minimal collagen; thin reticular fibers surround each cell", "Thin; collagen type III network; leptin, adiponectin secreted", "Energy storage (triglycerides); thermal insulation; mechanical cushioning; endocrine signaling", "Subcutaneous fat, visceral fat, bone marrow fat"],
["Adipose Tissue\n(Brown)", "Adipocytes\n(multilocular)", "Minimal collagen; highly vascularized stroma", "Thin; abundant mitochondria; UCP-1 expression", "Non-shivering thermogenesis; heat generation via uncoupling of ATP synthesis", "Interscapular (infants), paraortic, perirenal"],
["Blood", "RBCs, WBCs,\nPlatelets", "No structural fibers (fibrinogen → fibrin on clotting)", "Plasma: water, proteins (albumin, globulins, fibrinogen), ions, nutrients, hormones", "O₂/CO₂ transport; immune defense; hemostasis; nutrient/waste transport; pH buffering", "Cardiovascular system; ~5 L in adult"],
["Reticular CT", "Reticular cells\n(fibroblast variant)", "Type III collagen (reticulin); thin, argyrophilic fibers; silver-staining", "Moderate; forms delicate 3D meshwork stroma", "Scaffolding for hemopoietic cells; structural support in lymphoid organs; allows cell movement", "Bone marrow, lymph nodes, spleen, liver sinusoids"],
["Hemopoietic", "HSCs, precursor cells, stromal cells", "Reticular fibers (type III collagen); sinusoidal endothelium", "Adipose-rich stroma (yellow marrow) or cell-rich stroma (red marrow)", "Production of all blood cells; RBCs, WBCs, platelets; immune cell generation", "Red bone marrow (sternum, iliac crest, vertebrae)"],
["Lymphoid CT", "Lymphocytes,\nDendritic cells,\nMacrophages", "Reticular fibers (type III collagen stroma)", "Contains high endothelial venules; rich lymph fluid", "Adaptive immunity; B & T cell maturation; antigen presentation; antibody production", "Lymph nodes, spleen, thymus, MALT, tonsils"],
];
const rowH2 = 0.75;
const row0y = 1.1;
spRows.forEach((row, ri) => {
const y = row0y + ri * rowH2;
const bg = ri % 2 === 0 ? C.rowEven : C.rowOdd;
spX.forEach((x, ci) => {
s.addShape(pres.ShapeType.rect, {
x, y, w: spCols[ci].w, h: rowH2,
fill: { color: ci === 0 ? "1C1040" : bg },
line: { color: "2D1F5A", width: 0.4 },
});
s.addText(row[ci], {
x: x + 0.05, y, w: spCols[ci].w - 0.08, h: rowH2,
fontSize: ci === 0 ? 9.5 : 8.5,
bold: ci === 0,
color: ci === 0 ? C.accent : C.white,
fontFace: "Calibri",
valign: "middle",
wrap: true,
});
});
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── SLIDE 5 ─ FIBERS & ECM ───────────────────────────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("CONNECTIVE TISSUE FIBERS — COMPARATIVE OVERVIEW", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
// Column headers
const fibCols = ["PROPERTY", "COLLAGEN FIBERS", "RETICULAR FIBERS", "ELASTIC FIBERS"];
const fibColors = ["2B3A4A", "1A6B8A", "2E7D5E", "8B3A3A"];
const fibX = [0.15, 3.45, 7.0, 10.2];
const fibW = [3.25, 3.5, 3.15, 3.0];
fibCols.forEach((label, i) => {
s.addShape(pres.ShapeType.rect, {
x: fibX[i], y: 0.68, w: fibW[i], h: 0.4,
fill: { color: fibColors[i] },
line: { color: "1E3A5C", width: 0.5 },
});
s.addText(label, {
x: fibX[i], y: 0.68, w: fibW[i], h: 0.4,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
});
const fibRows = [
["Composition", "Type I, II, III, V collagen (70+ types exist). Type I = 90% of body collagen", "Type III collagen (reticulin). Thin, branching fibrils coated with glycoproteins", "Cross-linked elastin core + fibrillin microfibrils (fibrillin-1, fibrillin-2, EMILINs, MAGPs)"],
["Structural Unit", "Tropocollagen triple helix → fibrils (67 nm banding) → collagen fibers", "Thin type III collagen fibrils (<1 µm dia.) forming delicate 3D meshwork", "Amorphous elastin surrounded by fibrillin microfibril scaffold"],
["Thickness", "1–12 µm diameter; visible as thick pink bands on H&E", "Very thin (<1 µm); barely visible on H&E; require silver stain (argyrophilic)", "1–5 µm; thin, wavy, branching; visible with Weigert's / Verhoeff stain"],
["Staining", "H&E: pink/eosinophilic. Masson's trichrome: blue/green", "PAS: positive (glycoprotein coat). Silver nitrate: black. H&E: poorly visible", "Weigert's resorcin-fuchsin: blue-black. Verhoeff: dark. H&E: pale pink, wavy"],
["Mechanical Property", "High tensile strength; flexible but inextensible; resist stretch & tension", "Weak mechanically; form supportive meshwork, not load-bearing", "Highly elastic; can stretch to ~150% length and recoil; low tensile strength"],
["Produced By", "Fibroblasts (CT); chondroblasts (cartilage); osteoblasts (bone); odontoblasts (dentin)", "Fibroblasts (most tissues); reticular cells (lymphoid organs & bone marrow)", "Fibroblasts; chondrocytes; endothelial cells; smooth muscle cells"],
["Where Abundant", "Skin dermis, bone, tendons, ligaments, organ capsules, cornea", "Liver sinusoids, bone marrow, spleen red pulp, lymph nodes, endoneurium", "Elastic arteries (aorta), lung alveoli, skin dermis, vocal cords, elastic ligaments (ligamentum flavum)"],
["Clinical Significance","Osteogenesis imperfecta (type I ↓); Ehlers-Danlos syndrome; fibrosis in chronic disease", "Reticulin loss = liver fibrosis; reticulin patterns used in bone marrow biopsy diagnosis", "Marfan syndrome (fibrillin-1 mutation → aneurysm); elastic tissue loss → skin ageing, arterial stiffness"],
];
const fRowH = 0.72;
const fRow0 = 1.15;
fibRows.forEach((row, ri) => {
const y = fRow0 + ri * fRowH;
const bg = ri % 2 === 0 ? C.rowEven : C.rowOdd;
fibX.forEach((x, ci) => {
s.addShape(pres.ShapeType.rect, {
x, y, w: fibW[ci], h: fRowH,
fill: { color: ci === 0 ? C.headerRow : bg },
line: { color: "1E3A5C", width: 0.4 },
});
s.addText(ci === 0 ? row[0] : row[ci], {
x: x + 0.06, y, w: fibW[ci] - 0.1, h: fRowH,
fontSize: ci === 0 ? 10.5 : 9,
bold: ci === 0,
color: ci === 0 ? C.accent : C.white,
fontFace: "Calibri",
valign: "middle",
wrap: true,
});
});
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── SLIDE 6 ─ CELLS OF CT ────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("CELLS OF CONNECTIVE TISSUE", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
// Two panels: Resident vs Transient
const panelDefs = [
{ label: "RESIDENT (FIXED) CELLS", x: 0.15, color: "1A4B6B" },
{ label: "TRANSIENT (WANDERING) CELLS", x: 6.7, color: "4B1A6B" },
];
const cellData = [
// [cell, origin/marker, main CT type found, primary function, notable features]
[
["Fibroblast", "Mesenchyme-derived; most abundant resident cell", "ALL connective tissue proper", "Synthesize & maintain ECM: collagen, ground substance, elastic fibers", "Activated → myofibroblast in wound healing; becomes fibrocyte (inactive form)"],
["Macrophage\n(Fixed/Histiocyte)", "Monocyte → tissue macrophage (long-lived)", "Loose CT, especially around vessels", "Phagocytosis of pathogens, debris; antigen presentation; cytokine release", "Kupffer cells (liver), alveolar macrophages (lung), Langerhans cells (skin)"],
["Mast Cell", "Bone marrow precursor (basophil-related?)", "Loose CT near blood vessels & epithelial surfaces", "IgE-mediated degranulation: histamine, heparin, leukotrienes → inflammation & allergy", "Metachromatic granules; identified by toluidine blue or safranin"],
["Adipocyte", "Mesenchymal stem cell → preadipocyte", "Loose CT, adipose tissue", "Lipid storage (white); thermogenesis (brown); leptin, adiponectin secretion", "Unilocular (white) vs multilocular (brown)"],
["Reticular Cell", "Mesenchyme-derived fibroblast variant", "Lymphoid organs, bone marrow", "Produces type III collagen reticular framework; supports hemopoiesis & immunity", "Phagocytic capacity; form stroma of lymphoid organs"],
],
[
["Plasma Cell", "B lymphocyte → plasma cell", "Loose CT (esp. lamina propria, inflamed tissue)", "Antibody (immunoglobulin) secretion; humoral immunity", "Prominent clock-face chromatin; extensive RER; short-lived (2–3 days)"],
["Lymphocyte", "Lymphoid stem cell (bone marrow/thymus)", "All loose CT, especially lamina propria", "Adaptive immune response; T cells (cell-mediated) and B cells (humoral)", "Small, round, dark nucleus; seen in all inflamed connective tissues"],
["Neutrophil", "Myeloid precursor (bone marrow)", "Loose CT during acute inflammation only", "First responders; phagocytose bacteria; release proteases, reactive oxygen species", "Multi-lobed nucleus; short-lived (~6 hours in tissue); predominate in pus"],
["Eosinophil", "Myeloid precursor (bone marrow)", "Loose CT in mucosal surfaces, parasitic infections, allergies", "Kill parasites; modulate allergic response; phagocytose antigen-antibody complexes", "Bi-lobed nucleus; bright eosinophilic granules (major basic protein)"],
["Monocyte", "Myeloid precursor (bone marrow)", "All CT (short transit)", "Precursor to tissue macrophages and dendritic cells; innate immunity", "Large kidney-shaped nucleus; differentiates within 24–48 h of entering tissue"],
],
];
const colH = ["CELL", "ORIGIN / MARKER", "WHERE FOUND IN CT", "PRIMARY FUNCTION", "KEY FEATURES"];
const colXc = [0, 2.0, 4.15, 6.05, 8.6];
const colWc = [1.95, 2.1, 1.85, 2.5, 2.5];
panelDefs.forEach((panel, pi) => {
const panX = pi === 0 ? 0.15 : 6.7;
const panelWidth = pi === 0 ? 6.35 : 6.4;
// Panel header
s.addShape(pres.ShapeType.rect, {
x: panX, y: 0.68, w: panelWidth, h: 0.38,
fill: { color: panel.color },
});
s.addText(panel.label, {
x: panX, y: 0.68, w: panelWidth, h: 0.38,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
// Sub-headers
const subHdrs = ["CELL", "FOUND IN", "FUNCTION", "KEY FEATURE"];
const sHX = pi === 0 ? [0.15, 1.9, 3.95, 6.0] : [6.7, 8.45, 10.5, 11.8];
const sHW = [1.7, 2.0, 2.0, 2.4];
sHX.forEach((x, i) => {
s.addShape(pres.ShapeType.rect, {
x, y: 1.1, w: sHW[i], h: 0.3,
fill: { color: "1E3A5C" },
line: { color: "2E5A8C", width: 0.4 },
});
s.addText(subHdrs[i], {
x, y: 1.1, w: sHW[i], h: 0.3,
fontSize: 8.5, bold: true, color: C.accent, fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
});
// Cell rows
const rH = 1.12;
const r0y = 1.45;
cellData[pi].forEach((cell, ri) => {
const y = r0y + ri * rH;
const bg = ri % 2 === 0 ? C.rowEven : C.rowOdd;
const cellX = pi === 0 ? [0.15, 1.9, 3.95, 6.0] : [6.7, 8.45, 10.5, 11.8];
const cellW = [1.7, 2.0, 2.0, 2.35];
const texts = [cell[0], cell[2], cell[3], cell[4]];
cellX.forEach((x, ci) => {
s.addShape(pres.ShapeType.rect, {
x, y, w: cellW[ci], h: rH,
fill: { color: ci === 0 ? (pi === 0 ? "0E2A42" : "1F0E42") : bg },
line: { color: "1E3A5C", width: 0.4 },
});
s.addText(texts[ci], {
x: x + 0.05, y, w: cellW[ci] - 0.08, h: rH,
fontSize: ci === 0 ? 10 : 8.5,
bold: ci === 0,
color: ci === 0 ? C.accent : C.white,
fontFace: "Calibri",
valign: "middle",
wrap: true,
});
});
});
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── SLIDE 7 ─ QUICK-REFERENCE SUMMARY TABLE ─────────────────────────────────
{
const s = pres.addSlide();
s.background = { color: C.bg };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
s.addText("QUICK REFERENCE SUMMARY", {
x: 0.3, y: 0.15, w: 12.7, h: 0.45,
fontSize: 18, bold: true, color: C.accent, fontFace: "Calibri", align: "center", charSpacing: 2,
});
// Key comparison rows in big visual boxes
const summaryItems = [
{ ct: "Loose CT", icon: "◉", color: C.loose, col: "COLLAGEN", colVal: "Low", fib: "FIBERS", fibVal: "Random/sparse", cells: "CELLS", cellVal: "Many types", fn: "FUNCTION", fnVal: "Defense & diffusion" },
{ ct: "Dense Irregular CT", icon: "▣", color: C.denseIrr, col: "COLLAGEN", colVal: "High", fib: "FIBERS", fibVal: "Random/multidirect.", cells: "CELLS", cellVal: "Few (fibroblasts)", fn: "FUNCTION", fnVal: "Organ protection" },
{ ct: "Dense Regular CT", icon: "≡", color: C.denseReg, col: "COLLAGEN", colVal: "Very High", fib: "FIBERS", fibVal: "Parallel/ordered", cells: "CELLS", cellVal: "Very few (tendinocytes)", fn: "FUNCTION", fnVal: "Force transmission" },
{ ct: "Cartilage", icon: "○", color: "3FA9B8", col: "COLLAGEN", colVal: "Type II (hyaline)", fib: "MATRIX", fibVal: "Aggrecan-rich (hyaluronan)", cells: "CELLS", cellVal: "Chondrocytes (lacunae)", fn: "FUNCTION", fnVal: "Compression resistance" },
{ ct: "Bone", icon: "◆", color: "C7902A", col: "COLLAGEN", colVal: "Type I (mineralized)", fib: "MATRIX", fibVal: "Calcium hydroxyapatite", cells: "CELLS", cellVal: "Osteoblasts/Osteocytes", fn: "FUNCTION", fnVal: "Support & mineral storage" },
{ ct: "Adipose", icon: "●", color: "7A9E3A", col: "COLLAGEN", colVal: "Minimal (type III)", fib: "MATRIX", fibVal: "Thin reticular network", cells: "CELLS", cellVal: "Adipocytes (lipid-filled)", fn: "FUNCTION", fnVal: "Energy storage & insulation" },
{ ct: "Blood", icon: "◑", color: "9E2A2A", col: "COLLAGEN", colVal: "None (fibrinogen→fibrin)", fib: "MATRIX", fibVal: "Plasma (liquid ECM)", cells: "CELLS", cellVal: "RBCs, WBCs, Platelets", fn: "FUNCTION", fnVal: "Transport & immunity" },
];
const boxW = 13.0 / summaryItems.length;
summaryItems.forEach((item, i) => {
const bx = 0.15 + i * boxW;
// Background box
s.addShape(pres.ShapeType.roundRect, {
x: bx, y: 0.68, w: boxW - 0.08, h: 6.55,
fill: { color: "0A1929" }, rectRadius: 0.06,
line: { color: item.color, width: 1.5 },
});
// Color header
s.addShape(pres.ShapeType.roundRect, {
x: bx, y: 0.68, w: boxW - 0.08, h: 0.62,
fill: { color: item.color }, rectRadius: 0.06,
});
s.addText(item.ct, {
x: bx + 0.05, y: 0.68, w: boxW - 0.16, h: 0.62,
fontSize: 9.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", wrap: true, margin: 0,
});
// Key-value blocks
const kvItems = [
{ k: "COLLAGEN", v: item.colVal },
{ k: "FIBERS/MATRIX", v: item.fibVal },
{ k: "CELLS", v: item.cellVal },
{ k: "VASCULARITY", v: i === 0 ? "Well vascularized" : i === 1 ? "Moderate" : i === 2 ? "Poor (avascular)" : i === 3 ? "Avascular" : i === 4 ? "Vascular (Haversian)" : i === 5 ? "Well vascularized" : "IS vasculature" },
{ k: "FUNCTION", v: item.fnVal },
{ k: "STAIN", v: i === 0 ? "H&E: pale pink" : i === 1 ? "H&E: dense pink" : i === 2 ? "H&E: parallel pink bands" : i === 3 ? "Alcian blue (GAGs)" : i === 4 ? "Von Kossa (Ca²⁺)" : i === 5 ? "Oil Red O (lipids)" : "Giemsa / Wright" },
];
kvItems.forEach((kv, ki) => {
const ky = 1.38 + ki * 0.85;
s.addText(kv.k, {
x: bx + 0.06, y: ky, w: boxW - 0.18, h: 0.25,
fontSize: 7.5, bold: true, color: item.color, fontFace: "Calibri", align: "center",
});
s.addShape(pres.ShapeType.rect, {
x: bx + 0.1, y: ky + 0.26, w: boxW - 0.24, h: 0.54,
fill: { color: "0E1E30" },
line: { color: item.color, width: 0.5 },
});
s.addText(kv.v, {
x: bx + 0.1, y: ky + 0.26, w: boxW - 0.24, h: 0.54,
fontSize: 8, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", wrap: true, margin: 0,
});
});
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 7.38, w: "100%", h: 0.12, fill: { color: C.accent } });
}
// ─── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/ct-chart/Connective_Tissue_Comparison_Chart.pptx" })
.then(() => console.log("DONE"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/ct-chart && node build.js 2>&1
ls -lh /home/daytona/workspace/ct-chart/
Connective Tissue Comparison Chart
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 - Title | Cover slide with deep navy + gold design |
| 2 - Overview Comparison | 9-row master table: Loose vs Dense Irregular vs Dense Regular vs Specialized CT - covering collagen amount, fiber arrangement, cell density, ground substance, vascularity, main cells, locations, function, and staining |
| 3 - CT Proper Deep-Dive | Three side-by-side detailed panels for Loose, Dense Irregular, and Dense Regular - with structure, cells, ECM, locations, functions, and clinical relevance |
| 4 - Specialized CT | 8-row table covering Cartilage, Bone, White Adipose, Brown Adipose, Blood, Reticular CT, Hemopoietic, and Lymphoid tissue - with cells, ECM, ground substance, functions, and location |
| 5 - Fibers Comparison | Collagen vs Reticular vs Elastic fibers - composition, structural unit, thickness, staining, mechanical properties, producing cells, where abundant, and clinical diseases |
| 6 - Cells of CT | Side-by-side panels for Resident cells (fibroblast, macrophage, mast cell, adipocyte, reticular cell) vs Transient cells (plasma cell, lymphocyte, neutrophil, eosinophil, monocyte) |
| 7 - Quick Reference Summary | 7 compact visual columns (one per CT type) with color-coded key-value blocks for collagen, matrix, cells, vascularity, function, and staining method |
Open it
Connective Tissue Comparison Chart
Presentation · PPTX