rotor-framework 0.7.3 β†’ 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -96,7 +96,7 @@ You can find [🌱](./docs/ai/readme.opt.yaml) symbols in all documentation page
96
96
 
97
97
  ## πŸ“š Learn More
98
98
 
99
- ![Version](https://img.shields.io/badge/version-v0.7.3-blue?label=Documents%20TAG)
99
+ ![Version](https://img.shields.io/badge/version-v0.7.4-blue?label=Documents%20TAG)
100
100
 
101
101
  ### Framework Core
102
102
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rotor-framework",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "Roku toolkit library providing a ViewBuilder, full UI lifecycle with focus handling and many core features, plus MVI-based state management.",
5
5
  "author": "BalΓ‘zs MolnΓ‘r",
6
6
  "license": "Apache-2.0",
@@ -4,7 +4,7 @@
4
4
  ' β–β–›β–€β–šβ––β–β–Œ β–β–Œ β–ˆ β–β–Œ β–β–Œβ–β–›β–€β–šβ–– β–β–›β–€β–€β–˜β–β–›β–€β–šβ––β–β–›β–€β–œβ–Œβ–β–Œ β–β–Œβ–β–›β–€β–€β–˜β–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–›β–€β–šβ––β–β–›β–šβ––
5
5
  ' β–β–Œ β–β–Œβ–β–šβ–„β–žβ–˜ β–ˆ β–β–šβ–„β–žβ–˜β–β–Œ β–β–Œ β–β–Œ β–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–™β–„β–„β––β–β–™β–ˆβ–Ÿβ–Œβ–β–šβ–„β–žβ–˜β–β–Œ β–β–Œβ–β–Œ β–β–Œ
6
6
  ' Rotor Frameworkβ„’
7
- ' Version 0.7.3
7
+ ' Version 0.7.4
8
8
  ' Β© 2025 BalΓ‘zs MolnΓ‘r β€” Apache License 2.0
9
9
  ' =========================================================================
10
10
 
@@ -86,7 +86,7 @@ namespace Rotor
86
86
  class Framework
87
87
 
88
88
  name = "Rotor Framework"
89
- version = "0.7.3"
89
+ version = "0.7.4"
90
90
 
91
91
  config = {
92
92
  tasks: invalid, ' @array (optional)
@@ -4,7 +4,7 @@
4
4
  ' β–β–›β–€β–šβ––β–β–Œ β–β–Œ β–ˆ β–β–Œ β–β–Œβ–β–›β–€β–šβ–– β–β–›β–€β–€β–˜β–β–›β–€β–šβ––β–β–›β–€β–œβ–Œβ–β–Œ β–β–Œβ–β–›β–€β–€β–˜β–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–›β–€β–šβ––β–β–›β–šβ––
5
5
  ' β–β–Œ β–β–Œβ–β–šβ–„β–žβ–˜ β–ˆ β–β–šβ–„β–žβ–˜β–β–Œ β–β–Œ β–β–Œ β–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–Œ β–β–Œβ–β–™β–„β–„β––β–β–™β–ˆβ–Ÿβ–Œβ–β–šβ–„β–žβ–˜β–β–Œ β–β–Œβ–β–Œ β–β–Œ
6
6
  ' Rotor Frameworkβ„’
7
- ' Version 0.7.3
7
+ ' Version 0.7.4
8
8
  ' Β© 2025 BalΓ‘zs MolnΓ‘r β€” Apache License 2.0
9
9
  ' =========================================================================
10
10
 
@@ -70,7 +70,7 @@ namespace Rotor
70
70
  class FrameworkTask
71
71
 
72
72
  name = "Rotor Framework"
73
- version = "0.7.3"
73
+ version = "0.7.4"
74
74
 
75
75
  config = {
76
76
  tasks: invalid, ' optional
@@ -24,6 +24,7 @@ namespace Rotor
24
24
  ' =============================================================
25
25
 
26
26
  id as string ' Widget identifier
27
+ HID as string ' Hierarchical unique ID
27
28
  children as object ' Child widgets collection
28
29
 
29
30
  ' =============================================================
@@ -100,7 +101,6 @@ namespace Rotor
100
101
  ' PRIVATE PROPERTIES (Engine Use Only)
101
102
  ' =============================================================
102
103
 
103
- private HID as string ' Hierarchical ID (e.g., "0.header.logo")
104
104
  private vmHID as string ' Owning ViewModel's HID
105
105
  private isRootChild as boolean ' True if direct child of root
106
106
  private childrenHIDhash as object ' Hash of child HIDs for fast lookup
@@ -290,10 +290,18 @@ namespace Rotor.ViewBuilder
290
290
  index = rootChildCount - 1
291
291
 
292
292
  while index >= 0 and inserted = false
293
- siblingNodeHID = siblingNodes[index].HID
294
- siblingWidget = siblingNodeHID <> invalid ? m.frameworkInstance.builder.widgetTree.get(siblingNodeHID) : invalid
295
- if Rotor.Utils.isInteger(siblingWidget?.zIndex) and siblingWidget?.zIndex <= zIndex
296
- inserted = true ' loop
293
+ siblingNode = siblingNodes[index]
294
+ ' Find matching widget by node reference
295
+ matchingWidget = invalid
296
+ for each childId in widget.parent.children
297
+ child = widget.parent.children[childId]
298
+ if child.node <> invalid and child.node.isSameNode(siblingNode)
299
+ matchingWidget = child
300
+ exit for
301
+ end if
302
+ end for
303
+ if Rotor.Utils.isInteger(matchingWidget?.zIndex) and matchingWidget?.zIndex <= zIndex
304
+ inserted = true
297
305
  else
298
306
  index--
299
307
  end if
@@ -325,7 +333,4 @@ namespace Rotor.ViewBuilder
325
333
 
326
334
  end class
327
335
 
328
-
329
-
330
-
331
336
  end namespace