К обсуждениям

Safari Technology Preview 251: clip-path у смещённого foreignObject

Редакция VOne Технологии

Safari Technology Preview 251: basic-shape clip-path рисуется не на месте, когда foreignObject имеет ненулевые x или y. People-first проверка: геометрическая карта «foreignObject origin → basic shape → visible bounds → hit region»; синтетический стенд, опровержимый контроль, один обратимый шаг, stop-line и минимизированный handoff.

Ответ и граница: SVG

Надёжный ответ появляется только после явного baseline и способного опровергнуть гипотезу контроля. Запрос «как проверить clip-path basic shape у foreignObject с ненулевыми x y в Safari Technology Preview 251» относится только к ситуации: basic-shape clip-path рисуется не на месте, когда foreignObject имеет ненулевые x или y. Условие успеха записывается до запуска: видимая и hit-test границы clip смещаются вместе с foreignObject и не остаются у SVG origin. Внешне похожая ошибка сама по себе ничего не доказывает; отдельно проверяется ловушка «transform-box или viewBox mapping, ошибочно принятый за offset basic-shape на foreignObject». До опыта определите, что будет считаться invalid и unknown. Это защищает от вывода по отсутствующему API, случайному exception или одновременной смене нескольких условий. Производственный сайт, реальный аккаунт и пользовательские данные исключены.

Что подтверждают Release 251 и 318904@main

Официальные WebKit Release Notes датированы 26 августа 2026 года и для Safari Technology Preview 251 сообщают: исправлено позиционирование clip-path basic shape на foreignObject с ненулевыми x или y. Строка релиза ведёт к первичной записи 318904@main; её commit title и доступность перепроверены 29 августа. Эта доказательная база ограничена кодовым изменением TP 251. Она не обещает перенос в stable Safari, индексацию статьи или воспроизведение на стороннем сайте. Технический предел статьи совпадает с формулировкой 318904@main и не расширяется поисковым заголовком.

Стенд и рабочий артефакт 318904

Стенд: локальный SVG с foreignObject 80×60, ненулевыми x/y, контрастной HTML-сеткой и inset clip-path. До воздействия без интерпретации запишите: x, y, foreignObject rect, clip-path text, expected clip rect, screenshot edges и hit-test points. Рабочий артефакт — геометрическая карта «foreignObject origin → basic shape → visible bounds → hit region». Каждая строка должна быть воспроизводима без персональных данных: synthetic values, время, версия, expected и observed. Не расширяйте лог ради заполнения пробела и не сохраняйте сетевые идентификаторы. Наблюдение не интерпретируется до прохождения control и финального cleanup.

Контроль, который может опровергнуть гипотезу

Control не доказывает универсальность; он проверяет, что стенд способен различить соседнюю причину. Для этой боли используется: тот же foreignObject при x=0,y=0 и SVG rect с идентичным basic-shape clip. Он проходит тот же порядок запуска, settle-событие и набор полей, что основная ветка. Риск «transform-box или viewBox mapping, ошибочно принятый за offset basic-shape на foreignObject» получает отдельный признак. Canary и control различаются одной переменной. Совместное отклонение опровергает чистоту стенда, а не подтверждает баг; соседняя причина отмечается отдельно. Такой дизайн делает тезис опровержимым и не требует доступа к исходным данным пользователя.

Одно обратимое воздействие

Разрешён один шаг: сдвинуть foreignObject одной парой x/y, снять bounds и вернуть его в origin. Сначала снимите baseline, затем выполните только указанную операцию, дождитесь заранее выбранного события завершения и повторите поля «x, y, foreignObject rect, clip-path text, expected clip rect, screenshot edges и hit-test points». Снимите baseline, выполните одну операцию, дождитесь settle и повторите те же измерения. После полного возврата baseline обязан восстановиться, иначе даже привлекательный canary получает invalid. PASS допустим, когда видимая и hit-test границы clip смещаются вместе с foreignObject и не остаются у SVG origin. Результат не усиливают словами о массовости; production, VPN, маршрутизация, чужие сайты и реальные media остаются вне опыта.

Stop-line, решение и минимальный handoff

Результат может быть reproduced, not reproduced, unsupported, environment-blocked, invalid или unknown. Остановитесь, если есть transform, CSS zoom, внешний HTML меняет размер, clip-path использует URL reference или screenshot масштабирован. Финальная запись хранит геометрическая карта «foreignObject origin → basic shape → visible bounds → hit region», результат контроля, отметку rollback и ссылку на 318904@main. Не превращайте not reproduced в опровержение для всех. Результат описывает лишь этот build и выбранный control, а пробелы получают явный unknown. Для handoff достаточно fixture, build, expected/actual, контрольной ветки, rollback и primary link; перед передачей удаляются пути и идентификаторы. PASS означает только условие «видимая и hit-test границы clip смещаются вместе с foreignObject и не остаются у SVG origin». Материал не обещает индексацию, позиции, поисковый спрос, stable-поддержку или автоматическое исправление.

Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 318904@main, техническая граница, независимый контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.