processing / processing/processing-website

Reference enhancement for `shapeMode()` - it does not affect GROUP shapes

Open
#625 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
MDX
Stars
90
Forks
122
Avg merge
1h 43m
Merged PRs (30d)
3

Description

Which area of the website does this enhancement relate to?

Reference

Describe the enhancement

I propose for the shapeMode() reference page to include the information that when a PShape object is a GROUP it will not be affected by the shapeMode() drawing mode and will always be drawn from the "internal" origin of the shape. I think this behavior should not change.

Tentative/suggested addition:

Shape mode will not affect the drawing of GROUP PShape objects.

Why is this enhancement important?

I believe other users might be surprised by this behavior, as I was, and seek clarification at the reference documentation, which could have a note about it.

Additional context
void setup(){
     size(200, 200);
    
    shapeMode(CENTER);

    PShape shp = createShape(GROUP);
    PShape square = createShape(RECT, 0, 0, 80, 80);
    shp.addChild(square);
    shape(shp, 100, 100);
    
    PShape other = createShape();
    other.beginShape();
    other.noFill();
    other.vertex(0, 0);
    other.vertex(80, 0);
    other.vertex(80, 80);
    other.vertex(0, 80);
    other.endShape(CLOSE);    
    shape(other, 100, 100);
}

Image

I wonder if someone could confirm this is true for all GROUP shapes? If it is not the behavior for all groups, how to differentiate and predict the behavior? If this behavior is found to be incorrect, a bug, could we have an ORIGIN mode to trigger exactly this behavior on GROUPS?

I found out about this behavior because py5 generates GROUP shapes when converting from external geometry sources. Ref: https://github.com/py5coding/py5generator/discussions/623

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the shapeMode() reference page and compare its current wording with the GROUP PShape behavior shown in the example. Confirm whether the behavior applies to all GROUP shapes, then add a concise clarification if confirmed; otherwise document the conditions that distinguish the cases.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.