diff --git a/FlexLove.lua b/FlexLove.lua index 2de3ed1..5ae1bba 100644 --- a/FlexLove.lua +++ b/FlexLove.lua @@ -337,6 +337,7 @@ end -- Element Object -- ==================== ---@class Element +---@field id string? ---@field autosizing {width:boolean, height:boolean} -- Whether the element should automatically size to fit its children ---@field x number -- X coordinate of the element ---@field y number -- Y coordinate of the element @@ -373,6 +374,7 @@ Element.__index = Element ---@class ElementProps ---@field parent Element? -- Parent element for hierarchical structure +---@field id string? ---@field x number? -- X coordinate of the element (default: 0) ---@field y number? -- Y coordinate of the element (default: 0) ---@field z number? -- Z-index for layering (default: 0) @@ -408,6 +410,7 @@ local ElementProps = {} function Element.new(props) local self = setmetatable({}, Element) self.children = {} + self.id = props.id or "" self.callback = props.callback ------ add non-hereditary ------ diff --git a/testing/__tests__/10_performance_tests.lua b/testing/__tests__/10_performance_tests.lua index 800ed52..110d7fb 100644 --- a/testing/__tests__/10_performance_tests.lua +++ b/testing/__tests__/10_performance_tests.lua @@ -942,8 +942,8 @@ function TestPerformance:testComplexAnimationReadyLayoutPerformance() for i, element in ipairs(animation_elements) do if (frame + i) % 10 == 0 then -- Animate size changes - element.w = element.w + math.sin(frame * 0.1 + i) * 2 - element.h = element.h + math.cos(frame * 0.1 + i) * 1 + element.w = element.width + math.sin(frame * 0.1 + i) * 2 + element.h = element.height + math.cos(frame * 0.1 + i) * 1 end if (frame + i) % 15 == 0 then