CesiumGS / CesiumGS/cesium

Consistency across geometry types

Open
#2,364 0 comments 0 reactions 0 assignees View on GitHub
breaking change category - architecture / api type - enhancement
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

**Consistent height/extruded height options**
As discussed in #2336
Currently, most geometry types project the `position` to the ellipsoid surface and use a `height` option. This is probably not the most user-friendly behavior.

`PolygonGeometry`, `WallGeometry` and `PolylineVolumeGeometry` have different options to allow for for per-position height.

We need a better definition for the extrudedHeight parameter. It would make sense if it was relative to the height instead of relative to the ellipsoid surface.

**Extrusion open top/bottom**
`RectangleGeometry` has the option to hide the top and/or bottom of an extruded rectangle, but none of the other geometry types have this option.

**Consistent Epsilon Threshold**
Discussed in #3305
We use different epsilon values all over the place to determine whether the geometry is big enough to bother rendering. Having a constant that lives in one place that all geometry types use is a good idea.

**stRotation**
`PolygonGeometry` rotates st clockwise, `RectangleGeometry` rotates st counter-clockwise

Contributor guide

Open the contributing guide

Research direction

Start by reviewing PolygonGeometry, WallGeometry, PolylineVolumeGeometry, and RectangleGeometry, then read the discussion in #2336 and #3305. This issue is done only when the height and extrusion semantics, open-top/bottom options, epsilon threshold, and stRotation direction are consistently defined and implemented across the geometry types.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.