Skip to content

Wire animated block rendering#1

Open
newmattock wants to merge 2 commits into
pankaj-bind:issue-1from
newmattock:codex/openisopix-animation-cleanup
Open

Wire animated block rendering#1
newmattock wants to merge 2 commits into
pankaj-bind:issue-1from
newmattock:codex/openisopix-animation-cleanup

Conversation

@newmattock
Copy link
Copy Markdown

@newmattock newmattock commented May 16, 2026

Addresses OpenSword#1
References OpenSword#3

Completes the remaining animation hookup and cleanup slice discussed in OpenSword#1 and OpenSword#3.

Changes:

  • Wire IsometricRenderer to use BlockType.get_current_frame(animation_time) so animated block types actually advance frames when animated and animation_frames are configured.
  • Track animated blocks separately and update their sprite textures from _process() without redrawing the whole world.
  • Configure the default water block with two frames and add a visible foam-frame SVG so the animation path has a concrete in-demo block to exercise.
  • Fix startup chunk loading so the first full render actually displays the generated world instead of clearing block sprites before any chunks are marked loaded.
  • Add a visible starter pond near the opening camera position so the demo immediately shows the animated water path.
  • Remove the unused renderer texture-generation helper and unused tile-size constants.
  • Keep the cursor highlight z-index inside Godot's supported canvas range so the demo scene starts without a runtime z-index error.
  • Update API/debugging docs so they match the current InteractionMode enum and no longer describe a nonexistent QUERY mode.

Validation:

  • git diff --check
  • rg -n "QUERY|_create_colored_texture" scripts docs returns no matches
  • godot --version -> 4.6.2.stable.official.71f334935
  • godot --headless --path . --import
  • godot --headless --path . --scene res://scenes/Main.tscn --quit-after 180
  • godot --path . --scene res://scenes/Main.tscn --write-movie /tmp/openisopix-demo.avi --quit-after 180
  • godot --path . --scene res://scenes/Main.tscn --write-movie /tmp/openisopix-frames/frame.png --fixed-fps 30 --quit-after 60

Local demo evidence:

  • Recorded a Godot movie: 180 frames at 60 FPS, 1280x720, SHA-1 643e9af3851abb0ed507bb34a9153e9eac96c046.
  • Generated a five-frame representative PNG sample ZIP from a 60-frame Godot recording, SHA-1 6071dfa10937b4f9a2b5c555f72724bd791e17b2.
  • Sampled frame hashes alternate between c04c718e7ea533cc9d7d674416c8f084541963f5 and cb86b0b945bc1dbb1b0653ca6b8c4b8bd02ab977, matching the configured water animation frames.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant