Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAJOR chore(v6): neutral prerequisites for fabric.Group rework #7726

Merged
merged 2 commits into from
Feb 21, 2022

Conversation

ShaMan123
Copy link
Contributor

@ShaMan123 ShaMan123 commented Feb 21, 2022

This PR brings in a couple of changes.

  • Add changes to chooseObjects to render to support the rendering of stacks when an item inside a group is selected
  • it caches the objectsToRenderArray so it does not need to get calculated each render
  • it uses onObjectAdded, onObjectRemoved to invalidate objectsToRender stack
  • adds some extra logic to findTarget in order to recognize controls / targets inside a groups ( not used for now )
  • fix the detection of the arrow cursor angle for objects inside groups ( not used for now )
  • introduces an utility getTotalAngle
  • rename getCenterPoint with getRelativeCenterPoint, while getCenterPoint will now always return canvas coordinates, while getRelativeCenterPoint will behave like the old getCenterPoint, returning the coordinates in the space where the object is.
  • renames toLocalPoint into normalizePoint
  • deprecates willDrawShadow

@ShaMan123
Copy link
Contributor Author

ready

@github-actions
Copy link
Contributor

github-actions bot commented Feb 21, 2022

Code Coverage Summary

> fabric@5.1.0 coverage:report
> nyc report --reporter=lcov --reporter=text

-----------|---------|----------|---------|---------|-----------------------------------------------
File       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                             
-----------|---------|----------|---------|---------|-----------------------------------------------
All files  |   83.32 |    76.72 |   86.41 |   83.05 |                                               
 fabric.js |   83.32 |    76.72 |   86.41 |   83.05 | ...,29783,29908,29988-30053,30176,30275,30492 
-----------|---------|----------|---------|---------|-----------------------------------------------

@ShaMan123
Copy link
Contributor Author

ShaMan123 commented Feb 21, 2022

@asturur can we merge #7614 ? I am writing lots of code that can be reduced to a call to one of those functions
I don't mind renaming or whatever

I'll wait, you have a lot on your plate

@ShaMan123 ShaMan123 requested a review from asturur February 21, 2022 12:20
@asturur
Copy link
Member

asturur commented Feb 21, 2022

How did you fix the test? i can't see it

@asturur
Copy link
Member

asturur commented Feb 21, 2022

ohh ok clear sorry

@asturur asturur changed the title chore(v6): prepare fabric for Group chore(v6): neutral prerequisites for fabric.Group rework Feb 21, 2022
@asturur asturur changed the title chore(v6): neutral prerequisites for fabric.Group rework MAJOR chore(v6): neutral prerequisites for fabric.Group rework Feb 21, 2022
@asturur
Copy link
Member

asturur commented Feb 21, 2022

i m going to rebase the other branch on new master, and fix eventual conflicts.

@asturur asturur merged commit 84e405d into master Feb 21, 2022
@asturur
Copy link
Member

asturur commented Feb 21, 2022

Ok i will look at transform utils next,
Then i want to separate from that v6! branch the group logic from all the interaction experiments/new logic.

@ShaMan123 ShaMan123 deleted the group-prep1 branch February 21, 2022 13:15
@ShaMan123
Copy link
Contributor Author

ShaMan123 commented Feb 21, 2022

After pulling from origin getTotalAngle is missing the new version and setOnGroup returned
That's the what the was diff showing

@ShaMan123
Copy link
Contributor Author

tell me when I can push again
I have noticed I forgot to cleanup console.log for collection.mixin

@asturur
Copy link
Member

asturur commented Feb 21, 2022

i left setOnGroup in because it doesn't break tests for now ( in master ) leave it in, we can trash it last minute.
for getTotalAngle could i have messed up the merge conflict?

@asturur
Copy link
Member

asturur commented Feb 21, 2022

Feel free to push up again, i will try to work myself around the group changes

@ShaMan123
Copy link
Contributor Author

i left setOnGroup in because it doesn't break tests for now ( in master ) leave it in, we can trash it last minute. for getTotalAngle could i have messed up the merge conflict?

Well it was my bad that I introduced a change there. Pushed now.

ShaMan123 added a commit that referenced this pull request Mar 2, 2022
commit 109efe5
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Thu Feb 24 11:38:26 2022 +0200

    feat(util): transform utils (#7614)

    * Update misc.js

    * Update misc.js

    * rename

    * better JSDOC

    * Update misc.js

    * Update util.js

    * ci(): lint

    * better JSDOC

    * `sendObjectToPlane`

    * Update misc.js

    * Update util.js

    * Update util.js

    * Update misc.js

    * rename

    * Update misc.js

    * Update util.js

    * Update misc.js

    * remove redundant tests

    * Update util.js

    * Update misc.js

    * Update misc.js

    * Update util.js

    * Update util.js

    * fix(): reversed transform order

    * allow passing null for `sourceObject`

    * Update util.js

    * lint

    * Update misc.js

    * Update misc.js

    * ci: adjust tests to accept error

    * Update misc.js

    * Update util.js

    * build

    * Revert "Update misc.js"

    This reverts commit fb83a71.

    * Update misc.js

    * checkout

    * Update util.js

    * Update misc.js

    * Update util.js

    * typo

    * Update misc.js

    * optional parent

    * refactor around orphan objects

    * Update misc.js

    * add warning

    * Update object_geometry.mixin.js

    * lint

    * rename

    * JSDOC

    * Revert "JSDOC"

    This reverts commit a88b0ab.

    * remove unsafe `calcPlaneMatrix`

    * typo

    * Update misc.js

    * Update misc.js

commit 1d447b0
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Thu Feb 24 11:16:43 2022 +0200

    chore/fix(v6): prerequisites for Group (#7728)

commit f13075c
Author: Andrea Bogazzi <andreabogazzi79@gmail.com>
Date:   Thu Feb 24 10:03:22 2022 +0100

    tests() adding an extra controls test where the group are transformed (#7736)

commit bae062c
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Thu Feb 24 10:10:20 2022 +0200

    chore(): Group prerequisite minor refactor object_origin

commit 23ae1a7
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Wed Feb 23 00:43:36 2022 +0200

    fix(): ensure scaling factor is positive for strokeUniform (#7729)

    * Update object.class.js

    redundant else if

    * added a visual test

    * removed useless file

    * prefer dashes

    * prefer dashes

    * modified golden

    * more tolerance

    Co-authored-by: Andrea Bogazzi <andreabogazzi79@gmail.com>

commit 84e405d
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Mon Feb 21 14:52:07 2022 +0200

    MAJOR chore(v6): neutral prerequisites for fabric.Group rework (#7726)

commit 0c98cee
Author: Andrea Bogazzi <andreabogazzi79@gmail.com>
Date:   Mon Feb 21 08:25:42 2022 +0100

    chore(): update CHANGELOG

commit 6565db1
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Mon Feb 21 07:30:19 2022 +0200

    fix(): add `eraser` to Object state/cache props (#7720)

    * Update eraser_brush.mixin.js

    * Update eraser_brush.mixin.js

commit fd1b0c3
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 17:18:19 2022 +0200

    feat(Object.isType): accept multiple `type` (#7715)

commit 4e80e77
Author: Andrea Bogazzi <andreabogazzi79@gmail.com>
Date:   Sun Feb 20 16:12:36 2022 +0100

    updated package.json

commit fc902cb
Author: CommanderRoot <CommanderRoot@users.noreply.github.com>
Date:   Sun Feb 20 13:40:29 2022 +0100

    chore(): Replace deprecated String.prototype.substr() with Array.prototype.slice() (#7696)

    String.prototype.substr() is deprecated (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) so we replace it with slice() which works similarily but isn't deprecated.
    Signed-off-by: Tobias Speicher <rootcommander@gmail.com>

commit 30c0c19
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 14:39:15 2022 +0200

    MAJOR feat(fabric.Point): divide, scalarDivide, scalarDivideEquals (#7716)

    * **BREAKING**: divide, scalarDivide, scalarDivideEquals

commit 2d922e1
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 14:37:52 2022 +0200

    chore(): use Array.isArray instead of ie6+ workarounds (#7718)

commit 88b425c
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 14:24:21 2022 +0200

    MAJOR feat(): Reuse fabric.Point logic for scaling and naming consistency (#7710)

    * fix(Object): object scaling inconsisteny

    **MAJOR**
     **BREAKING** `Object.getObjectScaling`, `Object.getTotalObjectScaling`

commit 7e563c7
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 02:19:13 2022 +0200

    chore(): BREAKING Cleanup fabric.Point for v6 (#7709)

    * Update misc.js

    * point **BREAKS** `multiply`

    * Update point.js

    * revert adding error check

commit 4c2e9a6
Author: Shachar <34343793+ShaMan123@users.noreply.github.com>
Date:   Sun Feb 20 01:52:47 2022 +0200

    tests(fabric.animation): fix test reliability
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.

2 participants