{"id":3995,"date":"2026-03-19T08:47:07","date_gmt":"2026-03-19T08:47:07","guid":{"rendered":"https:\/\/saiweiglass.com\/?page_id=3995"},"modified":"2026-03-19T08:49:04","modified_gmt":"2026-03-19T08:49:04","slug":"transmittance-diffusion-visualizer","status":"publish","type":"page","link":"https:\/\/saiweiglass.com\/pt\/industries\/lighting-led\/transmittance-diffusion-visualizer\/","title":{"rendered":"visualizador difus\u00e3o transmit\u00e2ncia"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-781c258\" data-block-id=\"781c258\"><style>.stk-781c258 {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-781c258-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-f3612ff\" data-v=\"4\" data-block-id=\"f3612ff\"><style>.stk-f3612ff-container{margin-top:var(--stk--preset--spacing--60, 2.25rem) !important;margin-right:var(--stk--preset--spacing--60, 2.25rem) !important;margin-bottom:var(--stk--preset--spacing--60, 2.25rem) !important;margin-left:var(--stk--preset--spacing--60, 2.25rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-f3612ff-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-f3612ff-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-8835d96\" data-block-id=\"8835d96\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-8835d96-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-9b29368\" data-v=\"4\" data-block-id=\"9b29368\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-9b29368-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-9b29368-inner-blocks\">\n<!-- Light Transmittance & Diffusion Visualizer | bx-optics-viz-v1 -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&#038;display=swap\" rel=\"stylesheet\">\n\n<section id=\"bx-optics-viz-v1\">\n\n<style>\n#bx-optics-viz-v1 *,\n#bx-optics-viz-v1 *::before,\n#bx-optics-viz-v1 *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n#bx-optics-viz-v1 {\n  font-family: inherit;\n  color: inherit;\n  max-width: 1120px;\n  margin: 0 auto;\n  padding: 10px 24px;\n}\n\n#bx-optics-viz-v1 h2 {\n  font-family: inherit !important;\n  margin-bottom: 8px;\n}\n\n#bx-optics-viz-v1 .bxv-subtitle {\n  font-size: 0.95rem;\n  opacity: 0.75;\n  margin-bottom: 32px;\n}\n\n\/* Selector card *\/\n#bx-optics-viz-v1 .bxv-selector-card {\n  background: #ffffff;\n  border: 1px solid #d8dde8;\n  border-radius: 2px;\n  padding: 28px 32px;\n  margin-bottom: 24px;\n}\n\n#bx-optics-viz-v1 .bxv-card-title {\n  font-size: 0.75rem;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: #304890;\n  margin-bottom: 16px;\n}\n\n#bx-optics-viz-v1 .bxv-check-group {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n#bx-optics-viz-v1 .bxv-check-label {\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  cursor: pointer;\n  padding: 10px 20px 10px 44px;\n  border: 1px solid #c0c8d8;\n  border-radius: 2px;\n  background: #f7f9fc;\n  font-size: 0.9rem;\n  transition: border-color 0.18s, background 0.18s;\n  user-select: none;\n}\n\n#bx-optics-viz-v1 .bxv-check-label:hover {\n  border-color: #1860A8;\n  background: #edf2fb;\n}\n\n#bx-optics-viz-v1 .bxv-check-label.bxv-checked {\n  border-color: #304890;\n  background: #eef1fa;\n  font-weight: 600;\n}\n\n#bx-optics-viz-v1 .bxv-check-label input[type=\"checkbox\"] {\n  position: absolute !important;\n  opacity: 0 !important;\n  width: 0;\n  height: 0;\n}\n\n#bx-optics-viz-v1 .bxv-check-box {\n  position: absolute;\n  left: 13px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 18px;\n  height: 18px;\n  border: 2px solid #a0aac0;\n  border-radius: 2px;\n  background: #fff;\n  transition: border-color 0.18s, background 0.18s;\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n#bx-optics-viz-v1 .bxv-check-label.bxv-checked .bxv-check-box {\n  border-color: #304890;\n  background: #304890;\n}\n\n#bx-optics-viz-v1 .bxv-check-tick {\n  display: none;\n  width: 10px;\n  height: 6px;\n  border-left: 2px solid #fff;\n  border-bottom: 2px solid #fff;\n  transform: rotate(-45deg) translateY(-1px);\n}\n\n#bx-optics-viz-v1 .bxv-check-label.bxv-checked .bxv-check-tick {\n  display: block;\n}\n\n#bx-optics-viz-v1 .bxv-color-dot {\n  width: 10px;\n  height: 10px;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n#bx-optics-viz-v1 .bxv-validation {\n  margin-top: 10px;\n  font-size: 0.82rem;\n  color: #c0392b;\n  display: none;\n}\n#bx-optics-viz-v1 .bxv-validation.bxv-show {\n  display: block;\n}\n\n\/* Comparison grid *\/\n#bx-optics-viz-v1 .bxv-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n  gap: 18px;\n  margin-bottom: 28px;\n}\n\n#bx-optics-viz-v1 .bxv-glass-card {\n  background: #fff;\n  border: 1px solid #d8dde8;\n  border-radius: 2px;\n  overflow: hidden;\n  transition: box-shadow 0.2s;\n}\n\n#bx-optics-viz-v1 .bxv-glass-card:hover {\n  box-shadow: 0 4px 18px rgba(48, 72, 144, 0.1);\n}\n\n#bx-optics-viz-v1 .bxv-glass-card-head {\n  padding: 14px 18px;\n  color: #fff;\n  font-weight: 700;\n  font-size: 0.88rem;\n  letter-spacing: 0.02em;\n  line-height: 1.35;\n}\n\n#bx-optics-viz-v1 .bxv-glass-card-body {\n  padding: 18px;\n}\n\n\/* Light simulation panel *\/\n#bx-optics-viz-v1 .bxv-light-sim {\n  height: 56px;\n  border-radius: 2px;\n  margin-bottom: 18px;\n  position: relative;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n#bx-optics-viz-v1 .bxv-light-sim-inner {\n  position: absolute;\n  inset: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 0.72rem;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  z-index: 2;\n}\n\n#bx-optics-viz-v1 .bxv-sim-label {\n  position: relative;\n  z-index: 3;\n  font-size: 0.72rem;\n  font-weight: 700;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  mix-blend-mode: multiply;\n}\n\n\/* Metric rows *\/\n#bx-optics-viz-v1 .bxv-metric {\n  margin-bottom: 16px;\n}\n\n#bx-optics-viz-v1 .bxv-metric-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: baseline;\n  margin-bottom: 6px;\n}\n\n#bx-optics-viz-v1 .bxv-metric-name {\n  font-size: 0.72rem;\n  font-weight: 700;\n  letter-spacing: 0.07em;\n  text-transform: uppercase;\n  color: #6878a0;\n}\n\n#bx-optics-viz-v1 .bxv-metric-value {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.95rem;\n  font-weight: 600;\n  color: #304890;\n}\n\n#bx-optics-viz-v1 .bxv-bar-track {\n  height: 10px;\n  background: #eef1f8;\n  border-radius: 1px;\n  overflow: hidden;\n}\n\n#bx-optics-viz-v1 .bxv-bar-fill {\n  height: 100%;\n  border-radius: 1px;\n  transition: width 0.5s ease;\n}\n\n\/* Hotspot *\/\n#bx-optics-viz-v1 .bxv-hotspot-row {\n  margin-bottom: 16px;\n}\n\n#bx-optics-viz-v1 .bxv-hotspot-label-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 6px;\n}\n\n#bx-optics-viz-v1 .bxv-hotspot-name {\n  font-size: 0.72rem;\n  font-weight: 700;\n  letter-spacing: 0.07em;\n  text-transform: uppercase;\n  color: #6878a0;\n}\n\n#bx-optics-viz-v1 .bxv-hotspot-indicator {\n  display: flex;\n  gap: 4px;\n  align-items: center;\n}\n\n#bx-optics-viz-v1 .bxv-hotspot-dot {\n  width: 12px;\n  height: 12px;\n  border-radius: 50%;\n  background: #e0e4f0;\n}\n\n#bx-optics-viz-v1 .bxv-hotspot-badge {\n  font-size: 0.75rem;\n  font-weight: 700;\n  padding: 3px 10px;\n  border-radius: 2px;\n  font-family: 'IBM Plex Mono', monospace;\n  letter-spacing: 0.04em;\n}\n\n\/* Best for *\/\n#bx-optics-viz-v1 .bxv-best-for {\n  font-size: 0.83rem;\n  line-height: 1.5;\n  color: inherit;\n  opacity: 0.85;\n  border-top: 1px solid #e8ecf4;\n  padding-top: 14px;\n  margin-top: 4px;\n}\n\n#bx-optics-viz-v1 .bxv-best-for strong {\n  font-size: 0.7rem;\n  font-weight: 700;\n  letter-spacing: 0.07em;\n  text-transform: uppercase;\n  color: #304890;\n  display: block;\n  margin-bottom: 4px;\n}\n\n\/* Empty state *\/\n#bx-optics-viz-v1 .bxv-empty {\n  background: #f7f9fc;\n  border: 1px dashed #c0c8d8;\n  border-radius: 2px;\n  padding: 40px;\n  text-align: center;\n  color: #8090b0;\n  font-size: 0.9rem;\n  margin-bottom: 28px;\n}\n\n\/* Footer *\/\n#bx-optics-viz-v1 .bxv-footer {\n  background: #fff;\n  border: 1px solid #d8dde8;\n  border-radius: 2px;\n  padding: 24px 32px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 20px;\n  flex-wrap: wrap;\n}\n\n#bx-optics-viz-v1 .bxv-footer-note {\n  font-size: 0.9rem;\n  line-height: 1.55;\n  opacity: 0.8;\n  flex: 1;\n  min-width: 200px;\n}\n\n#bx-optics-viz-v1 .bxv-cta-link {\n  display: inline-block;\n  background: #1860A8;\n  color: #ffffff !important;\n  text-decoration: none;\n  border-radius: 2px;\n  padding: 12px 28px;\n  font-size: 0.95rem;\n  font-weight: 600;\n  transition: background 0.18s;\n  letter-spacing: 0.01em;\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n#bx-optics-viz-v1 .bxv-cta-link:hover {\n  background: #1878C0;\n  color: #ffffff !important;\n  text-decoration: none;\n}\n\n\/* Legend strip *\/\n#bx-optics-viz-v1 .bxv-legend {\n  display: flex;\n  gap: 20px;\n  flex-wrap: wrap;\n  margin-bottom: 20px;\n  font-size: 0.8rem;\n  align-items: center;\n}\n\n#bx-optics-viz-v1 .bxv-legend-item {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n\n#bx-optics-viz-v1 .bxv-legend-bar {\n  width: 24px;\n  height: 8px;\n  border-radius: 1px;\n}\n\n\/* Responsive *\/\n@media (max-width: 860px) {\n  #bx-optics-viz-v1 .bxv-selector-card {\n    padding: 20px 18px;\n  }\n\n  #bx-optics-viz-v1 .bxv-check-group {\n    flex-direction: column;\n  }\n\n  #bx-optics-viz-v1 .bxv-check-label {\n    width: 100%;\n  }\n\n  #bx-optics-viz-v1 .bxv-grid {\n    grid-template-columns: 1fr;\n  }\n\n  #bx-optics-viz-v1 .bxv-footer {\n    padding: 20px 18px;\n    flex-direction: column;\n    align-items: flex-start;\n  }\n\n  #bx-optics-viz-v1 .bxv-cta-link {\n    width: 100%;\n    text-align: center;\n  }\n}\n<\/style>\n\n<h2>Light Transmittance vs Diffusion: Glass Type Visualizer<\/h2>\n<p class=\"bxv-subtitle\">Select one to four glass types to compare their optical properties side by side. Each card shows transmittance, haze level, hotspot visibility, and recommended use cases.<\/p>\n\n<div class=\"bxv-selector-card\">\n  <div class=\"bxv-card-title\">Select Glass Types to Compare (1\u20134)<\/div>\n  <div class=\"bxv-check-group\" id=\"bxv-check-group\">\n\n    <label class=\"bxv-check-label bxv-checked\" data-id=\"clear\">\n      <input type=\"checkbox\" name=\"bxv-glass\" value=\"clear\" checked>\n      <span class=\"bxv-check-box\"><span class=\"bxv-check-tick\"><\/span><\/span>\n      <span class=\"bxv-color-dot\" style=\"background:#304890;\"><\/span>\n      Clear Tempered Glass\n    <\/label>\n\n    <label class=\"bxv-check-label\" data-id=\"frost-light\">\n      <input type=\"checkbox\" name=\"bxv-glass\" value=\"frost-light\">\n      <span class=\"bxv-check-box\"><span class=\"bxv-check-tick\"><\/span><\/span>\n      <span class=\"bxv-color-dot\" style=\"background:#1860A8;\"><\/span>\n      Frosted Glass (Light Etch)\n    <\/label>\n\n    <label class=\"bxv-check-label\" data-id=\"frost-heavy\">\n      <input type=\"checkbox\" name=\"bxv-glass\" value=\"frost-heavy\">\n      <span class=\"bxv-check-box\"><span class=\"bxv-check-tick\"><\/span><\/span>\n      <span class=\"bxv-color-dot\" style=\"background:#3048A8;\"><\/span>\n      Frosted Glass (Heavy Sandblast)\n    <\/label>\n\n    <label class=\"bxv-check-label\" data-id=\"opal\">\n      <input type=\"checkbox\" name=\"bxv-glass\" value=\"opal\">\n      <span class=\"bxv-check-box\"><span class=\"bxv-check-tick\"><\/span><\/span>\n      <span class=\"bxv-color-dot\" style=\"background:#1878C0;\"><\/span>\n      Opal Diffusing Glass\n    <\/label>\n\n  <\/div>\n  <div class=\"bxv-validation\" id=\"bxv-validation\">Please select at least one glass type to compare.<\/div>\n<\/div>\n\n<div id=\"bxv-legend\" class=\"bxv-legend\" style=\"display:none;\">\n  <span style=\"font-size:0.72rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:#304890;\">Bar scale:<\/span>\n  <span class=\"bxv-legend-item\"><span class=\"bxv-legend-bar\" style=\"background:#304890;\"><\/span> Transmittance<\/span>\n  <span class=\"bxv-legend-item\"><span class=\"bxv-legend-bar\" style=\"background:#8898c8;\"><\/span> Diffusion \/ Haze<\/span>\n<\/div>\n\n<div id=\"bxv-results-area\">\n  <div class=\"bxv-empty\" id=\"bxv-empty-state\">Select one or more glass types above to begin comparing optical properties.<\/div>\n  <div class=\"bxv-grid\" id=\"bxv-grid\" style=\"display:none;\"><\/div>\n<\/div>\n\n<div class=\"bxv-footer\">\n  <p class=\"bxv-footer-note\">The right balance depends on your fixture design and end-use environment. High-transmittance glass maximises lumen output; high-haze glass prioritises uniformity and visual comfort \u2014 choosing between them is a core part of luminaire optical design.<\/p>\n  <a href=\"#ct-popup-787\" class=\"bxv-cta-link\">Discuss Your Optical Requirements \u2192<\/a>\n<\/div>\n\n<\/section>\n\n<script>\n(function () {\n  'use strict';\n\n  var GLASS_TYPES = {\n    clear: {\n      id: 'clear',\n      name: 'Clear Tempered Glass',\n      shortName: 'Clear Tempered',\n      color: '#304890',\n      transmittance: 92,\n      haze: 1,\n      hotspotLevel: 4,     \/\/ 4 = Clearly Visible\n      hotspotLabel: 'Clearly Visible',\n      hotspotColor: '#c0392b',\n      hotspotDots: 4,\n      simBg: 'linear-gradient(135deg, #fff8e0 0%, #fffbe8 60%, #fff5cc 100%)',\n      simBrightness: 0.95,\n      simSpotColor: 'rgba(255,220,60,0.85)',\n      bestFor: 'Wall washers, outdoor flood lights, high-bay industrial, and any fixture where maximising lumen output and photometric precision are the primary design goals. The near-zero haze preserves beam shape and colour rendering.'\n    },\n    'frost-light': {\n      id: 'frost-light',\n      name: 'Frosted Glass (Light Etch)',\n      shortName: 'Light Frost',\n      color: '#1860A8',\n      transmittance: 88,\n      haze: 65,\n      hotspotLevel: 2,\n      hotspotLabel: 'Reduced',\n      hotspotColor: '#e67e22',\n      hotspotDots: 2,\n      simBg: 'linear-gradient(135deg, #f4f6fc 0%, #eef2fa 60%, #f0f4fa 100%)',\n      simBrightness: 0.88,\n      simSpotColor: 'rgba(200,210,240,0.6)',\n      bestFor: 'Indoor commercial panel lights, office troffers, and retail lighting where softening the LED point source is needed without a significant efficiency loss. Achieves a balance between output and visual comfort.'\n    },\n    'frost-heavy': {\n      id: 'frost-heavy',\n      name: 'Frosted Glass (Heavy Sandblast)',\n      shortName: 'Heavy Frost',\n      color: '#3048A8',\n      transmittance: 78,\n      haze: 80,\n      hotspotLevel: 1,\n      hotspotLabel: 'Minimal',\n      hotspotColor: '#27ae60',\n      hotspotDots: 1,\n      simBg: 'linear-gradient(135deg, #eceef6 0%, #e8eaf4 60%, #eaedf6 100%)',\n      simBrightness: 0.78,\n      simSpotColor: 'rgba(180,188,220,0.4)',\n      bestFor: 'Decorative pendants, hospitality lighting, and residential fixtures where a soft, evenly lit glass surface is the design intent. Suitable where lumen output is secondary to aesthetic uniformity.'\n    },\n    opal: {\n      id: 'opal',\n      name: 'Opal Diffusing Glass',\n      shortName: 'Opal',\n      color: '#1878C0',\n      transmittance: 55,\n      haze: 92,\n      hotspotLevel: 0,\n      hotspotLabel: 'None',\n      hotspotColor: '#27ae60',\n      hotspotDots: 0,\n      simBg: 'linear-gradient(135deg, #e4e8f4 0%, #e0e4f2 60%, #e2e6f4 100%)',\n      simBrightness: 0.55,\n      simSpotColor: 'rgba(160,170,210,0.15)',\n      bestFor: 'Glare-sensitive environments including healthcare, education, and open-plan offices. Produces the most uniform luminous surface with zero visible hotspots. Plan for efficiency loss: at 55% transmittance, luminaire lm\/W will be reduced.'\n    }\n  };\n\n  var MAX_SELECTIONS = 4;\n\n  function renderCard(g) {\n    var transWidth = g.transmittance;\n    var hazeWidth = g.haze;\n\n    \/\/ Hotspot dots visual\n    var dots = '';\n    for (var i = 0; i < 4; i++) {\n      var filled = i < g.hotspotDots;\n      var opacity = filled ? '1' : '0.15';\n      dots += '<span class=\"bxv-hotspot-dot\" style=\"background:' + (filled ? g.hotspotColor : '#d0d4e4') + ';opacity:' + opacity + ';\"><\/span>';\n    }\n\n    \/\/ Light simulation \u2014 layered CSS background to show hotspot vs diffusion\n    var spotSize = 100 - g.haze; \/\/ smaller spot = more diffused\n    var spotRadius = Math.max(10, spotSize) + '%';\n    var simStyle = 'background:' + g.simBg + ';';\n\n    return [\n      '<div class=\"bxv-glass-card\">',\n      '<div class=\"bxv-glass-card-head\" style=\"background:' + g.color + '\">',\n      g.name,\n      '<\/div>',\n      '<div class=\"bxv-glass-card-body\">',\n\n      \/\/ Light simulation panel\n      '<div class=\"bxv-light-sim\" style=\"' + simStyle + '\">',\n      '<div style=\"position:absolute;inset:0;background:radial-gradient(circle ' + spotRadius + ' at 50% 50%,' + g.simSpotColor + ' 0%,transparent 100%);\"><\/div>',\n      '<div class=\"bxv-light-sim-inner\">',\n      '<span class=\"bxv-sim-label\" style=\"color:' + g.color + ';opacity:0.5;\">Simulated Output<\/span>',\n      '<\/div>',\n      '<\/div>',\n\n      \/\/ Transmittance\n      '<div class=\"bxv-metric\">',\n      '<div class=\"bxv-metric-header\">',\n      '<span class=\"bxv-metric-name\">Transmittance<\/span>',\n      '<span class=\"bxv-metric-value\">' + g.transmittance + '%<\/span>',\n      '<\/div>',\n      '<div class=\"bxv-bar-track\">',\n      '<div class=\"bxv-bar-fill\" style=\"width:' + transWidth + '%;background:' + g.color + ';\"><\/div>',\n      '<\/div>',\n      '<\/div>',\n\n      \/\/ Haze \/ Diffusion\n      '<div class=\"bxv-metric\">',\n      '<div class=\"bxv-metric-header\">',\n      '<span class=\"bxv-metric-name\">Diffusion \/ Haze<\/span>',\n      '<span class=\"bxv-metric-value\">' + g.haze + '%<\/span>',\n      '<\/div>',\n      '<div class=\"bxv-bar-track\">',\n      '<div class=\"bxv-bar-fill\" style=\"width:' + hazeWidth + '%;background:' + g.color + ';opacity:0.55;\"><\/div>',\n      '<\/div>',\n      '<\/div>',\n\n      \/\/ Hotspot\n      '<div class=\"bxv-hotspot-row\">',\n      '<div class=\"bxv-hotspot-label-row\">',\n      '<span class=\"bxv-hotspot-name\">Hotspot Visibility<\/span>',\n      '<div style=\"display:flex;align-items:center;gap:8px;\">',\n      '<div class=\"bxv-hotspot-indicator\">' + dots + '<\/div>',\n      '<span class=\"bxv-hotspot-badge\" style=\"background:' + g.hotspotColor + ';color:#fff;\">' + g.hotspotLabel + '<\/span>',\n      '<\/div>',\n      '<\/div>',\n      '<\/div>',\n\n      \/\/ Best for\n      '<div class=\"bxv-best-for\">',\n      '<strong>Best For<\/strong>',\n      g.bestFor,\n      '<\/div>',\n\n      '<\/div>',\n      '<\/div>'\n    ].join('');\n  }\n\n  function updateDisplay() {\n    var checked = document.querySelectorAll('#bxv-optics-viz-v1 input[name=\"bxv-glass\"]:checked');\n    \/\/ fallback: query within section\n    checked = document.querySelectorAll('#bx-optics-viz-v1 input[name=\"bxv-glass\"]:checked');\n\n    var grid = document.getElementById('bxv-grid');\n    var emptyState = document.getElementById('bxv-empty-state');\n    var legend = document.getElementById('bxv-legend');\n\n    if (checked.length === 0) {\n      grid.style.display = 'none';\n      emptyState.style.display = '';\n      legend.style.display = 'none';\n      return;\n    }\n\n    emptyState.style.display = 'none';\n    grid.style.display = '';\n    legend.style.display = '';\n\n    var html = '';\n    checked.forEach(function (input) {\n      var g = GLASS_TYPES[input.value];\n      if (g) html += renderCard(g);\n    });\n    grid.innerHTML = html;\n  }\n\n  function init() {\n    var checkGroup = document.getElementById('bxv-check-group');\n    var validation = document.getElementById('bxv-validation');\n    if (!checkGroup) return;\n\n    var labels = checkGroup.querySelectorAll('.bxv-check-label');\n\n    labels.forEach(function (label) {\n      var input = label.querySelector('input[type=\"checkbox\"]');\n      if (!input) return;\n\n      input.addEventListener('change', function () {\n        \/\/ Enforce max 4\n        var allChecked = checkGroup.querySelectorAll('input[type=\"checkbox\"]:checked');\n        if (allChecked.length > MAX_SELECTIONS) {\n          input.checked = false;\n          validation.textContent = 'You can compare up to 4 glass types at once.';\n          validation.classList.add('bxv-show');\n          return;\n        }\n        validation.classList.remove('bxv-show');\n\n        if (input.checked) {\n          label.classList.add('bxv-checked');\n        } else {\n          label.classList.remove('bxv-checked');\n        }\n        updateDisplay();\n      });\n    });\n\n    \/\/ Initial render (clear tempered pre-checked)\n    updateDisplay();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n\n})();\n<\/script>\n\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Light Transmittance vs Diffusion: Glass Type Visualizer Select one to four glass types to compare their optical properties side by side. Each card shows transmittance, haze level, hotspot visibility, and recommended use cases. Select Glass Types to Compare (1\u20134) Clear Tempered Glass Frosted Glass (Light Etch) Frosted Glass (Heavy Sandblast) Opal Diffusing Glass Please select [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3837,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-3995","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/pages\/3995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/comments?post=3995"}],"version-history":[{"count":0,"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/pages\/3995\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/pages\/3837"}],"wp:attachment":[{"href":"https:\/\/saiweiglass.com\/pt\/wp-json\/wp\/v2\/media?parent=3995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}