LINUX.ORG.RU

sK1 2.0 RC 2

 , ,


4

4

После 5 месяцев разработки выпущен Release Candidate 2 векторного редактора sK1 2.0 (функциональный аналог CorelDRAW). По сути, это уже готовый инструмент работы с векторной графикой.

Скриншоты

До финального релиза недостаёт только фильтров импорта/экспорта сторонних графических форматов (предмет следующего этапа разработки). C момента RC 1 реализовано:

  • разметка для текстовых объектов (разные шрифты и их начертания в пределах текстового блока);
  • текст на кривой и текст на окружности;
  • прецезионная печать с поддержкой CMYK как на *nix платформах, так и на Windows;
  • плагин Iconizer для генерации растра из векторных изображений;
  • завершён диалог настройки свойств документа;
  • MSI-установщик версии для Windows;
  • улучшена портативная версия для Windows (исправлены проблемы с загрузкой библиотек, конфигурационные файлы сохраняются теперь внутри директории программы).

Бинарные сборки доступны для MS Windows и основных дистрибутивов GNU/Linux.

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: sudopacman (всего исправлений: 4)
Ответ на: комментарий от anonymous

Чего непонятного?

Я — за юзабельный софт для людей и против всего плохого.

Новиков — за неюзабельный софт для печатных машин и против всего хорошего.

:)

AP ★★★★★
()
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от AP

Прокудин, человек не определился даже с языком программирования, а ты ему уже навязываешь плюсовый буст - глупо аднака :) может он на Go наваяет или на Эрланге. А 2geom это далеко не must have. Эта либа оправдана исключительно для сложных преобразований кривых. Её можно подключить по необходимости. Вот тебе и все существо. Ты хоть бы поверхностно ознакомился с сабжем, прежде чем давать советы :)

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

А 2geom это далеко не must have. Эта либа оправдана исключительно для сложных преобразований кривых.

Правда, потом ещё оказывается, что на 2geom можно написать толковую систему снэппинга, но это же такая фигня, правда? Намного лучше писать свой велосипед с нуля.

AP ★★★★★
()
Ответ на: комментарий от AP

потом ещё оказывается, что на 2geom можно написать толковую систему снэппинга

дядя Саша, это хорошо шо ты читаешь мейллист inkscape-dev. Но увы, это не гарантия понимания деталей. В sK1 «система снеппинга» это небольшой кусок кода в 250 строк. Предлагаешь, ради следования моде, прикрутить многомегабайтный баян? :) Самое ценное в 2geom - недавние коммиты Кшиштофа по геометрическим операциям, ИМХО.

Linfan ★★★★★
() автор топика

Release Candidate

Когда состоится релиз, то программа будет называться sK2?

anonymous
()
Ответ на: комментарий от Linfan

Опять шлангуешь. Нет, ради одного снэппинга не стоит. Ради всего набора функций — почему нет?

AP ★★★★★
()
Ответ на: комментарий от AP

А почему бы у Инки не открутить Gtk и не прикрутить Qt? Делов то «на час» (с) Или «архитектура говенная»(с)? ;)

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

21 октября:

Горячие клавиши в тултипах... добавить несложно, но нафига?

24 октября:

Да, шоткаты весьма востребованы.

AP ★★★★★
()
Ответ на: комментарий от AP

Добавим-добавим, не переживай так :) Это из серии юзабилити, но не базовый функционал. Гораздо более серьезным был вопрос бодания с антивирями на венде, лочивший подсистему печати. А на данный момент актуальнее всего прикрутить импорт/экспорт. Ведь трудящиеся ждут сохранения в CDR формат ;)

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

Гораздо более серьезным был вопрос бодания с антивирями на венде, лочивший подсистему печати.

А, есть такая фигня. Но это тухляк полный. Создатели антивирусов — неадекваты. Аваст, например, готов добавлять фрисофт в свои белые списки, но им каждый выложенный инсталлер нужно отправлять.

Да и приложения для записи скринкастов тоже любят лочить софт.

AP ★★★★★
()
Ответ на: комментарий от AP

Там, если честно, косяк был с нашей стороны - не по-вендовому сделали. Нужно было получить список локальных принтеров с несколькими их свойствами. Fast and dirty решение - маленький vbs скрипт передает эти данные sk1. На тестовой машине все ок, а у пользователей венда на дыбы встает - несекюрно. Пришлось «вспомнить все» и переписать этот кусок на ctypes с обращением к winapi.

А про шоткаты - хрест на пузо желтым фломастером :) https://github.com/sk1project/sk1-wx/issues/17

Linfan ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Эпично. 12 лет запиливать багофикс это надо уметь. Может там разработчиков не хватает? Мне пойти чтоли. Глядишь ещё лет пять потянем этот баг.

anonymous
()
Ответ на: комментарий от anonymous

Судя по обсуждениям, этот косяк тянется со времён Sodipodi. Возможно, это архитектурный ляп, который теперь сложно устранить, хз.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Парень, я не просто так написал про говноархитектуру, не дающую быстро реализовывать тривиальные вещи. В комменте #76 по твоей же ссылке написано, почему всё так.

AP ★★★★★
()
Ответ на: комментарий от Linfan

Пример: в конце 90х знакомцам заказали вкусный тираж рекламных плакатов от Coca-Cola.

Значит, не байка...

Erepb ★★★
()
Ответ на: комментарий от Erepb

Ты очнулся, когда всё уже кончилось. Беги теперь обратно в свою криокамеру ещё на полгода.

AP ★★★★★
()
Ответ на: комментарий от Erepb

Значит, не байка...

Coca-Cola многих печатников достала своим пантоном. Это не единичный случай.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от AP

Парень, я не просто так написал про говноархитектуру, не дающую быстро реализовывать тривиальные вещи.

Кстати, в сабже треда эти вещи детально прорабатывались в самом начале «перезагрузки» проекта, учитывая печальный опыт Skencil'а, в котором формально декларировался MVC паттерн, а на практике код модели был перемешан с контроллером и нативная часть модели была гвоздями прибита к Иксам (то есть к View). Из-за чего Skencil был непортабельным принципиально. Потому и пришлось переписывать все полностью.

Архитектура sK1 2.0 создавалась один раз (еще на первом Qt прототипе) и в дальнейшем только дополнялась полезными паттернами из разных виджетсетов (actions и message loops взяты из Qt, упаковка виджетов из Gtk, инкапсуляция callback'ов из Tkinter и т.д.).

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

Linfan ★★★★★
() автор топика
Ответ на: комментарий от AP

Ты очнулся, когда всё уже кончилось. Беги теперь обратно в свою криокамеру ещё на полгода.

Хм... Чувствуются нотки раздражённости и неуверенности... Это, либо усталость от борьбы, либо от безнадёги, которая, в свою очередь, может быть следствием пошатнувшихся устоев. Linfan, в отличие от тебя (полагаю, так проще) настроен гораздо более оптимистично :)

Erepb ★★★
()
Ответ на: комментарий от Linfan

Архитектура sK1 2.0 создавалась один раз (еще на первом Qt прототипе)

Можно чуть подробнее раскрыть тему про прототипирование. Статьи-то по этой теме есть. Однако, интересует конкретно ваш опыт. Какие инструменты (Qt?) были выбраны и почему. Что сделали бы по другому, если начать все заново. Почему был выбран питон. Почему не wxWidgets. Поделитесь опытом с новичками. Заранее спасибо.

anonymous
()
Ответ на: комментарий от Shadow

в 90е таких «в первый раз» было полно - развал Союза оставил без работы массу народа. В полиграфию шли все, кто хоть что-то понимал.

Linfan ★★★★★
() автор топика
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от Shadow

Так как Cairo избыточен, не рассматривались какие-либо старые dps из gnustep и Х ?

Cairo недостаточен. А динозавров рассматривать совсем нет смысла. Хватило за глаза иксового рендерера в sK1 0.9.x ветке, от которого успешно избавлялись.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

Спасибо. Будет время, поковыряюсь в исходниках

Shadow ★★★★★
()
Ответ на: комментарий от anonymous

Питон был выбран исключительно ради ускорения разработки. Скорость реакции интерфейса зависит прежде всего от рендерера, который нативный, а не от логики программы на интерпретаторе, поскольку пользователь не совершает действий с высокой скоростью. А вот обновление канвы требует 25-30 fps, чтобы не было видно задержек. Поэтому экономия времени разработки в 5-10 раз это весьма серьейзный показатель (пилить проект 25-30 лет никто не будет)

При прототипировании были протестированы qt, gtk, wx (tk был в 0.9.x ветке и он не устраивал кардинально). gtk хреновастенько на винде выглядел, на маке совсем отстойно и жутко падуч. qt на маке не очень и ресурсов жрал больше всех. wx оказался наиболее подходящим на всех трех платформах, но и то после доработки напильником. Это если в общих чертах.

Linfan ★★★★★
() автор топика
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от AP

Ты всегда такой пафосный? :)

Стало быть, я правильно определил твоё состояние? Да-да, я наслышан о тех, кто отвечает вопросом на вопрос :) И о тех, кто пытается развести бурю в стакане ;)

Erepb ★★★
()
Ответ на: комментарий от Erepb

Стало быть, я правильно определил твоё состояние? Да-да, я наслышан о тех, кто отвечает вопросом на вопрос :)

Т.е. ты наслышан о самом себе :) Это любопытно.

AP ★★★★★
()
Ответ на: комментарий от Erepb

Парень, ты напрасно пытаешься меня перетроллить. Во-первых, это напрасная потеря времени. Во-вторых, это напрасная потеря времени. Ну и в третьих, ... :)

AP ★★★★★
()
Ответ на: комментарий от AP

Парень, ты напрасно пытаешься меня перетроллить.

Оп-с, значит, так тобой воспринимается мой стиль ведения беседы? Ну, пусть. Кстати, за это время у меня окончательно оформились ваши с Linfan'ом образы - Ох и Ах из известного мультика :)

Erepb ★★★
()
Ответ на: комментарий от Linfan

А вот обновление канвы требует 25-30 fps, чтобы не было видно задержек.

Кстати, вот у меня RC2 из под LinuxMint 17 Xfce (64bit) на ноуте SamsungR58P «делает белые вспышки» рабочей области программы во время создания кривой Безье после добавления каждой новой точки. При этом во время редактирования точек кривой подобное не наблюдаеться.

Особой нагрузки на CPU или RAM пока не наблюдаеться (и это хорошо!).

Что делать и кто виноват?

atsym ★★★★★
()
Ответ на: комментарий от atsym

Виновато старенькое железо. Мы определенную оптимизацию выполнили, но вылизвать до победного финиша нет смысла - слишком много сил и времени. Да и железяк старых нужно добыть для такого.

Что делать? Прикупить новый ноут. Напр. Dell inspiron 5559 - экран 1920х1080, машина зверь и с предустановленной бубунтой (нет проблем с дровами). И прайс демократичный.

Linfan ★★★★★
() автор топика
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от Linfan

UPD: Может таки дело в логике обновления рабочего пространства?

Сейчас присмотрелся - создаю полилинию, то «мерцает» только эта полилиния. Как будто-бы обновляется только «слой полилинии», а фон и рамка страницы статические.

Если создаю кривую, то «мерцает» весь канвас (рабочее пространство, НЕ экран).

P.S. Во время редактирования/перетаскивания точек уже созданных объектов (хоть кривой, хоть полилинии) подобного «мерцания» НЕТ.

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: комментарий от atsym

UPD2: из визуального наблюдения за поведением обновления канваса создается впечатление, что алгоритмы обновления канваса при создании новой кривой отличаются от подобных алгоритмов при создании поли линии.

Linfan, я прав?

atsym ★★★★★
()
Ответ на: комментарий от AP

хм... неужели думаешь, что их вручную расставляли? :) весь интерфейс разруливается экшинами. В т.ч. и тултипсы. Просто добавлен в формировании тултипса вывод шотката. И инструменты не исключение.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от atsym

нет, не прав. Один и тот же алгоритм отрисовки. Почему белый экран - хз. Т.к. сначала формируется изображение в памяти и потом накатывается поверх канваса без его очистки.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

И как выловить данный «баг»?

Кстати на SourceForge неправильная ссылка стоит для загрузки бинарников

http://sk1project.net/download

Должна быть

http://sk1project.net/modules.php?name=Products&product=sk1&op=download

Поправь, а то многие уже наверное там наталкивались на Error404.

atsym ★★★★★
()
Ответ на: комментарий от atsym

Это SF дорисовывает. Исправить не получиться. Там залит файл с именем «To download binaries visit sk1project.net» Судя по статистике, только человек 20 пытались. Это меньше 1%

Linfan ★★★★★
() автор топика
Ответ на: комментарий от atsym

И как выловить данный «баг»?

Лучше всего сделать issue с описанием на гитхабе. Может добудем слабенькое железо.

Linfan ★★★★★
() автор топика
Ответ на: комментарий от Linfan

УРА! Я отловил баг с "мерцанием"!

В общем, надо было сразу через терминал запускать - там все видно!

При создании кривой во время каждого «моргания» в терминали выбивает отчет

list index out of range
.

Детали уже завтра напишу в issues на Github.

Я сделал это ;-P

нет, не прав. Один и тот же алгоритм отрисовки.

Завтра посмотрим кто был прав! -_-

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.