Announcing lib2geom Release 1.0
by Bryce Harrington
lib2geom v1.0.0
===============
2geom is a C++ library of mathematics for paths, curves, and other
geometric calculations, designed to be well suited for vector graphics:
Bézier curves, conics, paths, intersections, transformations, and basic
geometries.
Originally developed to restructure and improve path data structures in
Inkscape, this library's codebase has been maintained and shipped as
part of the professional vector graphics software for over a decade.
The major contributors to the 2geom library are Nathan Hurst, Michael
G. Sloan, Krzysztof Kosiński, Johan B. C. Engelen, MenTaLguY, Aaron
Spike, Marco Cechetti and JF Barraud.
Work on this release has focused on updating the 2geom source control,
build, test and packaging systems for both Linux and Windows. The py2geom
python extension package has been restored and improvements have been
made to overall code stabilization and quality.
The primary motivation for 2geom's 1.0 release is to support a future
Inkscape 1.0 launch.
With this evolution to a distinct package, the 2geom team is seeking
new opportunities to collaborate with individuals and projects
interested in using this proven tool.
Downloads
=========
Source Release:
http://alpha.inkscape.org/releases/lib2geom-1.0.0.tar.bz2
[http://alpha.inkscape.org/releases/lib2geom-1.0.0.tar.bz2.sig]
(Other packages for this release may be available in the future; keep an
eye on https://www.inkscape.org.)
More Information
================
Website: http://lib2geom.sourceforge.net/
Code: https://gitlab.com/inkscape/lib2geom
Chat: https://chat.inkscape.org/home
Bryce
2 years, 5 months
Issues on Gitlab?
by Tobias Bernard
Hi all,
I'm a UX designer and long-time Inkscape user. I work at Purism, and I'm on the GNOME design team. I've been meaning to get involved with Inkscape for years, but the tools used for development (Launchpad, mailing lists, IRC) don't make it very easy unfortunately. I was very happy when I saw the code migrated to Gitlab, because it's a much more modern tool that works great for design issues thanks to inline media (we've been using it in GNOME for the past year and it's been a total game changer).
Unfortunately, though the code is on Gitlab now, it's still not possible to open issues there. I was told this would change "soon" earlier this year, but so far this hasn't happened. Is there a timeline for opening issues on Gitlab? What are the current blockers?
I'd really like to avoid using Launchpad if at all possible :)
Cheers,
Tobias
2 years, 6 months
Website update: current status
by Maren Hachmann
Hi there,
Martin, Bryce and Travis from our friendly hosters at OSUOSL have worked
on switching the inkscape.org website to the newer version this evening.
In some parts of the world, due to DNS propagation, you might not yet
see the new page, but you will soon (it looks pretty much the same,
though, just the backend is newer).
It now features a new shiny django (yay!).
Unfortunately, it currently has problems with page edits, news edits and
resource uploads.
Please hold off editing anything on it, to not lose any work.
Martin is working on fixing things, and will let you know when it's good
for editing again.
Downloads and viewing the pages work as usual (except for viewing pasted
texts), so most people won't be affected by the issues.
Kind Regards,
Maren
2 years, 6 months
lib2geom 0.9.0 (pre-release for 1.0)
by Bryce Harrington
A pre-release of lib2geom is packaged and can be downloaded here:
Download: http://alpha.inkscape.org/prereleases/lib2geom-0.9.0.tar.bz2
Signature: http://alpha.inkscape.org/prereleases/lib2geom-0.9.0.tar.bz2.sig
I've doublechecked that it builds and its tests pass, but I would really
appreciate if someone else could check too. I haven't tried building
Inkscape against it, and while I don't expect any issues at all, it
would be wonderful if someone could check.
Assuming all is well, I'll put out the final 1.0 release in a few days.
The release notes are inlined below. Michele has kindly offered to help
craft a news announcement to go with the release.
Bryce
lib2geom v1.0.0
===============
2geom is a C++ library of mathematics for paths, curves, and other
geometric calculations, designed to be well suited for vector graphics:
Bézier curves, conics, paths, intersections, transformations, and basic
geometries.
This library was originally developed to restructure and improve the
various path data structures in Inkscape, but the design intent is for
it to be of general utility to others. The codebase has shipped as and
been maintained as part of the Inkscape software for over a decade.
It has been a very long time since 2geom saw a packaged release, and so
much has changed it is hard to reduce to a summary. Recent work has
focused on updating its source control, build, test, and packaging
systems to more modern technologies for both Linux and Windows, and on
restoring the py2geom python extension package to usability. Attention
in recent years has also focused on stabilization and code quality
improvement.
The primary motivation for this 1.0 release is in support of overall
efforts towards the (future) Inkscape 1.0 release, but we also hope that
having this as a distinct package from Inkscape itself will facilitate
wider collaboration. We would love to hear people find good uses for
this beyond the Inkscape codebase!
2 years, 6 months
Duplicating objects in a Python extension
by Pieter Barendrecht
Hi all,
Given a selected object (e.g. firstObject =
self.selected[self.options.ids[0]]) in a Python extension, how can I
duplicate it? I've checked a couple of code snippets (e.g. pathscatter.py
as well as some online content) and stumbled upon copy.deepcopy(...) and
append() for layers, but I don't have it working properly yet.
Usually, I add a new object (e.g. a path) using
newObject = inkex.etree.SubElement(self.current_layer,
inkex.addNS('path','svg'), pathAttribs),
where pathAttribs has been defined before. Can I add the duplicated object
in a similar way? When I substitute 'pathAttribs' with 'firstObject' or a
deepcopy() of it, I get the following FutureWarning —
FutureWarning: The behavior of this method will change in future versions.
Use specific 'len(elem)' or 'elem is not None' test instead.
newObject = inkex.etree.SubElement(self.current_layer,
inkex.addNS('path','svg'), firstObject)
As an exercise I'm trying to write an extension that generates a circular
array of a selected (path) object. The approach could be to first duplicate
the object and subsequently transform it (i.e. rotate and possibly
translate) using simpletransform.composeTransform () and
simpletransform.applyTransformToPath().
As a follow-up question, is it possible to clone an object from within a
Python extension? With 'clone' I mean the operation that's available in
Inkscape through Edit → Clone → Create Clone.
Thanks! Best,
Pieter
2 years, 6 months
Python coder needed for simple Launchpad/Gitlab metrics tools
by Bryce Harrington
Hi all,
I've got a little scripting project for someone interested in exercising
their python skills for Inkscape over the next couple weeks. It
involves collecting data about bug reports via the Launchpad API, and a
similar tool using the Gitlab API.
One tool will use Launchpad's API to get data about bugs (age, #
comments, length of description, etc.) and calculate a score. We
essentially want to measure the "triaging difficulty" of each bug.
The other tool will use Gitlab's API to detect bugs that have been moved
from Launchpad, what the LP bug # was, and the person that did the
triaging work. It also does some simple quality checks on the ported
bug - presence of tags, length of bug description, is the bug
description in valid markdown format, etc.
If this sounds interesting, let me or Chris Rogers know and we can fill
you in a few more details and help you get going.
Bryce
2 years, 6 months
Board meeting Friday Nov 2nd at 10am Pacific
by Bryce Harrington
Our monthly board meeting is scheduled for Friday, Nov 2nd,
at 10am Pacific in #inkscape-devel. All members are welcome.
http://wiki.inkscape.org/wiki/index.php/Board_Meetings
Agenda:
-------
* Future meetings/hackfests.
** [http://www.socallinuxexpo.org/scale/17x/ SCALE] - March 7th-10th,
2019 (Pasadena, California)
** [http://libregraphicsmeeting.org/2019/ LGM 2019] - May 30th-June 3rd
(Saarbrucken, Germany) Proposed. (About two hours by train from
Paris.)
* Merchandise sales
** Spreadshirt
** Evaluate self-serve merchandise sales - spreadshirt, cafepress,
Golden Ribbon, Think Penguin or similar [Mc]
* Inkscape 1.0 alpha release & bug strategy
* Infrastructure
+ Bug tracking transition
+ Weblate service deployment
* Trademarks - Should we pursue registration in locations other than the US?
* Action Items
* Other Business
Action Items from last meeting:
-------------------------------
== Merchandise Sales ==
♢ ACTION: Coordinate announcement of spreadshirt with hackfest [crogers, vectors team]
♢ ACTION: Check with Conservancy on status of sticker production [doctormon]
♢ ACTION: Email Bryce with evaluation/details about hellotux.com merchandise service, for preparing board vote [crogers]
♢ ACTION: Board vote on hellotux.com [bryce]
=== Future meetings/hackfests ===
♢ ACTION: Check into pre/post SCALE meeting options & AirBNB [tedg, scislac]
♢ ACTION: Propose some options and concrete plans for hackfest at SCALE [tedg]
♢ ACTION: Review hackfest fundraising in/out progress [bryce]
=== 0.92.4 Release ===
♢ ACTION: Kickoff 0.92.4 release [bryce]
♢ ACTION: Remember to put correct version string in AC_ for 0.92.4 [bryce]
=== 1.0 Release ===
♢ ACTION: Check in with people doing test case conversion [Tav]
♢ ACTION: ping jimmac/barbara about the symbolic icons for adding the theme to Inkscape [scislac]
♢ ACTION: Plan video for Inkscape 1.0 release [crogers]
♢ ACTION: Brainstorm plans for 1.0beta / 1.0 commemorative merch [crogers, tedg]
♢ ACTION: Review bug fix list http://wiki.inkscape.org/wiki/index.php/1.0_Release_Bug_Fix_List [bryce]
Transcripts of previous meetings:
---------------------------------
http://alpha.inkscape.org/board/meetings/transcripts/
Bryce
2 years, 6 months