Skip to content

[do not merge] bevy-features: protocol-squad features rebuilt on main - #471

Closed
robtfm wants to merge 11 commits into
mainfrom
bevy-features
Closed

[do not merge] bevy-features: protocol-squad features rebuilt on main#471
robtfm wants to merge 11 commits into
mainfrom
bevy-features

Conversation

@robtfm

@robtfm robtfm commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Do not merge. Integration branch that replaces protocol-squad: the squad-track features rebuilt as clean, self-contained commits on top of main, so each can be proposed to main on its own later. Opened as a PR so the branch gets a CDN build for the matching js-sdk-toolchain and bevy-explorer branches to pin.

One commit per feature (all additive over main):

  • gltf internals — GltfNode / GltfNodeState, name lists on GltfContainerLoadingState, GltfMesh / GltfMaterial refs
  • TextureCamera, CameraLayer / CameraLayers, UiCanvas (+ TextureUnion.ui_texture)
  • GlobalLight
  • UiTransform scrolling + UiScrollResult
  • UiInput multi_line / clear_on_submit
  • SetUiFocus / ClearUiFocus / GetUiFocus restricted actions
  • pointer drag events + pad/touch/wand pointer types
  • Raycast shape (avatar capsule) + include_world
  • force_render on AvatarShape / AvatarEquippedData
  • AvatarMovement / AvatarMovementInfo, use_collider_range on the area components, WalkPlayerTo

Deliberately not carried over from protocol-squad: cinematic camera settings on CameraModeArea (VirtualCamera covers it), AvatarMovementSettings on AvatarModifierArea (superseded by AvatarMovement), UiText outline (copied from TextShape, never implemented for UI). Where main and protocol-squad disagreed, main wins (ParticleSystem bursts, CL_MAIN_PLAYER).

robtfm and others added 10 commits August 29, 2026 00:00
GltfNode (1200) / GltfNodeState (1201) let a scene entity bind to a node inside a loaded gltf; GltfContainerLoadingState lists the node paths, mesh, material, skin and animation names; MeshRenderer, MeshCollider and Material gain a gltf-sourced variant (GltfMesh / GltfMaterial).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TextureCamera (1207) renders a camera to a texture; CameraLayer (1503) / CameraLayers (1208) select what each camera sees; UiCanvas (1203) renders a UI tree to a texture, addressable as TextureUnion.ui_texture.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Scene-root component (1206) for the directional light direction/ambient settings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
element_id / scroll_position / scroll_visible on UiTransform; UiScrollResult (1202) reports the current scroll offset back to the scene.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Lets a scene move, clear or query keyboard focus on its text inputs and dropdowns by element_id.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PET_DRAG / PET_DRAG_LOCKED / PET_DRAG_END pointer event types; PrimaryPointerInfo can report pad, touch and wand pointers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
RaycastShape lets a raycast sweep the avatar capsule instead of casting a point; include_world includes colliders from other scenes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Wearable slots that render even when hidden by another wearable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…PlayerTo

AvatarMovement (1501) / AvatarMovementInfo (1500) carry scene-driven movement; use_collider_range on AvatarModifierArea and CameraModeArea counts the player as inside when within 0.3m; WalkPlayerTo walks the player to a scene-relative position via the movement controller.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@robtfm robtfm added the do-not-merge Integration branch / not for merging as-is label Aug 28, 2026
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown

Test this pull request

  • The @dcl/protocol package can be tested in scenes by running
    npm install "https://sdk-team-cdn.decentraland.org/@dcl/protocol/branch//dcl-protocol-1.0.0-33247200090.commit-19c89d4.tgz"

Same shape as the experimental branch: pushes to bevy-features publish @dcl/protocol with the experimental-bevy dist-tag, so consumers can pin an npm version instead of a CDN tarball.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Integration branch / not for merging as-is

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant