# sn_basis/functions/ly_visibility_wrapper.py def is_layer_visible(layer) -> bool: if layer is None: return False visible = getattr(layer, "visible", None) if visible is not None: return bool(visible) try: is_visible = getattr(layer, "isVisible", None) if callable(is_visible): return bool(is_visible()) except Exception: pass return False def set_layer_visible(layer, visible: bool) -> bool: if layer is None: return False try: if hasattr(layer, "visible"): layer.visible = bool(visible) return True except Exception: pass try: node = getattr(layer, "treeLayer", lambda: None)() if node and callable(getattr(node, "setItemVisibilityChecked", None)): node.setItemVisibilityChecked(bool(visible)) return True except Exception: pass return False