Repository navigation
Bearing, reorientation, slider comparison and zoom improvements - #647
Merged
Merged
Conversation
Create the bearing indicator's tooltip properties once instead of on every render so the virtual DOM does not rebuild the tooltip each frame.
…and adopted zoom - Request the capture location's IANA `timezone` and show capture dates in it in the attribution. - Normalize POP-sharded fbcdn hosts to their unsharded form before fetching. - Add `SliderConfiguration.gravityAligned` to keep stationary comparison cameras aligned to gravity. - Let `ReorientationComponent.adoptView` carry a zoom level and add `reorientCurrent()` to re-run reorientation without navigating. - Regression tests for each.
- Refuse to cache spatial edges for an image whose cache is not initialized, and record the cached node before notifying edge subscribers. - Make `resetSpatialEdges` tolerate re-entrant caching and disposed images, and forget cached spatial edges when images are uncached. - Only warn about an incorrect mesh URL when a mesh id or URL was provided. - Guard state transitions against disposed images. - Spatial cache lifecycle, image cache and state transition regression tests.
Align the two slider images by heading, roll, position and field of view so a side-by-side comparison shows the same subject, add guarded automatic motion between reconstructions, consistent fisheye axes and texture handoff, and make the zoom control keyboard/zoom-state aware. Extensive slider regression tests.
Extract the perspective leveling rules into `PerspectiveLevel` and use them for both reorientation and slider alignment so both level images the same way.
New `SliderConfiguration` option feathers the split between the two slider images in all curtain shaders.
Accept an externally computed view correction (e.g. from image matching) in `SliderConfiguration` and apply it when rendering the comparison image.
New `PointerConfiguration` view bounds let drag panning and bounce limits use a sub-window of the viewer, and keep silent cluster loads from emitting errors.
… motion to the slider Apply view correction to panorama look-around, add `viewScale` to size 360 comparisons like the original, and add a relaxed `automaticMotionPolicy` that lets pairs from different reconstructions try guarded 3D motion.
Button and keyboard zoom now step 1x -> 1.5x -> 2x ... instead of doubling each time (`ZoomSteps`, `stepZoom`).
Align wrapped arguments, split multi-variable declarations and long lines, add missing typedefs, fix JSDoc formatting and a shadowed parameter, and type the missing-image guard cases so the build passes noImplicitAny. No behavior change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings upstream the MapillaryJS changes that have been running in Meta's internal Mapillary web build but were not yet on GitHub. Each commit is self-contained with its own tests.
Bearing and reorientation (follow-ups to #643)
Viewer and data
timezonein attribution dates, fbcdn POP-shard host normalization,SliderConfiguration.gravityAligned, zoom carried throughReorientationComponent.adoptViewandreorientCurrent()PointerConfigurationview bounds) for drag panning and bounce limitsZoomSteps,stepZoom); scroll and pinch unchangedSlider comparisons
PerspectiveLevel) for reorientation and sliderviewScale, and arelaxedautomaticMotionPolicyUpstream-only changes on
main(camera-type fallback, vertical bearing fix, touchcancel fix, trusted publishing, #646) are preserved; package version is unchanged.Testing