Skip to content

frontend/js/library-3d.js: Large 3D models loading synchronously, blocking the main thread #425

Closed

Description

@aniket866

Where

frontend/js/library-3d.js

Issue

Large 3D models loading synchronously, blocking the main thread

Proposed Fix

Implement Web Workers or asynchronous loading mechanisms with loading spinners

Why This Matters

Keeps the user interface responsive and prevents the browser from freezing during heavy asset loading


I would like to work on this issue.

@devanshi14malhotra /assign

Activity

  1. Dhrupad-05 commented on May 10, 2026

    @Dhrupad-05

    Hi @devanshi14malhotra, I’d like to work on this issue under GSSoC’26.

    Proposed Solution

    I’ll refactor the synchronous 3D asset loading flow in frontend/js/library-3d.js to use asynchronous loading mechanisms for large models.

    The implementation may include:

    • Using async model loaders for non-blocking asset loading
    • Introducing a loading spinner/progress indicator during heavy asset fetches
    • Deferring expensive operations until assets are fully loaded
    • Exploring lightweight worker-based handling where appropriate

    Expected Outcome

    • Improved UI responsiveness during model loading
    • Reduced browser freezing/blocking on heavy assets
    • Better user experience for slower devices and networks
    • Smoother rendering pipeline for large 3D scenes

    Please assign this issue to me.

  2. added
    NSoC'26For issues and PRs which are a part of the Nexus Spring of Code open source event
    and removed on May 15, 2026
  3. RAGASUDHA-B commented on May 17, 2026

    @RAGASUDHA-B

    Hi @devanshi14malhotra,

    I have gone through the issue and understand the problem.

    Problem Summary:
    The file frontend/js/library-3d.js is loading large 3D models synchronously, which blocks the main thread and causes UI freezing or lag, especially on slower devices.

    Proposed Solution:
    I will refactor the model loading flow to make it asynchronous so that it does not block the main thread.

    Planned improvements:

    • Move heavy 3D model loading to async flow
    • Use non-blocking loading techniques (async/await or lazy loading where applicable)
    • Add a loading spinner/progress indicator during model load
    • Explore Web Workers if any computation-heavy tasks are involved
    • Ensure smooth rendering without freezing UI

    Expected Outcome:

    • No UI blocking during model load
    • Improved performance and responsiveness
    • Better user experience on low-end devices

    If the issue is still open for contribution, I would like to work on it under GSSoC'26. Kindly let me know if I can take this up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

NSoC'26For issues and PRs which are a part of the Nexus Spring of Code open source eventgood first issueGood for newcomerslevel310 points

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions