14
Cairus A reimplementation of the Cairo vector graphics library in Rust

Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

CairusA reimplementation of the Cairo vector graphics library in Rust

Page 2: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 3: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 4: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

Why Rust?

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

System/Package Manager- Strives for “Abstraction

without Overhead”

Page 5: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 6: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 7: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

SLACKCross-Platform Communication

Google DocsCollaborative Documents

Page 8: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

TRELLOSupports Agile Process

Page 9: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

Travis CIAutomated Testing and Deployment to crates.io

GITHUBPublic, Open Source

Repository

Page 10: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 11: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

Our Workflow in Action

Step 4Team members work on assigned stories

Step 5Code review

Step 6Testing and Validation

Page 12: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

Risk Assessment Analysis

Low Risk

High Likelihood

Git Workflow Issues

Medium Risk

High Likelihood

Difficulties with Rust

High Risk

Low Likelihood

Unexpected Requirements

Page 13: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

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

Page 14: Cairus - Portland State Universitywiki.cs.pdx.edu/capstone/fall_2016/team... · Step 3 Create Epic for each feature. Break it down into stories in Trello. Our Workflow in Action Step

CairusQuestions?