Skip to content

planner_study.render5

render5

clean

clean(st)

zero coverage/explored heat for a clean mechanism frame (keeps walls/agents).

Source code in experiments/planner_study/render5.py
45
46
47
48
49
50
def clean(st):
    """zero coverage/explored heat for a clean mechanism frame (keeps walls/agents)."""
    fld={}
    for f in ("explored","seen_by"):
        if hasattr(st,f): fld[f]=jnp.zeros_like(getattr(st,f))
    return dataclasses.replace(st,**fld) if fld else st

draw_edges_panel

draw_edges_panel(ax, pos, w_style, present, degraded=None)

draw the line-of-sight edge set; style each by its (possibly degraded) weight so weakened through-wall links show as faint orange ghosts rather than vanishing.

Source code in experiments/planner_study/render5.py
52
53
54
55
56
57
58
59
60
61
62
63
64
def draw_edges_panel(ax,pos,w_style,present,degraded=None):
    """draw the line-of-sight edge set; style each by its (possibly degraded) weight so
    weakened through-wall links show as faint orange ghosts rather than vanishing."""
    n=len(pos)
    for i in range(n):
        for j in range(i+1,n):
            if not present[i,j]: continue
            s=float(w_style[i,j]); warm=degraded is not None and degraded[i,j]
            ax.plot([pos[i,1],pos[j,1]],[pos[i,0],pos[j,0]],"-",
                    color=WARM if warm else TEAL,
                    lw=(0.5 if warm else 0.5)+3.2*s,
                    alpha=min(1.0,(0.30 if warm else 0.18)+0.75*s),
                    zorder=2.5,solid_capstyle="round")