Ошибка Firefox rotate3d от -90deg до -180deg?

Я создаю плагин jQuery для слайдера 3D-контента и имею странное поведение с Firefox, когда он вращается от -90 градусов до -180 градусов через 270 градусов в противоположном направлении. Я знаю, что некоторые из этих вещей являются экспериментальными, но я не смог найти никакой другой документации по этой проблеме, если на самом деле это проблема.

Любая помощь приветствуется.

Демонстрация проблемы (посмотреть в последней версии webkit и FF): http://jsbin.com/iwokok/8/ Плагин: https://github.com/pmp/jquery-box-slider

EDIT: ошибка зарегистрирована в Mozilla. Вы можете отслеживать статус сообщения об ошибке на странице https://bugzilla.mozilla.org/show_bug.cgi?id=769892


person Phil Parsons    schedule 28.06.2012    source источник
comment
Не уверен, но может быть это вопрос выбора направления вращения разработчиками браузера.   -  person me_digvijay    schedule 28.06.2012
comment
Я не думаю, что они сознательно приняли бы решение повернуть шаг с 90 градусов на 270 градусов. Он также делает это от 180 до 270 градусов jsbin.com/iwokok/9.   -  person Phil Parsons    schedule 28.06.2012
comment
+1 мне кажется багом, только что сравнил в хроме и FF.   -  person dmp    schedule 30.06.2012
comment
Вероятно, вы могли бы взломать его, чтобы он делал то, что вы хотите, используя инкрементные преобразования, но это не имеет значения, если это действительно ошибка. Если вам нужно было доставить клиенту как можно скорее ... это другое ;)   -  person dmp    schedule 30.06.2012
comment
Это личный проект, так что не торопитесь, у плагина есть и другие эффекты, не требующие 3D-преобразования. Если я не получу результат в ближайшее время, то да, мне придется заставить лица переключаться и всегда двигаться от 0 до +/-90.   -  person Phil Parsons    schedule 30.06.2012
comment
(и это действительно классный маленький плагин!)   -  person dmp    schedule 30.06.2012


Ответы (2)


Если вы считаете, что нашли ошибку в Firefox, вам следует зарегистрировать ошибку в системе отслеживания ошибок Firefox:

https://bugzilla.mozilla.org/

person starbeamrainbowlabs    schedule 30.06.2012

РЕДАКТИРОВАТЬ: текст ниже просто неверен; Я неправильно прочитал CSS.

Вы выполняете интерполяцию между преобразованием, которое вращается, а затем перемещается, и преобразованием, которое перемещает, а затем вращает.

Если типы функций преобразования в двух списках не совпадают, согласно спецификации оба преобразования сворачиваются в единую матрицу преобразования, и на матрицах выполняется интерполяция.

В матричном представлении нет разницы между -180° и 180°. Таким образом, интерполяция может выглядеть так, будто она изменяется от -90 градусов до 180 градусов, в зависимости от выбранного точного метода интерполяции (последний раз я проверял, что спецификация 3D-преобразования фактически не определяет точный метод интерполяции для матрицы).

В общем, если вам нужны воспроизводимые результаты с интерполяцией преобразования, которые не зависят от ошибок с плавающей запятой и различных промежуточных вычислений, вы хотите интерполировать между списками преобразования, которые имеют одни и те же функции в том же порядке.

person Boris Zbarsky    schedule 29.06.2012
comment
Я не очень понимаю ваш ответ, извините. Одни и те же функции преобразования на поле всегда применяются в одном и том же порядке? перевести3d -> повернуть3d. - person Phil Parsons; 29.06.2012
comment
О, хм. На коробке они есть, да. В таком случае я понятия не имею, что происходит! - person Boris Zbarsky; 29.06.2012
comment
Блин, если ты не знаешь Бориса, то кто будет??!! - person Phil Parsons; 29.06.2012
comment
Ну, навскидку, наверное, Дэвид Барон, Мэтт Вудроу или Роберт О'Каллахан. ;) Если у вас уже есть учетная запись bugzilla, я рекомендую зарегистрировать ошибку на этом. Если нет, то я могу сделать это для вас. Просто дай мне знать! - person Boris Zbarsky; 30.06.2012
comment
Спасибо, Борис, я зарегистрировался и добавил отчет об ошибке (Ошибка 769892) bugzilla.mozilla. org/show_bug.cgi?id=769892 - person Phil Parsons; 30.06.2012