Implement `Geometry` API Object
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- computer-graphics
Research direction
The issue names no files or tests; start by reviewing the Processing PShape reference and Bevy Mesh integration mentioned in the description. The work is done when Geometry loads as a Bevy Mesh and provides lifecycle, vertex-layout, CPU-side data, and vertex-buffer readback APIs.
Written by the indexing model from the issue text.
Description
We need to implement that basis for PShape. Let's steal the name from p5 and call this Geometry. Shape is kind of a weird term. Really, this is vertex data and we typically don't refer to 3d models as "shapes."
In Processing4, Shape contains Phong material info in its vertex layout. We definitely don't want to do this because we want to support materials as a first class API.
Steps:
- Make it loadable as a Bevy
Mesh. - Add lifecycle methods.
- Build APIs for interacting with vertex layout, defining vertex attributes, etc.
- Add support for modifying CPU side vertex data.
- Add vertex buffer readback support. This is going to be a bit tricky as Bevy packs multiple meshes into vertex buffer slabs.
- Dominant language
- Rust
- Stars
- 69
- Forks
- 14
- Avg merge
- 15d 22h
- Merged PRs (30d)
- 3
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from processing/libprocessing
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
processing/libprocessing#233 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
processing/libprocessing#229 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
processing/libprocessing#201 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
processing/libprocessing#194 ·
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
processing/libprocessing#146 · 1 comment ·
All issues in processing/libprocessing
Similar issues
-
todo:perf
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
ACP agents get no MCP servers when the thread is created before the project's first worktree loads Openstate:needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
zed-industries/zed#64611 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1625 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
objectionary/phie#154 ·