Стратегия развития PCB

Настоящее руководство посвящено будущим направлениям развития редактора топологии печатных плат pcb.

Общие указания по выпускам новых версий

В целом, в pcb может быть три вида изменений — исправления ошибок, новые возможности и несовместимые изменения. Исправление ошибок (bug fix) нужно, когда программа не делает того, что должна делать; сюда входят как ошибки в документации, так и проблемы с самим кодом программы. Новая возможность (new feature) — это нечто, добавляющее функциональность в pcb, но никоим образом не изменяющее уже имеющейся функциональности. Несовместимое изменение (incompatible change) — это любое (преднамеренное) изменение, вызывающее проблемы несовместимости с прежними версиями pcb и обычно означающее большие изменения в построении программы. Заметьте, что новые возможности, добавляющие обратно-совместимые изменения в формат файла при его использовании, в эту категорию не входят.

Текущие планы таковы:

В настоящий момент выпуски с исправлениями ошибок будут иметь названия вида pcb-YYYYMMDD. После выпуска версии 4.0, числа major.minor.bugfix будут соответствовать трём категориям, указанным выше: номер выпуска с исправлениями ошибок будет *.*.N, выпуск с новыми возможностями — *.N, выпуск с большими изменениями — N.0. Числа YYYYMMDD будут тогда использоваться для регулярных срезов разработки, не выпускаемых в качестве официальных версий.

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

Ошибки, заплаты и запросы новых возможностей должны добавляться в систему отслеживания ошибок Launchpad. Их статус по умолчанию — “нерешённый” (undecided). Запросы с таким приоритетом считаются непроверенными.

Следующий выпуск с исправлениями ошибок

Это перечень исправлений, которые должны быть осуществлены прежде, чем выпускать новую версию с исправлениями ошибок, в дополнение к любым артефактам “следующего выпуска с исправлениями” в системе отслеживания ошибок.

Будущие выпуски с исправлениями ошибок

Это перечень исправлений, которые должны быть сделаны со временем.

Следующий выпуск с новыми возможностями

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

Будущие выпуски с новыми возможностями

Другие возможности, которые должны быть добавлены со временем.

Следующий выпуск с несовместимыми изменениями

Это список больших изменений, которые, по нашему мнению, желательно включить в pcb, и к которым мы собираемся приложить свои усилия.

Будущие выпуски с несовместимыми изменениями

Это перечень других больших изменений, которые, по нашему мнению, желательно включить в pcb, но к которым до сих пор не прикладывалось никаких усилий.

Список пожеланий

В этом разделе перечислены возможные проекты для будущих выпусков, насчёт которых либо не было согласия, либо не было запланировано время на них. Если вам хочется взяться за один из них, вперёд :-)

Здесь есть предложение по новым слоям.

Остальные подчистки графического интерфейса. Модернизация Gtk в соответствии с “установившейся практикой”. Настройка импорта файлов.

Плагин “мастер настройки импорта” (и то же самое для экспорта).

Чистка/переработка DRC.

Движок CAM? (т. е. возможность сказать “чертить внешний контур на слое маски верхней стороны” через скрипт/настройки)

Новый формат файла, который мы обсуждали.

Дуги переменных углов. 90 градусов — это чрезмерное ограничение.

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

Унификация сочетаний клавиш в gschem и pcb или, по крайней мере, лёгкая возможность подстройки pcb под сочетания программы gschem.

Лучшая поддержка свободного вращения компонентов: стремиться, чтобы контактные площадки с прикольными углами отрисовывались правильно, исправить автотрассировщик для компонентов с чудными углами (последняя версия из git имеет тенденцию в зависимости от обстоятельств или игнорировать команду трассировки, или выдавать ошибки сегментации), добавить информацию о вращении в сообщения, выводимые по Ctrl+R, и т. д.

Возможность копировать имя посадочного места из диалогового окна библиотеки (чтобы его можно было вставить в список атрибутов в gschem).

Возможность редактировать список соединений “на месте” (может быть с помощью вычерчивания линий связи (rat lines) на их слое), то есть, когда нужно добавить радиатор, припаянный к земле, он будет всегда показываться как закороченный, пока список соединений не будет изменён так, чтобы он был включён туда.

Калькулятор импеданса дорожек с возможностью автоподстройки (ширина заполнения, конструктивная (паразитная) ёмкость и желаемый импеданс и подстройка ширины для удовлетворения этим условиям).

Интеграция просмотра и получения посадочных мест с gedasymbols.org.

Иерархическая модель платы — подъячейки, посадочные места как топология и т. д.

Форма, которую я давно хотел бы иметь для контактной площадки, это круг с обрезанными краями. Это немного отличается от овала. Было бы здорово иметь что-то вроде логических операций над изображениями, как в Inkscape.

Как насчёт текста под углами, не кратными 90 градусов? Или поддержка поворота квадратных площадок? (Я знаю, обе возможности не поддерживаются в формате файла.)

Редактирование с помощью сетки должно быть убрано! Подсчёт точек сетки — это наихудший способ вводить позиционную информацию в компьютер из всех возможных.

Сделать редактируемыми все поля в отчётах по объектам.

Разрешить прямой ввод смещений и абсолютных положений при редактировании.

Добавить возможности “offset” (“смещение”) и “trim” (“подрезка”) как в программах 2D CAD.

Добавить возможностей черчения линий вида “точка к касательной” и “касательная к касательной” как в программах двумерных CAD.

Автоматическое сохранение файла в формате наименьшей требуемой версии. Установка версии формата файла в зависимости от используемых возможностей, а не от версии самой программы. Это будет ценно, когда мы добавим такие вещи, как глухие переходы, нестандартные стеки контактных площадок и т. д. …