mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 11:18:48 +00:00
33 lines
2.3 KiB
JavaScript
33 lines
2.3 KiB
JavaScript
/**
|
|
* Аргументы запуска Chromium для съёмки документации (#410, #424).
|
|
*
|
|
* Модуль отдельный и чистый намеренно: `capture.mjs` — исполняемый скрипт,
|
|
* который при импорте поднимает браузер и снимает набор. Тест, желающий
|
|
* прочитать эти константы, не должен запускать съёмку внутри `npm test` — тот
|
|
* же приём и та же причина, что у `clip.mjs`.
|
|
*
|
|
* Первые три флага фиксируют растеризацию текста и цветовой профиль: именно они
|
|
* убрали основную часть дрейфа в #410.
|
|
*
|
|
* Последние два добавлены в #424 и обязаны стоять вместе — по отдельности ни
|
|
* один дрейф не убирает (проверено перебором, восемь прогонов на конфигурацию):
|
|
*
|
|
* - `--disable-partial-raster` запрещает переиспользовать ранее нарисованные
|
|
* куски тайла. С включённой частичной растеризацией кадр зависит от того,
|
|
* что композитор рисовал ДО него, то есть от истории прогона;
|
|
* - `--run-all-compositor-stages-before-draw` заставляет пройти все стадии
|
|
* композитора до отрисовки, иначе снимок берётся на полпути и «докрутка»
|
|
* каждый раз происходит по-своему.
|
|
*
|
|
* Подпись дефекта, ради которого это сделано: один-два случайных кадра из
|
|
* десяти расходятся между прогонами на единицы пикселей и два уровня, при этом
|
|
* внутри одного процесса всё стабильно.
|
|
*/
|
|
export const DETERMINISTIC_ARGS = [
|
|
'--force-color-profile=srgb',
|
|
'--font-render-hinting=none',
|
|
'--disable-lcd-text',
|
|
'--disable-partial-raster',
|
|
'--run-all-compositor-stages-before-draw',
|
|
];
|