mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2026-03-22 23:27:23 +01:00
feat: Enhance WebGL2LayerFramework initialization and improve global variable handling
This commit is contained in:
parent
2dae325d05
commit
8560c131eb
6 changed files with 202 additions and 147 deletions
53
.github/copilot-instructions.md
vendored
53
.github/copilot-instructions.md
vendored
|
|
@ -1,4 +1,5 @@
|
|||
<!-- BMAD:START -->
|
||||
|
||||
# BMAD Method — Project Instructions
|
||||
|
||||
## Project Configuration
|
||||
|
|
@ -8,9 +9,9 @@
|
|||
- **Communication Language**: English
|
||||
- **Document Output Language**: English
|
||||
- **User Skill Level**: intermediate
|
||||
- **Output Folder**: {project-root}/_bmad-output
|
||||
- **Planning Artifacts**: {project-root}/_bmad-output/planning-artifacts
|
||||
- **Implementation Artifacts**: {project-root}/_bmad-output/implementation-artifacts
|
||||
- **Output Folder**: {project-root}/\_bmad-output
|
||||
- **Planning Artifacts**: {project-root}/\_bmad-output/planning-artifacts
|
||||
- **Implementation Artifacts**: {project-root}/\_bmad-output/implementation-artifacts
|
||||
- **Project Knowledge**: {project-root}/docs
|
||||
|
||||
## BMAD Runtime Structure
|
||||
|
|
@ -39,20 +40,42 @@
|
|||
|
||||
## Available Agents
|
||||
|
||||
| Agent | Persona | Title | Capabilities |
|
||||
|---|---|---|---|
|
||||
| bmad-master | BMad Master | BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator | runtime resource management, workflow orchestration, task execution, knowledge custodian |
|
||||
| analyst | Mary | Business Analyst | market research, competitive analysis, requirements elicitation, domain expertise |
|
||||
| architect | Winston | Architect | distributed systems, cloud infrastructure, API design, scalable patterns |
|
||||
| dev | Amelia | Developer Agent | story execution, test-driven development, code implementation |
|
||||
| pm | John | Product Manager | PRD creation, requirements discovery, stakeholder alignment, user interviews |
|
||||
| qa | Quinn | QA Engineer | test automation, API testing, E2E testing, coverage analysis |
|
||||
| quick-flow-solo-dev | Barry | Quick Flow Solo Dev | rapid spec creation, lean implementation, minimum ceremony |
|
||||
| sm | Bob | Scrum Master | sprint planning, story preparation, agile ceremonies, backlog management |
|
||||
| tech-writer | Paige | Technical Writer | documentation, Mermaid diagrams, standards compliance, concept explanation |
|
||||
| ux-designer | Sally | UX Designer | user research, interaction design, UI patterns, experience strategy |
|
||||
| Agent | Persona | Title | Capabilities |
|
||||
| ------------------- | ----------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| bmad-master | BMad Master | BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator | runtime resource management, workflow orchestration, task execution, knowledge custodian |
|
||||
| analyst | Mary | Business Analyst | market research, competitive analysis, requirements elicitation, domain expertise |
|
||||
| architect | Winston | Architect | distributed systems, cloud infrastructure, API design, scalable patterns |
|
||||
| dev | Amelia | Developer Agent | story execution, test-driven development, code implementation |
|
||||
| pm | John | Product Manager | PRD creation, requirements discovery, stakeholder alignment, user interviews |
|
||||
| qa | Quinn | QA Engineer | test automation, API testing, E2E testing, coverage analysis |
|
||||
| quick-flow-solo-dev | Barry | Quick Flow Solo Dev | rapid spec creation, lean implementation, minimum ceremony |
|
||||
| sm | Bob | Scrum Master | sprint planning, story preparation, agile ceremonies, backlog management |
|
||||
| tech-writer | Paige | Technical Writer | documentation, Mermaid diagrams, standards compliance, concept explanation |
|
||||
| ux-designer | Sally | UX Designer | user research, interaction design, UI patterns, experience strategy |
|
||||
|
||||
## Slash Commands
|
||||
|
||||
Type `/bmad-` in Copilot Chat to see all available BMAD workflows and agent activators. Agents are also available in the agents dropdown.
|
||||
|
||||
## Project Architecture: Critical Rules for All Agents
|
||||
|
||||
### main.js globals — NEVER use globalThis
|
||||
|
||||
`public/main.js` and all `public/modules/**/*.js` files are **plain `<script defer>` tags — NOT ES modules**. Every top-level declaration is a `window` property automatically.
|
||||
|
||||
Key globals always available on `window` at runtime: `scale`, `viewX`, `viewY`, `graphWidth`, `graphHeight`, `svgWidth`, `svgHeight`, `pack`, `grid`, `viewbox`, `svg`, `zoom`, `seed`, `options`, `byId`, `rn`, `tip`, `layerIsOn`, `drawRelief`, `undrawRelief`, `rerenderReliefIcons`, and many more.
|
||||
|
||||
**Rule: In `src/**/\*.ts`(ES modules), just use the globals directly — they are declared as ambient globals in`src/types/global.ts`:\*\*
|
||||
|
||||
```ts
|
||||
// ✅ CORRECT — declared in src/types/global.ts, use as bare identifiers
|
||||
buildCameraBounds(viewX, viewY, scale, graphWidth, graphHeight);
|
||||
viewbox.on("zoom.webgl", handler);
|
||||
|
||||
// ❌ WRONG — never do these
|
||||
(window as any).scale(globalThis as any).scale;
|
||||
```
|
||||
|
||||
Full reference: see `docs/architecture-globals.md`.
|
||||
|
||||
<!-- BMAD:END -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue