При выборе drawing tool activeTool не обновляется, поэтому toolbar остаётся в состоянии crosshair и выбранный инструмент не подсвечивается. activeTool нужно менять уже в момент выбора инструмента
Почему activeTool берётся только из managers[0]? При работе с secondary pane состояние меняется в его DrawingsManager, но toolbar этого не увидит. Похоже, active tool должен быть общим состоянием collection
Здесь selected drawing всегда берётся из managers[0]. Selection drawing на secondary pane не попадёт во FloatingDrawingToolbar
Эти действия тоже всегда направлены в managers[0]. Для selected drawing на secondary pane settings/lock/delete будут работать с неправильным manager
Здесь paneIndex используется как pane id, хотя panesMap хранится по внутреннему id. После удаления/reorder pane значения могут разойтись. Лучше сопоставлять по pane.paneIndex()
При переходе на Crosshair pending initialDrawingClickListener не очищается. После drawing -> Crosshair следующий click всё ещё может создать drawing. Нужно отменять ожидание первого клика
Все indicators, которые могут жить в secondary pane, гарантированно имеют actLikeMainSerie? Сейчас отсутствие такой series приводит к runtime exception. Я бы зафиксировал это контрактом либо предусмотрел fallback
Для нового subscribeClick не вижу отписки при destroy PaneManager. Нужен unsubscribeClick с тем же handler, чтобы listener не оставался после уничтожения chart.
При destroy pane его DrawingsManager остаётся в collection. В managers будут накапливаться stale managers. Нужен remove/unregister manager при уничтожении pane
Почему у horizontalRay появился endMarker: arrow? Это меняет прежнее поведение и не относится к multi-pane. Не случайное ли изменение?
На Fragment верхнего map нужен key={paneId}. Сейчас React будет ругаться на отсутствие key