scanPy uses feature_id to name most differentially expressed genes (do not exist in feature_name). Now find index of top precomputed genes on run and use index to find proper name.
refactor of name fetching in Xui.dispGenes to avoid duplicate tasks
intersection with instances does not work - work around now adds child sphere and check intersection with .children.first()
Prevent multi-second load of precomputed genes by rounding p values in CorvoLauncher
fixed issue where LibVosk was returning between 0 and n alternatives, but the UI expected 1.
adapted speech to text gene search to search up to 5 most confident alternatives.