Skip to content

restructure app code for modularizing and organization#49

Merged
skim0119 merged 1 commit intometa2quest-integrationfrom
04-12-restructure_app_code_for_modularizing_and_organization
Apr 15, 2026
Merged

restructure app code for modularizing and organization#49
skim0119 merged 1 commit intometa2quest-integrationfrom
04-12-restructure_app_code_for_modularizing_and_organization

Conversation

@skim0119
Copy link
Copy Markdown
Collaborator

@skim0119 skim0119 commented Apr 12, 2026

TL;DR

Refactored the VR client application by extracting the main app logic into modular components with proper configuration management and state handling.

What changed?

  • Extracted the main application logic from app.js into a new createApp factory function in app/create_app.js
  • Split configuration into separate modules: app/config.js for window and runtime configuration, and app/state.js for application state management
  • Added comprehensive arm geometry rendering system in entities/rod/arm_geometry.js with support for "segmented-pipe" and "torus-stack" representations
  • Implemented proper WebSocket message handling for VR sessions including hello acknowledgements, asset manifests, and scene state updates
  • Added desktop camera controls with keyboard (WASD+QE) and mouse look functionality
  • Enhanced XR input handling and arm posture updates in the animation loop
  • Improved character mode selection and join panel functionality with proper event handling

How to test?

  1. Load the VR client application in a browser
  2. Test character mode selection from the dropdown menu
  3. Verify WebSocket connection functionality by clicking the join button
  4. Test desktop controls using WASD keys for movement and mouse for camera look
  5. Test VR mode by clicking the start button and entering VR
  6. Verify arm rendering with different geometry representations via URL parameters

Why make this change?

This refactoring improves code maintainability and modularity by separating concerns into distinct modules. The new structure makes the codebase more testable, easier to extend, and provides better organization for configuration management and state handling. The addition of comprehensive arm geometry rendering and improved input handling enhances the VR experience functionality.

@skim0119 skim0119 marked this pull request as ready for review April 12, 2026 22:35
@skim0119 skim0119 force-pushed the 04-12-restructure_app_code_for_modularizing_and_organization branch from 843c3a4 to 9d9d51f Compare April 12, 2026 22:45
@skim0119 skim0119 force-pushed the 04-12-math-utility branch from 0f5f379 to 93e1add Compare April 15, 2026 01:51
@skim0119 skim0119 force-pushed the 04-12-restructure_app_code_for_modularizing_and_organization branch from 9d9d51f to 6fe4b7e Compare April 15, 2026 01:52
@skim0119 skim0119 changed the base branch from 04-12-math-utility to graphite-base/49 April 15, 2026 01:59
@skim0119 skim0119 force-pushed the 04-12-restructure_app_code_for_modularizing_and_organization branch from 6fe4b7e to d2774b8 Compare April 15, 2026 02:01
@graphite-app graphite-app Bot changed the base branch from graphite-base/49 to meta2quest-integration April 15, 2026 02:01
@skim0119 skim0119 force-pushed the 04-12-restructure_app_code_for_modularizing_and_organization branch from d2774b8 to 67d797b Compare April 15, 2026 02:01
Copy link
Copy Markdown
Collaborator Author

skim0119 commented Apr 15, 2026

Merge activity

  • Apr 15, 2:11 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 15, 2:11 AM UTC: @skim0119 merged this pull request with Graphite.

@skim0119 skim0119 merged commit 8162e27 into meta2quest-integration Apr 15, 2026
1 check passed
@skim0119 skim0119 deleted the 04-12-restructure_app_code_for_modularizing_and_organization branch April 15, 2026 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant