# Copilot Instructions

- Clarify when needed, don’t over-interrupt  
  If a request is ambiguous, incomplete, or has multiple valid interpretations, ask clarifying questions before proceeding.  
  If the intent is reasonably clear, proceed with reasonable assumptions and briefly state them.

- File organization  
  One class/module per file. Follow existing structure (e.g., utils/, tools/, building_elements/).

- Helpers  
  Place helper classes in the `utils/` directory. Keep one helper class per file.

- Clean Code principles  
  Keep functions small (ideally under 20 lines) and focused on a single responsibility.  
  Use descriptive, intention-revealing names for methods, variables, and classes.  
  Write clean, self-explanatory code. Avoid comments unless they explain *why* something is done — never restate *what* the code is doing.

- Stepdown Rule (top-down structure)  
  Order methods from high-level to low-level.  
  High-level methods should appear first, with lower-level methods defined below, so the code reads like a narrative.

- JavaScript in HTML  
  Never write inline JavaScript in HTML files.  
  Always place JavaScript in separate `.js` files (reuse existing files or create new ones) and include them using `<script src="..."></script>`.

- Comment alignment  
  Do not add extra spaces to align inline comments. Place one space after code before `#`.