We held the first ever Cesium Bug Bash last week, and it was a massive success! For three days, the Cesium team went over to Bentley Systems headquarters and worked on squashing some of the bugs that were most impacting the Cesium community.
Cesium Team hard at work at Bentley Systems
On day 1 we hit the ground running, tackling a large number of small fixes which resulted in opening 15 pull requests and closing 11 issues. We kept that momentum going into day 2 with 18 new pull requests and 7 more closed issues. The final day we had 9 more pull requests and closed 8 issues, bringing the total pull request count to 42 and the issue count to 26. We still have a few bug bash pull requests open, and when those are merged we will have a grand total of 33 closed issues!
Here are some highlights:
Tom Fili closed three long standing KML issues
- Render KML features with duplicate IDs. #4455
- KML features respect timespan and timestamp of parent containers. #4475
- Load network links to other KML files within the same KMZ archive. #4477
Touchscreen Camera Controls
- Ed Mackey submitted a fix that improves navigating around the globe when using a touch screen. He fixed a crash that was happening if your first action was a zoom, and he improved pinch zoom so it zooms to the correct location. #4488
There were a number of fixes made to different entity types
- Dan Bagnell fixed a show/hide issue for billboards. #4460
- I fixed an issue with changing a label’s height reference. #4503
- Matt Amato fixed dynamic coloring for ground primitives and a bounding sphere problem that resulted in some entity crashes. #4457 #4461
- Rob Taglang fixed an issue with rectangle rotation near the international date line. #4507
Tom Payne flew in from Zurich, Switzerland to join us for the event. He closed out the most issues at 8, and tied Matt for the most number of pull requests at 7. He also fixed the oldest issue (from November 5, 2013) by adding handling for touchcancel events. Some of his other fixes include making Sandcastle alphabetize correctly and making the Geocoder text select on click.
With help from Sean Lilley, I was able to finish up and merge a pull request I started in February to detect NaN values when normalizing vectors. Making this change resulted in us finding and fixing 4 existing issues and will prevent more bugs of similar nature from making it into the code base in the future.
We received the first contributions from Leesa Fini and Dylan Brown, two students joining us from the University of Pennsylvania’s Open-Source Software Development course.
These and other fixes will be included in the Cesium 1.27 release available on November 1st. Thank you to everyone that participated in the event, including those who contributed to the discussion and helped us decide which bugs to fix. We always welcome community contributions and have lots of documentation to help you get started. Check out our Contributor’s Guide. Overall, the event was very productive and we plan to turn this into an annual affair.