Skip to main content

a 2D scene graph based on SVG with OpenGL backend

Goals & non-goals

Goals:

  • 2D scene graph suitable for interactive rendering

  • minimal set of dependencies

Non-goals:

  • full SVG implementation

  • optimized for speed

Features

  • pythonic API modeled after SVG spec & semantic

  • SVG parsing and serialization

  • scale dependent polygonalization

  • analytical picking

  • sub-pixel strokes rendering enhancement through width and opacity correction

  • per-pixel gradients

  • two modes text rendering: raster by freetype2 for high quality AA at small sizes, vector otherwise

SVG spec

implemented:

  • shapes: path, rect, circle, ellipse, line, polyline, polygon, image

  • text: (excluding decoration, text on path)

  • structure: group, use (including attributes inheritance)

  • painting: solid color, linear and radial gradients (including units, transform, spread, href);

  • fill: rule (nonzero, evenodd)

  • stroke: cap (butt, round, square), join (miter, round, bevel), miterlimit

  • multi-pass rendering: clipping, masking, object opacity

  • transforms: translate, rotate, scale, skewX, skewY

eventually:

  • tspan

  • painting: pattern

  • stroke: dash, marker

  • filters

never:

  • DOM API

Dependencies

Optional dependencies

Needed to find fonts, fallbacks on FreeFont otherwise.

on the mac:

Inspirations

  • sauvage by S. Conversy

  • SVGL by S. Conversy & J.-D. Fekete

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seagull-0.1.tar.gz (34.0 kB view details)

Uploaded Source

File details

Details for the file seagull-0.1.tar.gz.

File metadata

  • Download URL: seagull-0.1.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for seagull-0.1.tar.gz
Algorithm Hash digest
SHA256 5a01f8af0928f56b118da391454a97d7fd0fec08bc378db24adcde8e367a9277
MD5 9043d04eb39fb6e82aaf38bba220861d
BLAKE2b-256 49e3bb7ead6a6ccd8669c3d95df203a4e16704047eeb7fb49fd59592ea56ff0d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1 This release

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page