У меня была такая же проблема на Ryzen 5800x и RX 6800 X, решилась следующим образом. В LM Studio, в настройках, во вкладке Rutimes для GGUF моделей средой выполнения стоял Vulkan llama.cpp, которая и падала. Во вкладке Hardware, кстати, напротив моей видеокарты было написано ROCm, поэтому я сделал вывод, что LM Studio не умеет в Vulkan на моей карте. Далее есть два пути:
Переключить runtime моделей на CPU llama.cpp и выполнять на процессоре (CPU выдал 7.7 токенов в секунду)
Прям там же в LM Studio во складке Runtimes скачать ROCm llama.cpp и переключить runtime моделей на нее (GPU выдал 75 токенов в секунду)
В итоге это работало максимально нативно, но с двумя неудобствами:
URL выглядел не user friendly из-за двойной навигации в нем, что-то вроде `/foo/bar(sidebar:/baz)`, уже точно не помню как он формируется
Роуту приходило помогать - где-то сбрасывать outlet руками при навигации, если изменился именно promary route, где-то наборот делать навигацию явно указывая нужный outlet. Несколько хелперов решили все проблемы, а у вас вообще модальное окно и у пользователя не будет возможности менять primary route не закрыв outlet
В вашем случае typescript не может связать shape и param, для него это разные вещи и он понятия не имеет что именно вы хотите с ними делать. У вас буквально указано, что аргументами могут быть Shape и вот такие цвета, поэтому typescript и допускает вызов Circle с SquareColor
Если вы хотите именно связать shape и param на уровне вызова функции, чтобы при передаче Circle в качестве param можно было указывать лишь CircleColor, а при Square только SquareColor, то могу рекомендовать сделать это через generic
Технически ваш пример не более чем перенос транспиляции TS в JS с уровня разработки на уровень runtime и вызывает лишь спортивный интерес, так как пользы в этом действии я придумать не могу) Сам TypeScript, возвращаясь к обсуждению выше, все равно не умеет выполняться ни в браузере, ни в node.js
С таким же успехом можно сказать, что любой псевдокод выполняется в браузере, если подключить в runtime какой-то транспайлер в JS
Работать же он от этого не перестал и все кейсы пока покрывает. Думаю, команда Angular давно знает, что он Deprecated, но переезд с него не самая приоритетная задача
У меня была такая же проблема на Ryzen 5800x и RX 6800 X, решилась следующим образом.
В LM Studio, в настройках, во вкладке Rutimes для GGUF моделей средой выполнения стоял Vulkan llama.cpp, которая и падала. Во вкладке Hardware, кстати, напротив моей видеокарты было написано ROCm, поэтому я сделал вывод, что LM Studio не умеет в Vulkan на моей карте.
Далее есть два пути:
Переключить runtime моделей на CPU llama.cpp и выполнять на процессоре (CPU выдал 7.7 токенов в секунду)
Прям там же в LM Studio во складке Runtimes скачать ROCm llama.cpp и переключить runtime моделей на нее (GPU выдал 75 токенов в секунду)
То есть грамотно попали в целевую аудиторию
А вы для репозитория выставили WSL версии 2?
Была однажды подобная задачка, только по UI это выглядело не как модальное окно, а как выезжающий сбоку sidebar и в нем были табы с разным содержимым.
Мы пошли третьим путем, в сравнении с вашим.
Объявили именованный outler на странице и просто производили всю навигацию в контексте этого самого outlet:
В итоге это работало максимально нативно, но с двумя неудобствами:
URL выглядел не user friendly из-за двойной навигации в нем, что-то вроде `/foo/bar(sidebar:/baz)`, уже точно не помню как он формируется
Роуту приходило помогать - где-то сбрасывать outlet руками при навигации, если изменился именно promary route, где-то наборот делать навигацию явно указывая нужный outlet. Несколько хелперов решили все проблемы, а у вас вообще модальное окно и у пользователя не будет возможности менять primary route не закрыв outlet
Только не долларов, а рублей
В вашем случае typescript не может связать
shape
иparam
, для него это разные вещи и он понятия не имеет что именно вы хотите с ними делать. У вас буквально указано, что аргументами могут бытьShape
и вот такие цвета, поэтому typescript и допускает вызовCircle
сSquareColor
Если вы хотите именно связать
shape
иparam
на уровне вызова функции, чтобы при передачеCircle
в качествеparam
можно было указывать лишьCircleColor
, а приSquare
толькоSquareColor
, то могу рекомендовать сделать это через genericВ таком случае любая Shape будет требовать свой цвет
С таким же успехом можно сказать, что любой псевдокод выполняется в браузере, если подключить в runtime какой-то транспайлер в JS
Работать же он от этого не перестал и все кейсы пока покрывает. Думаю, команда Angular давно знает, что он Deprecated, но переезд с него не самая приоритетная задача