GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |
GeezerVison is showing github.com — Reconsider settled pathfinder goals after adding roots by antonsoo · Pull Request #192 · libtcod/python-tcod Conversation
Contributor
import numpy as np import tcod.path pf = tcod.path.Pathfinder(tcod.path.SimpleGraph( cost=np.ones((9, 13), np.int8), cardinal=1, diagonal=0)) pf.add_root((0, 0), value=7) pf.resolve() pf.add_root((0, 0), value=-3) pf.resolve((8, 12)) print(pf.distance[8, 12]) # 27 before this change; should be 17. When the frontier is nonempty, queue the visited goal at its current distance. The search can then find a shorter route, while the queued goal bounds the work if no improvement is possible. An empty frontier still returns immediately. Add regression coverage for C/F indexing, partial/full initial resolution, heuristics enabled/disabled and a cached-goal control that checks the search does not resolve the entire map. On three MovingAI Dragon Age maps, 2,268 of 2,304 lazy queries retain stale distances after lowering a destination's weight. All distances match independent Dijkstra calculations with this change. In a separate integration run with #191, adding destinations produces 1,600 incorrect routes out of 2,304 before this change and none afterward. #191 addresses predecessor termination; this PR addresses when the frontier is searched. Each has a separate regression on current main. Validation on Linux/Python 3.12 with the pinned native libtcod: 12 new cases fail before the change; all 14 pass afterward. The suite excluding window and audio tests passes (197 passed, 94 skipped); Mypy and project formatting hooks pass. Full audio-inclusive validation is incomplete: the dummy audio run stalls in stream binding, while the ordinary audio configuration lacks a device. No complete graphical/audio-suite pass is claimed.
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
|
There was an error while loading. Please reload this page.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@ ## main #192 +/- ## ========================================== + Coverage 86.03% 86.05% +0.01% ========================================== Files 29 29 Lines 7583 7586 +3 ========================================== + Hits 6524 6528 +4 + Misses 1059 1058 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.