{
  "schema_version": 1,
  "type": "skill",
  "slug": "luminous-intensity-tool",
  "title": "Luminous Intensity Distribution Tool",
  "brief": "Interactive 2D LED array illuminance simulator — heatmap, cross-section, reflectors, power/efficiency, and J/cm² energy density calculator",
  "version": "2.0.0",
  "tags": [],
  "license": "MIT",
  "discovery_triggers": [
    "luminous intensity",
    "LED illuminance",
    "light distribution",
    "lighting uniformity",
    "LED array design",
    "lambertian",
    "illuminance on plane",
    "LED spacing calculator",
    "light reflector",
    "cos theta distribution",
    "UV exposure",
    "J/cm2",
    "energy density",
    "LED grid",
    "2D illuminance"
  ],
  "discovery_pitch": "Interactive 2D LED array illuminance simulator — top-down heatmap, cross-section plot, reflective enclosures, power/efficiency calculator, and J/cm² energy density computations for target panel design.",
  "sample_prompts": [
    {
      "label": "LED lighting",
      "prompt": "Open the luminous intensity distribution tool"
    },
    {
      "label": "Uniformity",
      "prompt": "Simulate LED array uniformity on a target panel"
    },
    {
      "label": "Reflectors",
      "prompt": "Design an LED array with reflective side panels"
    },
    {
      "prompt": "How many LEDs do I need to uniformly light a 200x200mm panel at 50mm height?"
    },
    {
      "prompt": "Compare aluminum vs white cardboard reflectors for my LED array"
    },
    {
      "label": "UV exposure",
      "prompt": "Calculate J/cm² energy density for UV LED curing"
    },
    {
      "prompt": "What exposure time do I need for 5 J/cm² on a 300x340mm panel?"
    }
  ],
  "source_path": "SKILL.md",
  "readme": "# Luminous Intensity Distribution Tool\n\nInteractive tool for visualizing LED illuminance distributions on a 2D target panel. Helps engineers design uniform lighting arrays by simulating Lambertian (cos) emitters in a grid, adjustable height, spacing, panel dimensions, and reflective side panels.\n\n## What it does\n\n1. **Polar plot** — shows the single-emitter radiation pattern (cos theta Lambertian)\n2. **Top-down heatmap** — 2D view looking down at the target panel, showing illuminance as a white-to-green color gradient with LED positions and reflector outlines\n3. **Cross-section chart** — line plot of illuminance along y=0 through the center of the panel\n4. **Reflective panels** — optional rectangular reflector enclosure around the LED array with configurable reflectivity\n5. **Power & energy calculator** — computes total power, efficiency (% of emitted light hitting the target), energy density (J/cm²), and time-to-target calculations\n6. **Interactive hover** — hover the heatmap or cross-section for exact position and intensity values\n\n## Parameters\n\n| Parameter | Description | Default |\n|-----------|-------------|---------|\n| **h** | Height of the target panel above the LED array (mm) | 100 |\n| **d** | Spacing between adjacent LEDs in both x and y (mm) | 30 |\n| **cols** | Number of LED columns | 12 |\n| **rows** | Number of LED rows | 14 |\n| **l** | Target panel length in x (mm) | 300 |\n| **w** | Target panel width in y (mm) | 340 |\n| **R** | Reflector panel reflectivity (0-100%) | 88% (Aluminum) |\n| **Power/LED** | Optical power per LED (mW) | 500 |\n\nEach parameter has a direct-entry number field (type any value), a slider, and configurable min/max/step.\n\n## Reflector presets\n\n| Preset | Reflectivity |\n|--------|-------------|\n| Perfect mirror | 100% |\n| Aluminum foil | 88% |\n| White cardboard | 75% |\n| Black cardboard | 5% |\n| Void (none) | 0% |\n\nReflectors form a rectangular enclosure around the LED array at x = +/-(cols*d/2) and y = +/-(rows*d/2). They redirect sideways-emitted light back onto the target panel, improving both efficiency and edge uniformity. Light outside the reflectors is attenuated by (1-R).\n\n## Power & energy calculations\n\n- **Total power**: cols x rows x power-per-LED\n- **Efficiency**: fraction of total emitted power that lands on the target panel (direct + reflected, properly integrated using Lambertian irradiance model)\n- **Target receives**: total power x efficiency\n- **Energy density**: (target power / panel area in cm²) x time = J/cm²\n- **Time calculator**: enter target J/cm², get time needed (or enter time, get J/cm²)\n\nThe irradiance integration accounts for:\n- Lambertian cos(theta) emission pattern\n- Inverse-square distance falloff\n- Angle of incidence on reflector walls\n- First-order reflections from all 4 walls\n- Proper energy conservation (efficiency capped at 100%)\n\n## How to use\n\nThe tool is a single self-contained HTML file served via a local HTTP server:\n\n```bash\ncd /home/adom/project\npython3 -m http.server 8123 &>/dev/null &\n```\n\nOpen in a Hydrogen webview:\n\n```bash\nPROXY_URL=\"${VSCODE_PROXY_URI/\\{\\{port\\}\\}/8123}luminous-intensity.html\"\nadom-cli hydrogen webview open-or-refresh \\\n  --name \"Luminous Intensity\" \\\n  --url \"$PROXY_URL\"\n```\n\nURL parameters can preset values: `?h=100&d=30&cols=12&rows=14&l=300&w=340&r=88`\n\n## Physics model\n\n- **Single source**: Lambertian emitter with intensity I(theta) = I0 * cos(theta)\n- **Illuminance on plane**: E(x,y) = sum of cos^3(theta_i) / h^2, where theta_i = atan(sqrt((x-xi)^2 + (y-yi)^2) / h)\n- **Reflectors**: Mirror sources placed symmetrically across each wall, with gain = reflectivity. Light outside reflectors attenuated by (1-R).\n- **Wall irradiance**: cos(theta_source) * cos(theta_wall) / (pi * r^2), properly integrated over wall height and width\n- **Color mapping**: Linear interpolation from white (0%) to green #2e7d32 (100%)\n\n## Source file\n\nThe tool lives at `/home/adom/project/luminous-intensity.html`.\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "metadata": {},
  "created_at": "2026-05-28T05:29:27.944Z",
  "updated_at": "2026-05-28T05:29:27.944Z",
  "sub_skills": [],
  "parent_app": null
}