//Эта страница доступна также на следующих языках:// [[roadmap|English]] ====== Стратегия развития PCB ====== Настоящее руководство посвящено будущим направлениям развития редактора топологии печатных плат **pcb**. * Несколько вопросов по **pcb** есть в [[geda>geda:design_flow_and_hierarchy_roadmap | Стратегии развития gEDA]]. * Несколько вопросов по **pcb** есть также в [[geda:todos.ru| списке того, что нужно сделать в gEDA]]. * Несколько пожеланий перечислено в [[:pcb-projects.ru | проектах по pcb ]]. ===== Общие указания по выпускам новых версий ===== В целом, в **pcb** может быть три вида изменений --- исправления ошибок, новые возможности и несовместимые изменения. //Исправление ошибок// (//bug fix//) нужно, когда программа не делает того, что должна делать; сюда входят как ошибки в документации, так и проблемы с самим кодом программы. //Новая возможность// (//new feature//) --- это нечто, добавляющее функциональность в **pcb**, но никоим образом не изменяющее уже имеющейся функциональности. //Несовместимое изменение// (//incompatible change//) --- это любое (преднамеренное) изменение, вызывающее проблемы несовместимости с прежними версиями **pcb** и обычно означающее большие изменения в построении программы. Заметьте, что новые возможности, добавляющие обратно-совместимые изменения в формат файла //при его использовании//, в эту категорию не входят. Текущие планы таковы: * выпускать версии с исправлениями ошибок каждые два месяца или около того, пока не останется нерешённых вопросов; * начать работу над выпуском версии 4.0 с несколькими большими изменениями в проекте, которые мы обсуждаем годами. В настоящий момент выпуски с исправлениями ошибок будут иметь названия вида ''pcb-ГГГГММДД''. После выпуска версии 4.0, числа ''major.minor.bugfix'' будут соответствовать трём категориям, указанным выше: номер выпуска с исправлениями ошибок будет *.*.N, выпуск с новыми возможностями --- *.N, выпуск с большими изменениями --- N.0. Числа ''ГГГГММДД'' будут тогда использоваться для регулярных срезов разработки, не выпускаемых в качестве официальных версий. Дальше на этой странице будут перечислены различные планируемые изменения (или те, на которые мы по крайней мере надеемся) для ближайших и последующих выпусков. Ошибки, заплаты и запросы новых возможностей должны добавляться в [[https://bugs.launchpad.net/pcb |систему отслеживания ошибок Launchpad]]. Их статус по умолчанию --- «нерешённый» (**undecided**). Запросы с таким приоритетом считаются непроверенными. ===== Следующий выпуск с исправлениями ошибок ===== Это перечень исправлений, которые //должны быть// осуществлены прежде, чем выпускать новую версию с исправлениями ошибок, в дополнение к любым артефактам «следующего выпуска с исправлениями» в системе отслеживания ошибок. ===== Будущие выпуски с исправлениями ошибок ===== Это перечень исправлений, которые должны быть сделаны со временем. ===== Следующий выпуск с новыми возможностями ===== Это список новых возможностей, которые хочется иметь к выпуску следующей версии с новыми возможностями (или, может быть, к следующему выпуску с исправлениями, если позволит время). * Сделать код //C++//-совместимым. * Разрешить перекрытие поясков переходов. * Больше стилей трассировки. * Разрешающая способность в нанометрах --- это переход на «метрические единицы», который многократно обсуждался. * Настоящие типы слоёв. По меньшей мере шелкография (silk), барьеры трассировки (keepouts), маска (mask) и слой документации (docs). Может быть черчение в негативе (anti-draw) или вставка (paste). ===== Будущие выпуски с новыми возможностями ===== Другие возможности, которые должны быть добавлены со временем. ===== Следующий выпуск с несовместимыми изменениями ===== Это список больших изменений, которые, по нашему мнению, желательно включить в **pcb**, и к которым мы собираемся приложить свои усилия. ===== Будущие выпуски с несовместимыми изменениями ===== Это перечень других больших изменений, которые, по нашему мнению, желательно включить в **pcb**, но к которым до сих пор не прикладывалось никаких усилий. ===== Список пожеланий ===== В этом разделе перечислены возможные проекты для будущих выпусков, насчёт которых либо не было согласия, либо не было запланировано время на них. Если вам хочется взяться за один из них, вперёд :-) * Здесь есть предложение по [[geda>geda:pcb_layers | новым слоям]]. * Остальные подчистки графического интерфейса. Модернизация Gtk в соответствии с «установившейся практикой». Настройка импорта файлов. * Плагин «мастер настройки импорта» (и то же самое для экспорта). * Чистка/переработка DRC. * Движок CAM? (т. е. возможность сказать «чертить внешний контур на слое маски верхней стороны» через скрипт/настройки) * Новый формат файла, который мы обсуждали. * Дуги переменных углов. 90 градусов --- это чрезмерное ограничение. * Заполненные окружности без «костылей». В настоящее время для получения заполненной окружности нужно создавать дорожку нулевой длины подходящей ширины. * Унификация сочетаний клавиш в **gschem** и **pcb** или, по крайней мере, лёгкая возможность подстройки **pcb** под сочетания программы **gschem**. * Лучшая поддержка свободного вращения компонентов: стремиться, чтобы контактные площадки с прикольными углами отрисовывались правильно, исправить автотрассировщик для компонентов с чудными углами (последняя версия из git имеет тенденцию в зависимости от обстоятельств или игнорировать команду трассировки, или выдавать ошибки сегментации), добавить информацию о вращении в сообщения, выводимые по ctrl-r, и т. д. * Возможность копировать имя посадочного места из диалогового окна библиотеки (чтобы его можно было вставить в список атрибутов в **gschem**). * Возможность редактировать список соединений «на месте» (может быть с помощью вычерчивания линий связи (rat lines) на их слое), то есть, когда нужно добавить радиатор, припаянный к земле, он будет всегда показываться как закороченный, пока список соединений не будет изменён так, чтобы он был включён туда. * Калькулятор импеданса дорожек с возможностью автоподстройки (ширина заполнения, конструктивная (паразитная) ёмкость и желаемый импеданс и подстройка ширины для удовлетворения этим условиям). * Интеграция просмотра и получения посадочных мест с gedasymbols.org. * Иерархическая модель платы --- подъячейки, посадочные места как топология и т. д. * Форма, которую я давно хотел бы иметь для контактной площадки, это круг с обрезанными краями. Это немного отличается от овала. Было бы здорово иметь что-то вроде логических операций над изображениями, как в Inkscape. * Как насчёт текста под углами, не кратными 90 градусов? Или поддержка поворота квадратных площадок? (Я знаю, обе возможности не поддерживаются в формате файла.) * Редактирование с помощью сетки должно быть убрано! Подсчёт точек сетки --- это наихудший способ вводить позиционную информацию в компьютер из всех возможных. * Сделать редактируемыми все поля в отчётах по объектам. * Разрешить прямой ввод смещений и абсолютных положений при редактировании. * Добавить возможности «offset» («смещение») и «trim» («подрезка») как в программах 2D CAD. * Добавить возможность черчения линий вида «точка к касательной» и «касательная к касательной» как в программах двумерных CAD. * Автоматическое сохранение файла в формате наименьшей требуемой версии. Установка версии формата файла в зависимости от используемых возможностей, а не от версии самой программы. Это будет ценно, когда мы добавим такие вещи, как глухие переходы, нестандартные стеки контактных площадок и т. д. ...