Commit Graph

41 Commits

Author SHA1 Message Date
3f02fc7ea5 Implement lightmap-based rendering for performant lighting illusion
Replace emissive-only rendering with diffuse + lightmap system to achieve realistic lighting appearance without dynamic light overhead.

- Create LightmapGenerator class with canvas-based radial gradient generation
- Generate one lightmap per color (16 total) using top-left directional light simulation
- Cache lightmaps in static Map for reuse across all instances
- Preload all lightmaps at toolbox initialization for instant availability
- Update buildColor() to use diffuseColor + lightmapTexture instead of emissiveColor
- Update buildMissingMaterial() to use lightmap-based rendering
- Enable lighting calculations (disableLighting = false) to apply lightmaps

Lightmap details:
- 512x512 resolution RGBA textures
- Radial gradient: center (color × 1.5), mid (base color), edge (color × 0.3)
- Simulates top-left key light with smooth falloff
- Total memory: ~16 MB for all lightmaps
- Zero per-frame performance cost

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 09:20:40 -06:00
100c5e612c Move exit XR button to toolbox class
Refactored exit XR button creation from rigplatform to toolbox for better organization and UI cohesion.

- Add setXR() methods to DiagramManager, DiagramMenuManager, and Toolbox to pass WebXRDefaultExperience after initialization
- Create setupXRButton() in Toolbox class that creates button when entering XR
- Position button at bottom-right of toolbox (x: 0.5, y: -0.35, z: 0)
- Use Y-axis rotation (Math.PI) for correct orientation within toolbox coordinate system
- Scale button to 0.2 for appropriate size
- Remove button creation code from rigplatform

Exit button now moves with toolbox and is logically grouped with other UI elements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 06:57:35 -06:00
4fdcc9694d Changed labels to help with export to glb. 2024-06-18 09:12:10 -05:00
e0d85a6a3d Added stl person to toolbox. 2024-06-17 11:33:24 -05:00
3d3f73c259 added row level AES encryption. 2024-06-10 15:52:45 -05:00
06333e9123 Refactored things to be closer together in domain. 2024-05-31 19:38:30 -05:00
d8d91dd688 Fix connecter and controller bug. 2024-05-31 14:14:28 -05:00
e85adc1386 Updated basic grab/drop. 2024-05-28 15:33:44 -05:00
36e4b04957 updated menu positioning, added b-button to enable resetting positions. 2024-04-24 14:24:22 -05:00
469d4a5116 DefaultScene static method to be upper case...added webGPU support (disabled as there appears to be a bug). 2024-04-17 08:18:35 -05:00
a1248a2e34 Refactored scene to use DefaultScene. 2024-04-16 11:14:32 -05:00
8cf12bc91c updated menu placement and handle class. 2024-04-15 16:14:19 -05:00
159e687c19 Simplified interactions, changed menu interactions for changing entities. 2024-04-12 13:33:52 -05:00
cabc38ce09 Simplified interactions, changed menu interactions for changing entities. 2024-04-12 07:04:02 -05:00
727977d5c6 Simplified interactions, changed menu interactions for changing entities. 2024-04-10 16:36:36 -05:00
2d3855621e refactored controllers and diagram manager. 2024-04-09 15:01:35 -05:00
c4d201c5ba refactored logging. 2024-04-03 10:08:17 -05:00
73a850613d Updated menu system to be more consistent. Change toolbox to fixed colors; 2024-03-08 10:41:18 -06:00
a1adbf5bd9 experiments with glb objects and data based diagrams. 2023-12-23 06:21:58 -06:00
dcd5a8835c Added glb object type loader, cleaned up loggers and change web controller. 2023-12-12 14:00:39 -06:00
1ae2dd3609 Updated user function to new api. 2023-11-04 12:00:11 -05:00
97e58928ed Added Pouchdb persistance manager. 2023-10-12 10:58:50 -05:00
60afe249b8 Changed connector tool to use cylinder instead of greasedline. 2023-09-14 09:50:56 -05:00
e43a9e9d41 Fixed up menu system. 2023-08-25 13:26:19 -05:00
f44b2129c8 decomposed functions. 2023-08-23 14:15:44 -05:00
88668c3d64 Fixed code inspections. 2023-08-23 08:04:49 -05:00
c945423954 Refactored into pure functions for key diagram manager functionality. 2023-08-23 07:44:09 -05:00
be8306141f Fixed up color selector. 2023-08-22 16:28:45 -05:00
3954619d60 Fixed up config and color change events. 2023-08-22 14:38:09 -05:00
f554a09474 Refactor how controllers are initialized. 2023-08-14 15:51:48 -05:00
9c97b81727 Added Ability to recolor instances. 2023-08-08 09:22:55 -05:00
77f5a2543f Updated P2P code, moved some classes to increase modularity. 2023-08-03 11:36:30 -05:00
1ebd7293a3 Added initial networkmanager component. 2023-08-02 13:50:53 -05:00
cdefd3bb70 Updated Physics. 2023-07-31 16:01:06 -05:00
4c52d7b1d7 Added tick sound 2023-07-29 07:54:49 -05:00
d87d8bace4 Refactored diagram manager and loggers. 2023-07-28 09:30:10 -05:00
9d5cb0ab95 Added Initial Config Menu. 2023-07-27 15:43:34 -05:00
c74dc62654 Updated text input to work on desktop Mac 2023-07-27 08:51:25 -05:00
af2227b746 Updated Logging, added change color to update db. 2023-07-27 06:32:34 -05:00
d55b82833d Standardized widget sizing, added logging library, cleaned up dualshock implementation. 2023-07-26 16:54:07 -05:00
8a1fbeef7d Added Toolbox with colors. 2023-07-25 14:30:47 -05:00