Skip to content

Implement client-side WebGPU API (native interface only, no server communication) in src/client/graphics #347

@yorkie

Description

@yorkie

Background

To support future spatial web rendering capabilities and align with the evolution of web graphics standards, we need to start implementing WebGPU support in JSAR Runtime. This issue tracks the creation of a native client-side WebGPU interface layer, similar to the existing WebGL implementation.

Scope

  • Implement the basic client-side WebGPU API in src/client/graphics.
  • The client layer should only be responsible for collecting WebGPU command buffers (CommandBuffer pattern), just as with WebGL.
  • No server-side communication or rendering is required in this issue—focus only on the native (client) interface and command recording logic.
  • The architecture and patterns should closely follow the existing WebGL client-side design for consistency and maintainability.

Deliverables

  • C++ classes/interfaces for WebGPU context, resources, and command buffer recording in src/client/graphics.
  • Documentation/comments explaining the structure and usage.
  • Unit tests (if feasible) for interface instantiation and basic command recording.

Acceptance Criteria

  • Client-side WebGPU API exists and can be instantiated in isolation.
  • Command buffer recording is possible (but not transmitted).
  • Code is commented and matches JSAR Runtime's code quality standards.

Reference


This is the first step towards supporting WebGPU in JSAR. Subsequent issues will handle server-side transmission and integration.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions