Feat: Interactive doors with physical wall cutouts

- Implemented door selection and interaction model (walk-to + click).
- Added modal for opening doors.
- Refactored wall rendering to create physical holes (CSG-like wall segments).
- Aligned door meshes to perfectly fit wall cutouts.
- Managed door visibility states to prevent Z-fighting on open doors.
This commit is contained in:
2025-12-23 13:50:05 +01:00
parent 3c599093cf
commit 0e5b885236
4 changed files with 515 additions and 60 deletions

View File

@@ -12,13 +12,22 @@
<div id="app"></div>
<div id="hud">
<div id="minimap-container">
<canvas id="minimap" width="200" height="200"></canvas>
<canvas id="minimap"></canvas>
</div>
<div id="compass">
<div id="compass-n" class="compass-btn active" data-direction="N">N</div>
<div id="compass-s" class="compass-btn" data-direction="S">S</div>
<div id="compass-e" class="compass-btn" data-direction="E">E</div>
<div id="compass-w" class="compass-btn" data-direction="W">W</div>
<div class="compass-btn" data-dir="N">N</div>
<div class="compass-row">
<div class="compass-btn" data-dir="W">W</div>
<div class="compass-btn" data-dir="E">E</div>
</div>
<div class="compass-btn" data-dir="S">S</div>
</div>
<div id="door-modal" class="hidden">
<div class="modal-content">
<p>¿Quieres abrir la puerta?</p>
<button id="btn-open-yes"></button>
<button id="btn-open-no">No</button>
</div>
</div>
</div>
<script type="module" src="/src/main.js"></script>