Skip to content

Eliminate vello_common dependency from parley_draw #538

@nicoburns

Description

@nicoburns

Parley Draw currently depends on vello_common for the Pixmap type. It uses this as a representation for bitmap data (including in the public API), and also for reading PNG files.

This is not ideal as it couples parley_draw version to specific vello versions. Which will mean publishing a new version of parley_draw every time we publish vello (sparse strips), and also make it awkward to use parley_draw with main-branch versions of vello.

I can think of a few ways to eliminate this dependency:

  • Duplicate (copy-paste) Pixmap into parley_draw
  • Include a simplified version of Pixmap in parley_draw
  • Move Pixmap into a shared crate (peniko? a new crate?)
  • Use simple types (e.g. Vec<u8>) to represent bitmap data in parley_draw

What do other people think the best way to deal with this is? (CC: @grebmeg @valadaptive @taj-p @LaurenzV)


Note: Parley Draw also pulls in vello_common as part of vello_cpu when that feature is enabled. But that dependency is optional and doesn't impact anyone who doesn't have the vello_cpu feature enabled (and therefore not problematic in my opinion).

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-parley-drawRelates to the parley_draw cratedependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions