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

PolygonGeometry with holes have broken surfaces #12294

Open
ArgentumHHH opened this issue Nov 8, 2024 · 5 comments · May be fixed by #12412
Open

PolygonGeometry with holes have broken surfaces #12294

ArgentumHHH opened this issue Nov 8, 2024 · 5 comments · May be fixed by #12412

Comments

@ArgentumHHH
Copy link

What happened?

Now I have encountered a problem when changing from version 1.119 to versions after 1.120.
I created a PolygonGeometry that provides polygon boundary coordinate data and polygon hole coordinate data to create a polygon with holes. Generally, there is no problem with the coordinate data of holes, but many boundary coordinates in urban areas may have holes and broken surfaces.
The city boundary coordinate data is arranged in order and is valid latitude and longitude data in terms of format. It can be successfully rendered as PolylineGeometry or PolygonGeometry, but using the city coordinate data as polygon hole coordinate data may result in broken surfaces.

PolygonGeometry with holes created in version 1.119:
1 119

PolygonGeometry with holes created in version 1.120 has a broken surface in the lower left corner, and most of the city boundary coordinates have a broken surface in the lower left corner:
1 120

Reproduction steps

No response

Sandcastle example

No response

Environment

Browser:
CesiumJS Version:
Operating System:

@ggetz
Copy link
Contributor

ggetz commented Nov 13, 2024

Thanks for raising this issue @ArgentumHHH!

Looking through the 1.120 changelog, I don't see anything obvious that may have broken polygon hole rendering. It would be helpful to do a git bisect to determine the commit which caused the regression.

@ArgentumHHH Is this something you would be able to try?

@ggetz ggetz added the needs feedback On hold until additional info is supplied label Nov 13, 2024
@ArgentumHHH
Copy link
Author

When I encountered this issue, it was during version 1.123 update. In order to determine which version was causing the problem, I rolled back one version at a time and only found out that the issue did not occur at 1.119. Subsequent versions had this issue

@ggetz ggetz removed the needs feedback On hold until additional info is supplied label Dec 10, 2024
@ggetz
Copy link
Contributor

ggetz commented Dec 10, 2024

@ArgentumHHH Would you be able to perform a git-bisect in order to determine the problematic commit?

@ArgentumHHH
Copy link
Author

@ArgentumHHH Would you be able to perform a git-bisect in order to determine the problematic commit?

I compared every change between version 1.119 and version 1.120 and determined that the reason for this situation is the version issue of the dependency library earcut in packages.engine. By reducing the version of earcut from 3.0.0 to the original 2.2.4, this situation no longer exists.

This was referenced Jan 3, 2025
@ggetz
Copy link
Contributor

ggetz commented Jan 6, 2025

@ArgentumHHH It looks like we have a potential fix in #12412.

Would you please include the Sandcastle example that replicates the issue shown above? That would let us verify the fix. Thanks!

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

Successfully merging a pull request may close this issue.

2 participants