CorelDrawLite на HTML5
Контекст задачи: необходимо создать браузерный инстумент для рисования векторных картинок для задач по физике и геометрии.
Работоспособность: FireFox и Chrome последних версий.
Ограничения:
1. Преимущественная реализация на jQuery
2. Допустимо использование сторонних библиотек по свободным лицензиям
Что должно быть реализовано:
1. Канвас (поле для рисования)
а) с сеткой
б) рисуемые элементы должны уметь привязываться к (stick to) сетке или характерным точкам объекта (например, центр круга, сторона прямоугольника)
в) рисуемые элементы должны сохранить возможность располагаться и произвольно (без привязки)
г) возможность загрузки изображения в фон (чтобы с него срисовывать)
д) масштабирование участка канваса
2. Элементы
а) отрезки и ломаные
б) квадраты, прямоугольники и многоугольники
в) окружности, эллипсы
г) кривые Безье
д) текст (шрифты Times, Arial, Symbol; bold, italic, underline)
е) стрелки
ж) график, заданный функцией
3. Свойства линий
а) толщина
б) тип (пунктир, штрих-пунктир)
в) цвет
4. Манипуляции с объектами
а) выделить, выделить несколько
б) переместить
в) изменить размер
г) повернуть, повернуть относительно какого-то центра
д) задание размера и положения вручную (вписывая координаты)
е) удалить
ж) сгруппировать, разгруппировать
з) назвать группу
5. Интерфейс
а) Блок элементов
б) Блок манипуляций
в) Блок свойств линий
г) Блок импорт-экспорт
д) Блок работы с группой объектов
е) до 10 пользовательских блоков
6. Экспорт-импорт
а) EPS (экспорт)
б) EPS (импорт eps'ок, сгенерированных вашими скриптами, должен быть гарантирован; импорт сторонних eps'ок может не быть гарантирован)
в) SVG
г) PDF
7. Дополнительно
а) возможность запомнить нарисованную фигуру и сохранить на пользовательский блок
Таймлайн
Квалификация (требуется выполнить перед заключением сделки): 1а, 2а, 6а
1 этап: 1в, 3абв, 4абве, 5абв; (25% оплаты)
2 этап: 1б, 2бв, 4гд, 6б; (25% оплаты)
3 этап: 2ге, 4жз, 5д; (15% оплаты)
4 этап: 1д, 2дж; (15% оплаты)
5 этап: 1г, 5ге, 6бв, 7а; (20% оплаты)
Опциональный бонус в 10% получается при выполнении условий:
а) Будут соблюдены сроки, о которых мы договоримся
б) Через 7-10 дней после сдачи проекта, после промышленного тестирования продукта, будут внесены небольшие изменения интерфейсы для удобства работы пользователей.
Стартовый бюджет 60 000. Обсуждаемо.