Add provenance recovery, coordinated native sampler-state capture, frequency-completed noise reuse, and optional full-resolution inversion finishing. Support automatic SesquiLSR selection and native bislerp fallback for unknown latents. Verify exported Anima and Krea CD workflows with zero VAE encodes. Finishing outputs reproduce prior images exactly; reuse-only outputs match independent references at the agreed capture coordinates. All 3813 Python tests and 115 frontend tests pass alongside required quality gates.
70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
# SimpleSyrup - workflow-focused ComfyUI extensions for image generation
|
|
# Copyright (C) 2026 Artificial Sweetener and contributors
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
"""SimpleSyrup ComfyUI extension entry point."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sys
|
|
|
|
from . import simple_syrup as _simple_syrup_package
|
|
|
|
sys.modules.setdefault("simple_syrup", _simple_syrup_package)
|
|
|
|
from .simple_syrup.integration.external_llm_routes import ( # noqa: E402
|
|
register_external_llm_routes,
|
|
)
|
|
from .simple_syrup.integration.mask_batch_preview_routes import ( # noqa: E402
|
|
register_mask_batch_preview_routes,
|
|
)
|
|
from .simple_syrup.integration.quant_cache_routes import ( # noqa: E402
|
|
register_quant_cache_routes,
|
|
)
|
|
from .simple_syrup.integration.settings_routes import ( # noqa: E402
|
|
register_settings_routes,
|
|
)
|
|
from .simple_syrup.runtime.attention_region_prompt_handler import ( # noqa: E402
|
|
register_attention_region_prompt_handler,
|
|
)
|
|
from .simple_syrup.runtime.comfy_safetensors_dtypes import ( # noqa: E402
|
|
register_comfy_safetensors_dtypes,
|
|
)
|
|
from .simple_syrup.runtime.noise_reuse_prompt_handler import ( # noqa: E402
|
|
register_noise_reuse_prompt_handler,
|
|
)
|
|
|
|
WEB_DIRECTORY = "./web/dist"
|
|
|
|
|
|
async def comfy_entrypoint() -> object:
|
|
"""Return Comfy v3 extension nodes without importing optional integrations."""
|
|
|
|
from comfy_api.latest import ComfyExtension
|
|
|
|
class SimpleSyrupExtension(ComfyExtension):
|
|
"""Expose SimpleSyrup's Comfy v3 nodes."""
|
|
|
|
async def get_node_list(self) -> list[type[object]]:
|
|
"""Return v3 nodes after Comfy asks for them."""
|
|
|
|
from .simple_syrup.nodes_v3 import get_nodes
|
|
|
|
return get_nodes()
|
|
|
|
return SimpleSyrupExtension()
|
|
|
|
|
|
register_settings_routes()
|
|
register_comfy_safetensors_dtypes()
|
|
register_quant_cache_routes()
|
|
register_external_llm_routes()
|
|
register_mask_batch_preview_routes()
|
|
register_attention_region_prompt_handler()
|
|
register_noise_reuse_prompt_handler()
|
|
|
|
__all__ = [
|
|
"WEB_DIRECTORY",
|
|
"comfy_entrypoint",
|
|
]
|