Dmitry Roo Спасибо за помощь. С "spring.resources.static-locations" и classpath: не получилось сделать.
Есть вариант с добавление абсолютного пути в application.properties, а потом инжектить в класс, реализующий WebMvcConfigurer.
Этот вариант рабочий, но мне не понравился.
Сделал немного по-другому: заинжектил @Value("classpath:application.properties") на поле, а потом вытащил путь до файла.
ronin-indigo, фасады не работают.
Вот так логируется в методах обработчиков событий:
Yii::$app->getLog()->logger->log($message, Logger::LEVEL_ERROR);
Все изменения в репозе на Гитхабе.
Дмитрий Баскаков, псевдокод:
if (offsetLeft - mouse.left > 0)
курсор по оси X перед блоком.
else if (mouse.left > offsetLeft + block.width())
курсор по оси X за блоком.
else
курсор по оси X внутри блока.