Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 February 07

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ой погодите есть graphics::transform
источник

BD

Berkus Decker in RU Rust GameDev — русскоговорящее сообщество
looks awsum
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
За твоими экспериментами определенно интересно следить :)
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Я сейчас понял, что будет очень весело при изменении компонентов. Т.е. мне надо будет построить систему, которая хранит весь макет каждого компонента и может их через diff прогонять. Так мало этого. Надо как-то мигрировать данные с одного формата на другой.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
источник

AN

Alex Naraito in RU Rust GameDev — русскоговорящее сообщество
😂
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
На самом деле это не выглядит невозможным.
источник

AN

Alex Naraito in RU Rust GameDev — русскоговорящее сообщество
Ну, я не буду говорить возможно или не возможно, но ты крут, это честно
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Alex Naraito
Ну, я не буду говорить возможно или не возможно, но ты крут, это честно
Не факт, что я справлюсь. Задача действительно очень сложная. Но звучит как челенж.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
источник

AN

Alex Naraito in RU Rust GameDev — русскоговорящее сообщество
Хорош челлендж
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Надо подумать над ограничениями. Вот оригинальные требования к компоненту и предполагаемые требования к редактируемому компоненту.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Я б убрал Send + Sync
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
И заменил бы Deserialize на DeserializeOwned
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Я б убрал Send + Sync
'static + Send + Sync - это требование legion. Я не могу это поменять. И это всё равно хорошее ограничение с учётом специфики.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
У меня для WASM есть шутка такая
#[cfg(not(target_arch = "wasm32"))]
trait SendSync: Send + Sync {}
#[cfg(not(target_arch = "wasm32"))]
impl<T> SendSync for T where T: Send + Sync {}

#[cfg(target_arch = "wasm32"))]
trait SendSync {}
#[cfg(target_arch = "wasm32"))]
impl<T> SendSync for T {}


И везде, где надо, требую вот этот SendSync.
И все, я спокойно использую !Send и !Sync внутренности из web_sys и иже с ним
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
А вообще со стороны legion требовать Send + Sync (хоть и ясно зачем) не комильфо
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Надо все таки предусматривать для разных case-ов свой API
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Но к сожалению для dyn Trait ов нельзя добавлять - убирать + MarkerTrait через генерики
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
У меня для WASM есть шутка такая
#[cfg(not(target_arch = "wasm32"))]
trait SendSync: Send + Sync {}
#[cfg(not(target_arch = "wasm32"))]
impl<T> SendSync for T where T: Send + Sync {}

#[cfg(target_arch = "wasm32"))]
trait SendSync {}
#[cfg(target_arch = "wasm32"))]
impl<T> SendSync for T {}


И везде, где надо, требую вот этот SendSync.
И все, я спокойно использую !Send и !Sync внутренности из web_sys и иже с ним
Получается, что сделанное для wasm не будет работать для остального.
источник