fix: Resolve --exec double script execution bug
Scripts passed to --exec were executing twice because GameEngine constructor ran scripts, and main.cpp created two GameEngine instances. - Move exec_scripts from constructor to new executeStartupScripts() method - Call executeStartupScripts() once after final engine setup in main.cpp - Remove double-execution workarounds from tests - Delete duplicate test_viewport_visual.py (flaky due to race condition) - Fix test constructor syntax and callback signatures 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
b173f59f22
commit
ce0be78b73
9 changed files with 118 additions and 451 deletions
|
|
@ -15,44 +15,44 @@ def test_nested_clipping(runtime):
|
|||
scene = mcrfpy.sceneUI("test")
|
||||
|
||||
# Create outer frame with clipping enabled
|
||||
outer = Frame(50, 50, 400, 300,
|
||||
outer = Frame(x=50, y=50, w=400, h=300,
|
||||
fill_color=Color(50, 50, 150),
|
||||
outline_color=Color(255, 255, 255),
|
||||
outline=3)
|
||||
outer.name = "outer"
|
||||
outer.clip_children = True
|
||||
scene.append(outer)
|
||||
|
||||
|
||||
# Create inner frame that extends beyond outer bounds
|
||||
inner = Frame(200, 150, 300, 200,
|
||||
inner = Frame(x=200, y=150, w=300, h=200,
|
||||
fill_color=Color(150, 50, 50),
|
||||
outline_color=Color(255, 255, 0),
|
||||
outline=2)
|
||||
inner.name = "inner"
|
||||
inner.clip_children = True # Also enable clipping on inner frame
|
||||
outer.children.append(inner)
|
||||
|
||||
|
||||
# Add content to inner frame that extends beyond its bounds
|
||||
for i in range(5):
|
||||
caption = Caption(10, 30 * i, f"Line {i+1}: This text should be double-clipped")
|
||||
caption = Caption(text=f"Line {i+1}: This text should be double-clipped", x=10, y=30 * i)
|
||||
caption.font_size = 14
|
||||
caption.fill_color = Color(255, 255, 255)
|
||||
inner.children.append(caption)
|
||||
|
||||
|
||||
# Add a child frame to inner that extends way out
|
||||
deeply_nested = Frame(250, 100, 200, 150,
|
||||
deeply_nested = Frame(x=250, y=100, w=200, h=150,
|
||||
fill_color=Color(50, 150, 50),
|
||||
outline_color=Color(255, 0, 255),
|
||||
outline=2)
|
||||
deeply_nested.name = "deeply_nested"
|
||||
inner.children.append(deeply_nested)
|
||||
|
||||
|
||||
# Add status text
|
||||
status = Caption(50, 380,
|
||||
"Nested clipping test:\n"
|
||||
status = Caption(text="Nested clipping test:\n"
|
||||
"- Blue outer frame clips red inner frame\n"
|
||||
"- Red inner frame clips green deeply nested frame\n"
|
||||
"- All text should be clipped to frame bounds")
|
||||
"- All text should be clipped to frame bounds",
|
||||
x=50, y=380)
|
||||
status.font_size = 12
|
||||
status.fill_color = Color(200, 200, 200)
|
||||
scene.append(status)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue