forked from MagicBane/Server
Each engine.objects.ItemTemplate gets a cacheTemplate field, filled by linkCacheTemplates() right after CObjectIndex.build() on both servers, so consumers can move to CObjectTemplate one field at a time. ParityCheck gains a static_item_templates comparator: a null bridge is reported as missing in json, and obj_name and item_type are compared through the interface to catch a wrong folder pick. Import convention until the legacy class is removed (Task 1.8): the legacy engine.objects.ItemTemplate keeps the plain import; the cache class is always written engine.parsers.objects.ItemTemplate. Migrated consumers should depend on CObjectTemplate instead. JSON-Refactor-Plan Task 1.1. No consumers change; no values change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>