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

Rotate and align objects easily #842

Merged
merged 25 commits into from
Jan 24, 2019
Merged

Conversation

johnshaughnessy
Copy link
Contributor

@johnshaughnessy johnshaughnessy commented Jan 16, 2019

You can now use the "rotate" and "align" buttons to reorient objects in the scene.

image

@buildsize
Copy link

buildsize bot commented Jan 16, 2019

File name Previous Size New Size Change
avatar-selector.html 922 bytes 922 bytes 0 bytes (0%)
favicon.ico 33.69 KB 33.69 KB 0 bytes (0%)
hub-preview.png 16.5 KB 16.5 KB 0 bytes (0%)
hub.html 48.28 KB 50.22 KB 1.94 KB (4%)
index.html 695 bytes 695 bytes 0 bytes (0%)
link.html 803 bytes 803 bytes 0 bytes (0%)
LoadingObject_Atom-[hash].glb 27.43 KB 27.43 KB 0 bytes (0%)
waternormals-[hash].jpg 242.98 KB 242.98 KB 0 bytes (0%)
bubble_off-[hash].png 4.22 KB 4.22 KB 0 bytes (0%)
bubble_off-hover-[hash].png 5.85 KB 5.85 KB 0 bytes (0%)
bubble_on-[hash].png 5.65 KB 5.65 KB 0 bytes (0%)
bubble_on-hover-[hash].png 5.46 KB 5.46 KB 0 bytes (0%)
create_object-[hash].png 8.38 KB 8.38 KB 0 bytes (0%)
create_object-hover-[hash].png 10.65 KB 10.65 KB 0 bytes (0%)
freeze_off-[hash].png 7.53 KB 7.53 KB 0 bytes (0%)
freeze_off-hover-[hash].png 9.96 KB 9.96 KB 0 bytes (0%)
freeze_on-[hash].png 7.36 KB 7.36 KB 0 bytes (0%)
freeze_on-hover-[hash].png 9.45 KB 9.45 KB 0 bytes (0%)
mute_off-[hash].png 2.76 KB 2.76 KB 0 bytes (0%)
mute_off-hover-[hash].png 3.65 KB 3.65 KB 0 bytes (0%)
mute_on-[hash].png 5.48 KB 5.48 KB 0 bytes (0%)
mute_on-hover-[hash].png 5.29 KB 5.29 KB 0 bytes (0%)
spawn_photo-[hash].png 3.14 KB 3.14 KB 0 bytes (0%)
tooltip.9-[hash].png 640 bytes 640 bytes 0 bytes (0%)
account-[hash].svg 826 bytes 826 bytes 0 bytes (0%)
daydream_entry-[hash].svg 6.47 KB 6.47 KB 0 bytes (0%)
default_thumbnail-[hash].png 3.02 KB 3.02 KB 0 bytes (0%)
desktop_screen_entry-[hash].svg 376 bytes 376 bytes 0 bytes (0%)
device_entry-[hash].svg 10.48 KB 10.48 KB 0 bytes (0%)
dropdown_arrow-[hash].png 172 bytes 172 bytes 0 bytes (0%)
dropdown_arrow@2x-[hash].png 233 bytes 233 bytes 0 bytes (0%)
gearvr_entry-[hash].svg 574 bytes 574 bytes 0 bytes (0%)
generic_vr_entry-[hash].svg 952 bytes 952 bytes 0 bytes (0%)
giphy_logo-[hash].png 1.02 KB 1.02 KB 0 bytes (0%)
level_background-[hash].png 4.03 KB 4.03 KB 0 bytes (0%)
level_background@2x-[hash].png 4.63 KB 4.63 KB 0 bytes (0%)
level_fill-[hash].png 1.03 KB 1.03 KB 0 bytes (0%)
level_fill@2x-[hash].png 2.02 KB 2.02 KB 0 bytes (0%)
logo-[hash].svg 14.21 KB 14.21 KB 0 bytes (0%)
mic_denied-[hash].png 2.02 KB 2.02 KB 0 bytes (0%)
mic_denied@2x-[hash].png 3.97 KB 3.97 KB 0 bytes (0%)
mic_granted-[hash].png 2.21 KB 2.21 KB 0 bytes (0%)
mic_granted@2x-[hash].png 4.26 KB 4.26 KB 0 bytes (0%)
mic_level-[hash].png 697 bytes 697 bytes 0 bytes (0%)
mic_level@2x-[hash].png 1.48 KB 1.48 KB 0 bytes (0%)
mic_small-[hash].png 234 bytes 234 bytes 0 bytes (0%)
mic_small@2x-[hash].png 370 bytes 370 bytes 0 bytes (0%)
mobile_screen_entry-[hash].svg 914 bytes 914 bytes 0 bytes (0%)
speaker_level-[hash].png 626 bytes 626 bytes 0 bytes (0%)
speaker_level@2x-[hash].png 1.29 KB 1.29 KB 0 bytes (0%)
warning_icon-[hash].png 442 bytes 442 bytes 0 bytes (0%)
warning_icon@2x-[hash].png 699 bytes 699 bytes 0 bytes (0%)
aframe-inspector.min-[hash].js 384.44 KB 384.44 KB 0 bytes (0%)
avatar-selector-[hash].js 55.51 KB 55.51 KB 0 bytes (0%)
avatar-selector-[hash].js.map 135.03 KB 135.03 KB 0 bytes (0%)
engine-[hash].js 1.41 MB 1.41 MB 0 bytes (0%)
engine-[hash].js.map 4.44 MB 4.44 MB -11 bytes (0%)
gifparsing.worker-[hash].js 1.92 KB 1.92 KB 0 bytes (0%)
gifparsing.worker-[hash].js.map 8.33 KB 8.33 KB 0 bytes (0%)
hub-[hash].js 476.63 KB 483.58 KB 6.95 KB (1%)
hub-[hash].js.map 1.23 MB 1.25 MB 19.68 KB (2%)
index-[hash].js 54.13 KB 54.13 KB 0 bytes (0%)
index-[hash].js.map 110.73 KB 110.73 KB 0 bytes (0%)
link-[hash].js 34.93 KB 34.93 KB 0 bytes (0%)
link-[hash].js.map 81.25 KB 81.25 KB 0 bytes (0%)
sketchfab-zip.worker-[hash].js 155.05 KB 155.05 KB 0 bytes (0%)
sketchfab-zip.worker-[hash].js.map 774.31 KB 774.31 KB 0 bytes (0%)
vendor-[hash].js 1.79 MB 1.79 MB 1 bytes (0%)
vendor-[hash].js.map 6.16 MB 6.16 MB 0 bytes (0%)
quack-[hash].mp3 7.03 KB 7.03 KB 0 bytes (0%)
specialquack-[hash].mp3 11.57 KB 11.57 KB 0 bytes (0%)
tone-[hash].mp3 53.92 KB 53.92 KB 0 bytes (0%)
tone-[hash].wav 385.29 KB 385.29 KB 0 bytes (0%)
tone-[hash].webm 32.04 KB 32.04 KB 0 bytes (0%)
tone-[hash].ogg 32.55 KB 32.55 KB 0 bytes (0%)
avatar-selector-[hash].css 1.15 KB 1.15 KB 0 bytes (0%)
avatar-selector-[hash].css.map 136 bytes 136 bytes 0 bytes (0%)
hub-[hash].css 89.39 KB 89.39 KB 0 bytes (0%)
hub-[hash].css.map 124 bytes 124 bytes 0 bytes (0%)
index-[hash].css 40.29 KB 40.29 KB 0 bytes (0%)
index-[hash].css.map 126 bytes 126 bytes 0 bytes (0%)
link-[hash].css 6.1 KB 6.1 KB 0 bytes (0%)
link-[hash].css.map 125 bytes 125 bytes 0 bytes (0%)
home-[hash].mp4 2 MB 2 MB 0 bytes (0%)
home-[hash].webm 1.81 MB 1.81 MB 0 bytes (0%)
negx-[hash].jpg 54.45 KB 54.45 KB 0 bytes (0%)
negy-[hash].jpg 50.97 KB 50.97 KB 0 bytes (0%)
negz-[hash].jpg 53.29 KB 53.29 KB 0 bytes (0%)
posx-[hash].jpg 58.64 KB 58.64 KB 0 bytes (0%)
posy-[hash].jpg 19.17 KB 19.17 KB 0 bytes (0%)
posz-[hash].jpg 57.49 KB 57.49 KB 0 bytes (0%)
spawn_pen-[hash].png 2.39 KB 2.39 KB 0 bytes (0%)
spawn_pen-hover-[hash].png 3.07 KB 3.07 KB 0 bytes (0%)
spawn_camera-[hash].png 4.92 KB 4.92 KB 0 bytes (0%)
spawn_camera-hover-[hash].png 5.83 KB 5.83 KB 0 bytes (0%)
scene.html 1.92 KB 1.92 KB 0 bytes (0%)
scene-[hash].js 118.54 KB 118.65 KB 108 bytes (0%)
scene-[hash].js.map 291.29 KB 291.52 KB 236 bytes (0%)
scene-[hash].css 10.91 KB 10.91 KB 0 bytes (0%)
scene-[hash].css.map 126 bytes 126 bytes 0 bytes (0%)
camera_tool-[hash].glb 757.23 KB 757.23 KB 0 bytes (0%)
hub-preview-white-[hash].png 62.76 KB 62.76 KB 0 bytes (0%)
link_dialog_header-[hash].svg 950 bytes 950 bytes 0 bytes (0%)
moz-logo-black-[hash].png 1.71 KB 1.71 KB 0 bytes (0%)
hub-preview-light-no-shadow-[hash].png 9.35 KB 9.35 KB 0 bytes (0%)
spoke.html 1.42 KB 1.42 KB 0 bytes (0%)
spoke-[hash].js 16.91 KB 16.91 KB 0 bytes (0%)
spoke-[hash].js.map 27.89 KB 27.89 KB 0 bytes (0%)
spoke-[hash].css 6.32 KB 6.32 KB 0 bytes (0%)
spoke-[hash].css.map 126 bytes 126 bytes 0 bytes (0%)
spoke_logo-[hash].png 148.82 KB 148.82 KB 0 bytes (0%)
spoke_logo_black-[hash].png 45.87 KB 45.87 KB 0 bytes (0%)
twitter-[hash].svg 869 bytes 869 bytes 0 bytes (0%)
tap_mellow-[hash].wav 624 bytes 624 bytes 0 bytes (0%)
presence_desktop-[hash].png 252 bytes 252 bytes 0 bytes (0%)
presence_phone-[hash].png 237 bytes 237 bytes 0 bytes (0%)
presence_vr-[hash].png 558 bytes 558 bytes 0 bytes (0%)
hub.service.js 1.34 KB 1.34 KB 0 bytes (0%)
spoke-[hash].webm 5.52 MB 5.52 MB 0 bytes (0%)
spoke-[hash].mp4 6.27 MB 6.27 MB 0 bytes (0%)
action_button.9-[hash].png 2.08 KB 2.08 KB 0 bytes (0%)
spawn_message-[hash].png 625 bytes 625 bytes 0 bytes (0%)
share_camera_off-[hash].png 4.08 KB 4.08 KB 0 bytes (0%)
share_camera_on-[hash].png 6.58 KB 6.58 KB 0 bytes (0%)
share_camera_on-hover-[hash].png 4.44 KB 4.44 KB 0 bytes (0%)
share_screen_off-[hash].png 4.22 KB 4.22 KB 0 bytes (0%)
share_screen_on-[hash].png 6.66 KB 6.66 KB 0 bytes (0%)
share_screen_on-hover-[hash].png 6.8 KB 6.8 KB 0 bytes (0%)
share_window_off-[hash].png 4.13 KB 4.13 KB 0 bytes (0%)
share_window_on-[hash].png 6.62 KB 6.62 KB 0 bytes (0%)
share_window_on-hover-[hash].png 6.7 KB 6.7 KB 0 bytes (0%)
A_bendUp-[hash].wav 60.04 KB 60.04 KB 0 bytes (0%)
Eb_blip-[hash].wav 5.88 KB 5.88 KB 0 bytes (0%)
PenDraw1-[hash].wav 16.04 KB 16.04 KB 0 bytes (0%)
PenSpawn-[hash].wav 12.04 KB 12.04 KB 0 bytes (0%)
PicSnapHey-[hash].wav 120.04 KB 120.04 KB 0 bytes (0%)
quickTurn-[hash].wav 16.04 KB 16.04 KB 0 bytes (0%)
share_message-[hash].png 18.9 KB 18.9 KB 0 bytes (0%)
presence-count-[hash].png 1.78 KB 1.78 KB 0 bytes (0%)
pop-[hash].wav 192.54 KB 192.54 KB 0 bytes (0%)
tack-[hash].wav 40.84 KB 40.84 KB 0 bytes (0%)
suspense-[hash].wav 508.04 KB 508.04 KB 0 bytes (0%)
teleportArc-[hash].wav 184.04 KB 184.04 KB 0 bytes (0%)
welcome-[hash].wav 830.82 KB 830.82 KB 0 bytes (0%)
tick-[hash].wav 8.04 KB 8.04 KB 0 bytes (0%)
whats-new.html 721 bytes 721 bytes 0 bytes (0%)
whats-new-[hash].js 49.75 KB 49.75 KB 0 bytes (0%)
whats-new-[hash].js.map 240.13 KB 240.13 KB 0 bytes (0%)
whats-new-[hash].css 2.68 KB 2.68 KB 0 bytes (0%)
whats-new-[hash].css.map 130 bytes 130 bytes 0 bytes (0%)
generic_vr_headset-[hash].svg 950 bytes 950 bytes 0 bytes (0%)
pause-[hash].png 9.77 KB 9.77 KB 0 bytes (0%)
pause-hover-[hash].png 9.67 KB 9.67 KB 0 bytes (0%)
play-[hash].png 10.62 KB 10.62 KB 0 bytes (0%)
play-hover-[hash].png 10.51 KB 10.51 KB 0 bytes (0%)
seek_back-[hash].png 6.65 KB 6.65 KB 0 bytes (0%)
seek_back-hover-[hash].png 6.85 KB 6.85 KB 0 bytes (0%)
seek_fwd-[hash].png 6.76 KB 6.76 KB 0 bytes (0%)
seek_fwd-hover-[hash].png 7.06 KB 7.06 KB 0 bytes (0%)

Copy link
Contributor

@netpro2k netpro2k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems mostly reasonable to me, though you know the math much better than I do. Biggest issue is variable naming and control flow makes this much harder to follow than it needs to be, so I would prefer those get fixed before merging.

const shouldBeVisible =
((isFrozen && this.data.visible) || (!isFrozen && !this.data.visible)) &&
isWithinDistance &&
!AFRAME.scenes[0].systems["rotate-selected-object"].active;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this seems odd. I assume the primary intent is to hide the freeze menu on the object you are rotating? I feel like the rotate-button component should just set a flag (enabled ?) on this component instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it actually less odd for the rotate button to be setting the visibility of the freeze menu? I thought the ideal situation be that the rotate button wouldn't know about the freeze menu and vice versa (e.g. visibility arbiter). Not sure if it's worth the effort to decomplect them like that, but seems like it's arbitrary whether visibility-while-frozen depends on rotate-button or vice versa.

src/systems/userinput/paths.js Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
src/components/rotate-object-button.js Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
whats new Include this PR on the "What's New" page
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants