Skip to content

Feat/cs/digital touch render - #768

Merged
ReagentX merged 22 commits into
developfrom
feat/cs/digital-touch-render
Jun 8, 2026
Merged

Feat/cs/digital touch render#768
ReagentX merged 22 commits into
developfrom
feat/cs/digital-touch-render

Conversation

@ReagentX

@ReagentX ReagentX commented Jun 7, 2026

Copy link
Copy Markdown
Owner

@ReagentX ReagentX self-assigned this Jun 7, 2026
@ReagentX ReagentX added crate: database Related to the database crate crate: cli Related to the CLI crate enhancement Requires updating an existing feature labels Jun 7, 2026
@ReagentX ReagentX moved this to In Progress in 4.2: Stream Orchid Jun 7, 2026
@ReagentX

ReagentX commented Jun 7, 2026

Copy link
Copy Markdown
Owner Author

Sample render:

image

@ReagentX

ReagentX commented Jun 7, 2026

Copy link
Copy Markdown
Owner Author

Multicolor strokes with single points:

image

Multicolor taps:

image

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR fully implements Digital Touch support (issue #344) by adding a complete Digital Touch parser/renderer to imessage-database and wiring it into both the TXT and HTML exporters, replacing the prior “debug dump” placeholder templates.

Changes:

  • Introduces a structured DigitalTouchMessage API that parses Digital Touch protobuf payloads and renders either text summaries or static SVGs (including media messages with image/video handling).
  • Updates TXT and HTML exporters to use DigitalTouchMessage rendering, adds/updates tests, and removes the old Digital Touch debug templates/view-models.
  • Extends error plumbing to surface Digital Touch parsing errors with detail via PlistParseError.

Reviewed changes

Copilot reviewed 27 out of 32 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
README.md Updates supported macOS build string/version reference.
imessage-exporter/src/exporters/txt/view_model.rs Removes unused TXT Digital Touch template VM.
imessage-exporter/src/exporters/txt/templates/balloons/digital_touch.txt Removes TXT Digital Touch debug template.
imessage-exporter/src/exporters/txt/mod.rs Updates TXT tests to parse real Digital Touch payloads and assert rendered summaries.
imessage-exporter/src/exporters/txt/balloons.rs Switches TXT rendering from debug template to DigitalTouchMessage::render_text().
imessage-exporter/src/exporters/shared/balloon.rs Routes Digital Touch messages through DigitalTouchMessage::from_payload() and propagates detailed errors.
imessage-exporter/src/exporters/html/view_model.rs Removes unused HTML Digital Touch template VM.
imessage-exporter/src/exporters/html/templates/balloons/digital_touch.html Removes HTML Digital Touch debug template.
imessage-exporter/src/exporters/html/resources/style.css Adds layout rules for Digital Touch SVG/video display.
imessage-exporter/src/exporters/html/mod.rs Updates/adds HTML tests to validate SVG output for Digital Touch messages.
imessage-exporter/src/exporters/html/balloons.rs Implements HTML Digital Touch rendering, including attachment-backed media handling and fallback behavior.
imessage-exporter/src/exporters/formatter.rs Updates BalloonFormatter signature to accept DigitalTouchMessage.
imessage-database/src/message_types/text_effects/text_effect.rs Adjusts module import path.
imessage-database/src/message_types/digital_touch/*.rs Adds full Digital Touch parsing and SVG/text rendering implementation across effects (tap/sketch/kiss/heartbeat/fireball/media) plus shared SVG builder.
imessage-database/src/message_types/digital_touch/digital_touch.proto Documents and extends Digital Touch protobuf schema (adds Media).
imessage-database/src/message_types/digital_touch/digital_touch_proto.rs Regenerates protobuf bindings to include Media.
imessage-database/src/error/plist.rs Extends PlistParseError to carry underlying DigitalTouchError.
imessage-database/src/error/mod.rs Exposes new digital_touch error module.
imessage-database/src/error/digital_touch.rs Adds DigitalTouchError for parse/archive/validation failures.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread imessage-exporter/src/exporters/html/resources/style.css Outdated
Comment thread imessage-exporter/src/exporters/html/balloons.rs Outdated
Comment thread imessage-database/src/message_types/digital_touch/models.rs
Comment thread imessage-exporter/src/exporters/html/mod.rs Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 28 out of 33 changed files in this pull request and generated 3 comments.

Comment thread imessage-exporter/src/exporters/html/balloons.rs
Comment thread imessage-database/src/message_types/digital_touch/models.rs
Comment thread imessage-database/src/message_types/digital_touch/models.rs

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 29 out of 34 changed files in this pull request and generated 2 comments.

Comment thread imessage-exporter/src/exporters/html/balloons.rs
Comment thread imessage-database/src/message_types/digital_touch/models.rs
@ReagentX
ReagentX merged commit 330cab9 into develop Jun 8, 2026
2 checks passed
@ReagentX
ReagentX deleted the feat/cs/digital-touch-render branch June 8, 2026 03:25
@ReagentX ReagentX moved this from In Progress to Done in 4.2: Stream Orchid Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

crate: cli Related to the CLI crate crate: database Related to the database crate enhancement Requires updating an existing feature

Projects

No open projects

Development

Successfully merging this pull request may close these issues.

2 participants