Эта страница доступна также на следующих языках: English

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

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

- Несколько вопросов по pcb есть в Стратегии развития gEDA.
- Несколько вопросов по pcb есть также в списке того, что нужно сделать в gEDA.
- Несколько пожеланий перечислено в проектах по pcb .

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

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

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

- выпускать версии с исправлениями ошибок каждые два месяца или около того, пока не останется нерешённых вопросов;
- начать работу над выпуском версии 4.0 с несколькими большими изменениями в проекте, которые мы обсуждаем годами.

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

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

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

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

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

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

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

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

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

- Сделать код C++-совместимым.
- Разрешить перекрытие поясков переходов.
- Больше стилей трассировки.
- Разрешающая способность в нанометрах --- это переход на «метрические единицы», который многократно обсуждался.
- Настоящие типы слоёв. По меньшей мере шелкография (silk), барьеры трассировки (keepouts), маска (mask) и слой документации (docs). Может быть черчение в негативе (anti-draw) или вставка (paste).

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

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

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

Это список больших изменений, которые, по нашему мнению, желательно включить в 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.
- Автоматическое сохранение файла в формате наименьшей требуемой версии. Установка версии формата файла в зависимости от используемых возможностей, а не от версии самой программы. Это будет ценно, когда мы добавим такие вещи, как глухие переходы, нестандартные стеки контактных площадок и т. д. ...