decentraland / decentraland/godot-explorer

Point-At In World

Open
#1,736 0 comments 0 reactions 1 assignee Claimed by @rodrigo685 View on GitHub
claw-created feature parity
Dominant language
Rust
Stars
18
Forks
19
Avg merge
4d 2h
Merged PRs (30d)
43

Description

## Description

Implement support for the **point-at in-world** feature as defined in the protocol update: https://github.com/decentraland/protocol/pull/370

This feature allows avatars to point at a specific world position, visible to other users via comms.

## Protocol Changes

The following changes from `decentraland/protocol#370` need to be supported:

### Movement message (comms)
- New fields in `Movement`:
- `float point_at_x = 25`
- `float point_at_y = 26`
- `float point_at_z = 27`
- `bool is_pointing_at = 28`

### MovementCompressed message
- New field `int32 point_at_data = 4` — bit-compressed:
- 3 × 10 bits (9 + 1 sign) for coordinates
- 1 bit bool flag for `is_pointing_at`

### New LookAtPosition message
- Added to the `Packet` oneof (`look_at_position = 13`)
- Fields: `timestamp`, `position_x/y/z`, `target_avatar_wallet_address`
- Used to force an avatar to look at a specific world position

## Implementation Tasks

- [ ] Update protocol dependency to include point-at changes
- [ ] Parse and send `point_at_*` fields in Movement / MovementCompressed comms messages
- [ ] Handle `LookAtPosition` packet type
- [ ] Render pointing animation/indicator on remote avatars
- [ ] Send point-at data from the local player when pointing

---
Requested by Rodri via Slack

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.