# Original StarClass route filter `GMCheckboxButtonListComponent.as` creates `OnGMFilterOptionModified` arguments from the actual displayed row order. The category is an integer and the selected rows form an unsigned mask. Its toggle-all operation excludes the independent `GM_RouteOptions` row. The actual registration callback `46C2140` dispatches to Main UI `551FFF0+78` (`3A69000`, current ED5 `3A68F60`). For category5 this invokes the actual visualization controller `552D5F0+40/3B45ED0` (current `552D5C0/3B45E30`), resolves the existing StarClass object and calls its `+28` setter. No direct settings writes replace the original operation. The constructor `3AD2C70` calls insertion helper `3AE1220` fifteen times. The original spectral representatives are `0,1,2,3,4,5,6,7,8,11,9,18,12,25,40`; the helper assigns consecutive display indices. Thus the selected bits are: | Bits | Actual display groups | | --- | --- | |0–6|O, B, A, F, G, K, M| |7–14|L, T, Y, protostars, carbon stars, Wolf–Rayet, white dwarfs, non-sequence| |15|Independent `affectsRoutePlotting` checkbox| `3B159D0` appends that final checkbox after all fifteen rows. `552E130+30/3B17970` reads the same selected-row bits and route bit; `+28/3B8BB20` writes them through the actual original settings service and notifies the service. The seven scoopable groups with route filtering enabled therefore produce `0x807F`, rather than a guessed stellar-type mask. An empty selection remains explicitly empty. `Navigation.GalaxyRouteStarClassFilter.cs` validates the current ED5 Main/controller/provider tables and slots, both shared-reference counters, exactly fifteen distinct actual row indices, stable map headers/bitmap/selected bytes and the independent route flag. Application additionally requires the current owning thread, entity, reference world, original registered component and exact readback after the original UI setter. A separate capability is required so an older plugin cannot silently ignore the request. The original operation also selects StarClass as the game's colour category; this is a visible side effect. The tool's finer subtype selections are only transferable when they contain each selected original group in full. Selecting only a neutron star, one white-dwarf subtype, or a base class while excluding its separately displayed giant subtype is rejected; it cannot silently broaden the original route predicate. The complete scoopable selection maps exactly to the seven original groups. Null means all groups and an explicit empty set remains empty. `galaxy_route_star_class_filter_compatibility.py` verifies ten complete paired source functions and four actual typed slots against the pinned6891 and currentED5 images, then adds the new sidecar to the strict mapping inventory. Core mask regressions pass5/5; the independent Native helper compiles with no warnings. The generated inventory verifies522 mappings/344 source addresses with none unresolved. Its own-allocation fixture has expected mask255; it never invokes the game setter. Actual original planner results still require live acceptance; no game setter was executed or DLL installed during this offline work.