[Pather] add auto_render_append arg

This commit is contained in:
jan 2026-03-08 10:12:43 -07:00
commit ef5c8c715e
2 changed files with 7 additions and 3 deletions

View file

@ -63,7 +63,7 @@ class Pather(PortList):
""" """
__slots__ = ( __slots__ = (
'pattern', 'library', 'tools', 'paths', 'pattern', 'library', 'tools', 'paths',
'_dead', '_logger', '_auto_render' '_dead', '_logger', '_auto_render', '_auto_render_append'
) )
pattern: Pattern pattern: Pattern
@ -111,6 +111,7 @@ class Pather(PortList):
name: str | None = None, name: str | None = None,
debug: bool = False, debug: bool = False,
auto_render: bool = False, auto_render: bool = False,
auto_render_append: bool = True,
) -> None: ) -> None:
""" """
Args: Args:
@ -122,10 +123,13 @@ class Pather(PortList):
name: If specified, `library[name]` is set to `self.pattern`. name: If specified, `library[name]` is set to `self.pattern`.
debug: If True, enables detailed logging. debug: If True, enables detailed logging.
auto_render: If True, enables immediate rendering of routing steps. auto_render: If True, enables immediate rendering of routing steps.
auto_render_append: If `auto_render` is True, determines whether
to append geometry or add a reference.
""" """
self._dead = False self._dead = False
self._logger = PatherLogger(debug=debug) self._logger = PatherLogger(debug=debug)
self._auto_render = auto_render self._auto_render = auto_render
self._auto_render_append = auto_render_append
self.library = library self.library = library
self.pattern = pattern if pattern is not None else Pattern() self.pattern = pattern if pattern is not None else Pattern()
self.paths = defaultdict(list) self.paths = defaultdict(list)
@ -321,7 +325,7 @@ class Pather(PortList):
self.plugged({portspec: plug_into}) self.plugged({portspec: plug_into})
if self._auto_render: if self._auto_render:
self.render() self.render(append=self._auto_render_append)
def _get_tool_R(self, tool: Tool, ccw: SupportsBool, in_ptype: str | None, **kwargs) -> float: def _get_tool_R(self, tool: Tool, ccw: SupportsBool, in_ptype: str | None, **kwargs) -> float:
""" Probe a tool to find the lateral displacement (radius) of its bend. """ """ Probe a tool to find the lateral displacement (radius) of its bend. """

View file

@ -13,7 +13,7 @@ def advanced_pather() -> tuple[Pather, PathTool, Library]:
lib = Library() lib = Library()
# Simple PathTool: 2um width on layer (1,0) # Simple PathTool: 2um width on layer (1,0)
tool = PathTool(layer=(1, 0), width=2, ptype="wire") tool = PathTool(layer=(1, 0), width=2, ptype="wire")
p = Pather(lib, tools=tool) p = Pather(lib, tools=tool, auto_render=True, auto_render_append=False)
return p, tool, lib return p, tool, lib