Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic...

Preview:

Citation preview

CairusA reimplementation of the Cairo vector graphics library in Rust

The Cairus TeamAnswer the question, “Why are we the ones to solve the problem we identified?”

Kyle Kneitinger Courtney Anderson-Clark DJ Sabo Evan Smelser

Bobby Eshlemen Sara Ferdousi Troy Routley

What is Cairo? A 2D vector graphics library written in C

Includes functions for strokes, filling Bezier splines, compositing and antialiasing

Used in all graphics of Firefox and GTK; rendering in WebKit, and many others

Experimental backend for OpenGl

Why Rust?

- Thread Safe- No Segmentation Faults- No Garbage Collector- Type Inference- Cargo Build

System/Package Manager- Strives for “Abstraction

without Overhead”

Who is this for?a few rust projects are already using a cairo binding

what if they had a native implementation?

gtk-rs

a reimplementationof GTK

Mozilla Servo

a next-gen browserin rust

the free & open source software

community

cairo_surface_create()

cairo_create()

cairo_paint()

cairo_destroy()

cairo_surface_destroy()

Minimal ProjectImplement the Cairo drawing model

...Stretch Goals

Fills, Strokes & Shapes

Additional Compositing Modes

Bezier Curves

SLACKCross-Platform Communication

Google DocsCollaborative Documents

TRELLOSupports Agile Process

Travis CIAutomated Testing and Deployment to crates.io

GITHUBPublic, Open Source

Repository

Our Workflow in Action

Step 1Clarification of requirements for the project. Setup tools

Step 2Understand Cairo code base and learn Rust

Step 3Create Epic for each feature. Break it down into stories in Trello

Our Workflow in Action

Step 4Team members work on assigned stories

Step 5Code review

Step 6Testing and Validation

Risk Assessment Analysis

Low Risk

High Likelihood

Git Workflow Issues

Medium Risk

High Likelihood

Difficulties with Rust

High Risk

Low Likelihood

Unexpected Requirements

What now?By beginning of next term:

● All core story tickets are created● Mastery of Tools of Workflow through

practice repo

Goals:

● Beginning of March: Complete MVP● Remaining Time: Work on Stretch Goals

CairusQuestions?

Recommended