Skip to content

Conversation

FelixWolf
Copy link
Contributor

@FelixWolf FelixWolf commented Jul 28, 2025

Description

Adds the ability to disable look at targets, as well as to clamp their distance around the head.

New settings:

  • EnableSelectionHints - Whether or not to send editing hints to animate the arm when editing an object.
  • EnableLookAtTarget - Whether or not to send animate the avatar head and send look at hints when moving the cursor or focusing on objects
  • LimitLookAtTarget - Whether or not to clamp the look at targets around the avatar head before sending
  • LimitLookAtTargetDistance - Distance to limit look at target to

New preferences (Translations needed):

  • Privacy > Enable LookAt
  • Privacy > Limit LookAt Distance
  • Privacy > Enable Selection Hints

Test cases:

  • Ensure that new settings are persistent across logins
  • Ensure that selection hints are not sent when EnableSelectionHints is disabled
  • Ensure that look at target is set to idle when EnableLookAtTarget is disabled
  • Ensure that look at target is clamped when to the value LimitLookAtTargetDistance (Default 2m) when LimitLookAtTarget is enabled
  • Ensure that EnableSelectionHints and EnableLookAtTarget are enabled by default
  • Ensure that LimitLookAtTargetDistance is disabled by default

Video: https://youtu.be/rn6GL3CXXRQ

Related Issues

Issue Link: #4447

Additional Notes

The setting LimitLookAtTargetDistance was created just in case people have issues with their avatar. In my testing, 0.25m is too short and causes avatars to go cross eyed. 2m seems to be a sweet spot because it is the default, but gives those edge cases the ability to change this if it really needs to be changed.

@github-actions github-actions bot added the c/cpp label Jul 28, 2025
@FelixWolf
Copy link
Contributor Author

/claim 4447

Copy link

opirebot bot commented Jul 28, 2025

👀 We've notified the reward creators here.
Make sure your payment account is ready to receive the payment for your hard work 💪

@bennettgoble
Copy link
Member

Thanks, @FelixWolf. Could you include some media (screenshots, video) in your PR? Would help us get an idea of what the preferences panel looks like without waiting for the test build / running the viewer!

@FelixWolf
Copy link
Contributor Author

FelixWolf commented Jul 28, 2025

Thanks, @FelixWolf. Could you include some media (screenshots, video) in your PR? Would help us get an idea of what the preferences panel looks like without waiting for the test build / running the viewer!

Of course! It'll be here shortly: https://youtu.be/rn6GL3CXXRQ (It's a 20MiB upload on my end and I have 125 KiB/s upload) It is now uploaded!

@bennettgoble bennettgoble requested a review from a team July 28, 2025 05:43
@akleshchev akleshchev requested a review from bennettgoble July 28, 2025 09:18
<key>EnableSelectionHints</key>
<map>
<key>Comment</key>
<string>Whether or not to send editing hints to animate the arm when editing an object.</string>
Copy link
Contributor

Choose a reason for hiding this comment

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

This probably needs to be a bit more clear about what 'editing hints' is.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Would "Whether or not to send a particle beam and animate the arm when selecting a object" be more explanatory? Trying to figure out the best way to word it without it getting to wordy.

Copy link
Contributor

@akleshchev akleshchev Jul 29, 2025

Choose a reason for hiding this comment

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

Suggestion: Enable sending and visualizing curent selection using 'beam' particles and arm animation?

//------------------------------------------------------------------------
bool LLVOAvatarSelf::needsRenderBeam()
{
static LLCachedControl<bool> enable_selection_hints(gSavedSettings, "EnableSelectionHints", true);
Copy link
Contributor

@akleshchev akleshchev Jul 29, 2025

Choose a reason for hiding this comment

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

This is going not only not send the beam to server, but also not render it locally, is it intended?

Also feels like it should be only for normal selection, not for grabbing. If person is dragging a physical object around, I would argue that source should be obvious to observers via selection beam (assuming it works like that currently).

Copy link
Contributor Author

@FelixWolf FelixWolf Jul 29, 2025

Choose a reason for hiding this comment

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

It was intended because I felt it should maintain consistency between what the resident who has the setting disabled sees and what everyone else sees, as inconsistency would cause confusion.

However as for the other part, My understanding was to disable all selection hints, including grabbing objects. I can modify it so that it only applies to the normal selection if that is desired.

Copy link
Contributor

Choose a reason for hiding this comment

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

@kylelinden @bennettgoble What's your opinion on that? Should dragged physical object still display selection beam or should it be possible to hide as well?

Copy link
Member

Choose a reason for hiding this comment

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

It should hide that as well. So, current implementation appears to be good.

@akleshchev akleshchev linked an issue Jul 29, 2025 that may be closed by this pull request
//------------------------------------------------------------------------
bool LLVOAvatarSelf::needsRenderBeam()
{
static LLCachedControl<bool> enable_selection_hints(gSavedSettings, "EnableSelectionHints", true);
Copy link
Member

Choose a reason for hiding this comment

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

It should hide that as well. So, current implementation appears to be good.

@akleshchev akleshchev merged commit 2c91aed into secondlife:develop Jul 29, 2025
12 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jul 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add LookAt and Selection Hint Privacy Controls

5 participants