forked from viewit/KX-Bridge-Release
Anycubic's ACE RFID system concatenates vendor + material + a truncated serial into one `type` string for custom (third-party) RFID tags, e.g. "GEEETECH PLA Bas" for a Geeetech PLA spool. The bridge previously treated this whole string as an unknown material and fell back to a neutral "Generic <type>" profile, even when the user had already imported a matching OrcaSlicer profile via the ZIP import feature (Issue #41) - forcing a manual per-slot reassignment every time that spool was loaded. Anycubic Slicer Next resolves the same tag correctly. Add two helpers next to the existing _normalize_material/_material_family: - _parse_combined_rfid_type(): splits the raw type string, recognizes a known vendor as the first token (checked against the merged system+user filament library, so custom vendors like "Geeetech" that only exist in the user's imported profiles are included), and extracts the material family from the remainder via the existing _material_family() prefix search. Returns ("", "") for a vendorless string like plain "PLA", leaving normal spool reports untouched. - _match_profile_by_vendor_family(): looks up an imported/system profile by (vendor, family) rather than exact name, since the truncated RFID string never contains the full profile name verbatim. Wired into _build_lane_data() as a third resolution layer, after the existing manual per-slot override and before the Generic-library fallback - not persisted to config.ini, so it re-derives fresh on every call and can't go stale if a differently-tagged spool is loaded later.