https://payette.github.io/Solar-Comfort-Tool/ The Solar Comfort Tool is a web-based assessment platform for evaluating the impact of glazing and shading decisions on occupant comfort in sunlit spaces. This tool simulates key comfort indicators under sunny conditions and supports real-time design exploration.
Features:
- Built-in comfort simulation for solar gain and glare exposure
- Regression testing suite for ensuring simulation consistency
- Fully open-source with reproducible workflows and detailed developer setup
- Designed to integrate with broader environmental simulation tools (e.g., Ladybug, EnergyPlus)
As part of a growing suite of performance analysis tools, this platform demonstrates how detailed comfort analysis can be embedded directly into schematic design workflows. Its modular testing architecture allows others to validate and customize outputs for their own design contexts.
This tool is also intended to connect to the proposed Sustainability Module in the AI-integrated design platform, enabling unified daylight, thermal, and LEED impact tracking.
Use Node 16, and install node dependencies:
fnm use 16
npm install
Run the app locally:
npm start
Make sure to re-run regression test before each commit (see detailed developer setup below):
npm run test-regression
In order to run regression tests you will need to install Puppeteer dependencies (on Windows Subsystem for Linux WSL2 this involves):
sudo apt-get update
sudo apt install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev
Make sure to run regression tests before every commit:
npm run test-regression
If you make a change to the model that changes the output of the regression tests. You will need to regenerate the GOLD files. Do that with the following command:
npm run regenerate-gold
This will update the CSV files in the regression-gold folder, make sure to look at the files and make sure that the changes in the files you expected to happen, did happen, and no additional changes to the files happened. If so, commit the updated CSV files.