Files

41 lines
2.1 KiB
Python

# Copyright (c) 2026 — ComfyUI-BerniniR. Apache-2.0.
"""ComfyUI-BerniniR — soporte para ByteDance/Bernini-R (Wan2.2-T2V-A14B
con source-id RoPE + guía APG multi-condición) en ComfyUI."""
# ComfyUI SIEMPRE importa este paquete con contexto de paquete (`__package__`
# definido), así que el import relativo funciona en producción. Cuando se importa
# fuera de ese contexto —p.ej. pytest recolectando el árbol del repo, que tiene
# este __init__.py en la raíz— el import relativo lanzaría "attempted relative
# import with no known parent package". Lo evitamos sin enmascarar errores reales
# (que sí ocurren cuando `__package__` está definido y el import se ejecuta).
if __package__:
from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
# Backend nativo (v0.4): añade los loaders que esquivan el crash de load_torch_file
# con fp8 e4m3 en torch 2.8/Windows. Tolerante a fallos: si algo va mal, el paquete
# sigue funcionando con los nodos diffusers.
try:
from .bernini.native_nodes import (
NODE_CLASS_MAPPINGS as _NCM_NATIVE,
NODE_DISPLAY_NAME_MAPPINGS as _NDN_NATIVE,
)
NODE_CLASS_MAPPINGS.update(_NCM_NATIVE)
NODE_DISPLAY_NAME_MAPPINGS.update(_NDN_NATIVE)
except Exception as _e: # pragma: no cover
print(f"[BerniniR] aviso: nodos nativos (v0.4) no cargados: {_e}")
# M3b: guider de Bernini (APG + CFG encadenada) para SamplerCustomAdvanced.
try:
from .bernini.native_guider import (
NODE_CLASS_MAPPINGS as _NCM_GUIDER,
NODE_DISPLAY_NAME_MAPPINGS as _NDN_GUIDER,
)
NODE_CLASS_MAPPINGS.update(_NCM_GUIDER)
NODE_DISPLAY_NAME_MAPPINGS.update(_NDN_GUIDER)
except Exception as _e: # pragma: no cover
print(f"[BerniniR] aviso: guider nativo (M3b) no cargado: {_e}")
else: # pragma: no cover - solo en import standalone (tests/herramientas)
NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS = {}, {}
# Frontend: preview + carga de vídeo para BerniniRLoadVideo (web/berninir.js).
WEB_DIRECTORY = "./web"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]