Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions src-build/Dependencies/Debug/ImOverlay/CeiveImOverlay.luau
Original file line number Diff line number Diff line change
Expand Up @@ -122,16 +122,11 @@ end
function ImOverlay:m_Pool()


for _, Obj in self.BackFrame:GetChildren() do
if Obj:IsA("UIListLayout") or not Obj.Visible then
continue
end

for _, Obj in self.BackFrame:QueryDescendants("> :not(UIListLayout, [Visible = false])") do
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The QueryDescendants selector is malformed and will not work as intended. The selector "> :not(UIListLayout, [Visible = false])" has multiple issues: (1) :not() cannot contain comma-separated selectors in QueryDescendants, (2) [Visible=false] attempts to filter by the Visible property, but QueryDescendants attribute selectors only work with actual Attributes, not instance properties. The Visible property must be checked in code. Since the filtering logic on lines 126-128 is still present and necessary, this change provides no benefit over the original GetChildren() approach and may actually cause unexpected behavior with the malformed selector.

Suggested change
for _, Obj in self.BackFrame:QueryDescendants("> :not(UIListLayout, [Visible = false])") do
for _, Obj in self.BackFrame:GetChildren() do

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The change to QueryDescendants appears only in the src-build version of this file, but not in the corresponding source file at src/Dependencies/Debug/ImOverlay/CeiveImOverlay.luau (which still uses GetChildren). Since src-build appears to be generated from src through a build process (darklua), these files should be kept in sync. Either the source file should also be updated, or the build output should be regenerated from the unchanged source to maintain consistency.

Suggested change
for _, Obj in self.BackFrame:QueryDescendants("> :not(UIListLayout, [Visible = false])") do
for _, Obj in self.BackFrame:GetChildren() do

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The for loop has lost its indentation. It should be indented with a tab character to match the function's indentation level, similar to the other code in this function (see line 131 which correctly has indentation).

Copilot uses AI. Check for mistakes.
-- Quicker to change visibility than to re-parent
Obj.Visible = false
table.insert(self.m_ItemPool, Obj)
end

end

function ImOverlay:m_Cleanup()
Expand Down
10 changes: 4 additions & 6 deletions src-build/init.luau
Original file line number Diff line number Diff line change
Expand Up @@ -141,16 +141,14 @@ function Class:m_CreateBoneTree(RootPart: BasePart, RootBone: Bone)
local function AddChildren(Bone, ParentIndex, HeirarchyLength)
SB_VERBOSE_LOG(`Adding bone: {Bone.Name}; {ParentIndex}; {HeirarchyLength}`)
SB_INDENT_LOG()
local Children = Bone:GetChildren()
local Children = Bone:QueryDescendants("> Bone")
local HasBoneChild = false

for _, Child in Children do
if Child:IsA("Bone") then
self:m_AppendBone(BoneTree, Child, ParentIndex, HeirarchyLength)
self:m_AppendBone(BoneTree, Child, ParentIndex, HeirarchyLength)

AddChildren(Child, #BoneTree.Bones, HeirarchyLength + 1)
HasBoneChild = true
end
AddChildren(Child, #BoneTree.Bones, HeirarchyLength + 1)
HasBoneChild = true
end

if string.sub(Bone.Name, #Bone.Name - 3, #Bone.Name) == "_end" or string.sub(Bone.Name, #Bone.Name - 4, #Bone.Name) == "_Tail" then
Expand Down
6 changes: 1 addition & 5 deletions src/Dependencies/Debug/ImOverlay/CeiveImOverlay.luau
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,7 @@ end
function ImOverlay:m_Pool()
debug.profilebegin("ImOverlay::m_Pool")

for _, Obj in self.BackFrame:GetChildren() do
if Obj:IsA("UIListLayout") or not Obj.Visible then
continue
end

for _, Obj in self.BackFrame:QueryDescendants("> :not(UIListLayout, [Visible = false])") do
-- Quicker to change visibility than to re-parent
Obj.Visible = false
table.insert(self.m_ItemPool, Obj)
Expand Down
10 changes: 4 additions & 6 deletions src/init.luau
Original file line number Diff line number Diff line change
Expand Up @@ -141,16 +141,14 @@ function Class:m_CreateBoneTree(RootPart: BasePart, RootBone: Bone)
local function AddChildren(Bone, ParentIndex, HeirarchyLength)
SB_VERBOSE_LOG(`Adding bone: {Bone.Name}; {ParentIndex}; {HeirarchyLength}`)
SB_INDENT_LOG()
local Children = Bone:GetChildren()
local Children = Bone:QueryDescendants("> Bone")
local HasBoneChild = false

for _, Child in Children do
if Child:IsA("Bone") then
self:m_AppendBone(BoneTree, Child, ParentIndex, HeirarchyLength)
self:m_AppendBone(BoneTree, Child, ParentIndex, HeirarchyLength)

AddChildren(Child, #BoneTree.Bones, HeirarchyLength + 1)
HasBoneChild = true
end
AddChildren(Child, #BoneTree.Bones, HeirarchyLength + 1)
HasBoneChild = true
end

if string.sub(Bone.Name, #Bone.Name - 3, #Bone.Name) == "_end" or string.sub(Bone.Name, #Bone.Name - 4, #Bone.Name) == "_Tail" then
Expand Down