Skip to content

Upgrade to Ink 1.1.0-alpha02#67

Open
maxmmitchell wants to merge 2 commits intomainfrom
ink-upgrade-110alpha02
Open

Upgrade to Ink 1.1.0-alpha02#67
maxmmitchell wants to merge 2 commits intomainfrom
ink-upgrade-110alpha02

Conversation

@maxmmitchell
Copy link
Copy Markdown

@maxmmitchell maxmmitchell commented Apr 29, 2026

This is mainly motivated by some of the newer brush customization features released in this version, as well as the versioning support for brush customization features. Brushes using those features will fail to load into Cahier without this update. Furthermore, in order for Brush Designer/Brush Graph to support editing/creating brushes with the newest features from Ink, Cahier needs the newest version of the library.

  • Bump AndroidX Ink version to 1.1.0-alpha02, the latest available version as of this PR.
  • Re-copy over brush_family.proto from Ink's C++ repo to get the most recent updates to the serialization format. Omitted Lint.If comments, as they include Ink-specific paths and aren't relevant for Cahier.
  • Copy over options.proto from Ink's C++ repo, as it is used by the newest changes to brush_family.proto.
  • Bump version for protoc as well to match the version used for protobufJavalite. Needed to upgrade this to at least 4.27 to support proto editions (used by options.proto), and IIRC it's best practices to use the same version for these two (hence the jump to 4.34).

In addition to supporting editing the new features (most of which we already had in the proto spec in Cahier, we just didn't have the Ink library to a version which could support decoding them), Brush Designer/Brush Graph may have to update a bit to accommodate other changes to the proto spec:

  • Renaming of ExperimentalNaive Input Model to Passthrough
  • Deletion of Spring Input Model
  • Creating a proto with a single paint at the top-level has gone from deprecated to removed from the spec entirely. I think we've been using paint preferences anyway, but just in case.
  • Animation fields on texture layers have been removed from the spec
  • Time sources using milliseconds have been removed in favor of those using seconds
  • TARGET_LUMINOSITY is now TARGET_LUMINOSITY_OFFSET
  • No more fallback filter node

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive versioning system for the Ink protobuf definitions by implementing custom options for minimum message, field, and enum value versions. Key changes include the addition of an options.proto file, renaming and reserving various fields within BrushFamily and its components to improve API consistency, and updating the protobuf compiler to version 4.34.0. I have no feedback to provide.

@maxmmitchell maxmmitchell changed the title Upgrade to the latest version of Ink Upgrade to Ink 1.1.0-alpha02 Apr 29, 2026
@maxmmitchell maxmmitchell marked this pull request as ready for review April 29, 2026 20:01
Copy link
Copy Markdown
Contributor

@cka-dev cka-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants