Skip to content

Enhance Blob handling and MIME type integration, add solvable to summary level and rm Blobentries#1213

Merged
Affie merged 5 commits intodevelopfrom
enh/summary_and_packblob
Mar 24, 2026
Merged

Enhance Blob handling and MIME type integration, add solvable to summary level and rm Blobentries#1213
Affie merged 5 commits intodevelopfrom
enh/summary_and_packblob

Conversation

@Affie
Copy link
Member

@Affie Affie commented Mar 23, 2026

No description provided.

@Affie Affie self-assigned this Mar 23, 2026
@Affie Affie requested a review from Copilot March 23, 2026 17:04
@Affie Affie added enhancement New feature or request testing API breaking change standardization data: entry=>blob Previously bigdata, suggested over `smalldata` labels Mar 23, 2026
@Affie Affie added this to the v0.29.0 milestone Mar 23, 2026
Copy link
Contributor

Copilot AI left a comment

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 refactors and extends blob support by introducing MIME↔FileIO format bridging for blob packing/unpacking, adding factor-level blob wrapper APIs, and aligning Summary-level graph nodes with the solvable flag while removing blobentries from VariableSummary.

Changes:

  • Add MIME/type bridging utilities (format_to_mime, mime_to_format, getMimetype) and corresponding tests for blob packing/unpacking.
  • Introduce factor-level blob CRUD wrappers (loadBlob_Factor, saveBlob_Factor!, deleteBlob_Factor!) and add coverage for LinkStore/RowBlobstore and wrapper behaviors.
  • Update Summary/skeleton comparisons and patching to handle solvable as a RefValue, and remove blobentries from VariableSummary (with tests adjusted accordingly).

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/testSerializingVariables.jl Adjusts VariableSummary serialization expectations after removing blobentries.
test/testBlocks.jl Updates summary-graph equality checks to unwrap solvable refs.
test/testBlobStoresAndWrappers.jl Adds new tests for LinkStore/RowBlobstore and blob wrapper APIs.
test/testBlobPacking.jl Adds new tests for MIME/format mapping and pack/unpack behavior.
test/runtests.jl Registers the new blob-related test files in the test runner.
test/iifInterfaceTests.jl Updates Summary comparisons to handle solvable as a RefValue.
src/services/find.jl Removes deprecated path helper implementations from the main services file.
src/services/CompareUtils.jl Generalizes equality for graph variables/factors and removes Summary types from generated-compare union.
src/services/AbstractDFG.jl Removes deprecated isPathFactorsHomogeneous from this file (moved to Deprecated).
src/entities/DFGVariable.jl Updates VariableSummary fields (adds solvable, removes blobentries) and adjusts patch/constructors.
src/entities/DFGFactor.jl Adds solvable handling to FactorSummary and its constructors/patching.
src/DistributedFactorGraphs.jl Adds MIMEs dependency and marks blob/MIME helpers and Summary types as “unstable”.
src/Deprecated.jl Relocates legacy path helpers into the Deprecated module area.
src/DataBlobs/services/BlobWrappers.jl Adds factor blob wrapper API and switches image save path to mime_to_format.
src/DataBlobs/services/BlobPacking.jl Implements MIME↔DataFormat bridge + getMimetype, refactors pack/unpack around MIME metadata.
ext/BlobArrow.jl Updates Arrow extension to register its MIME mapping via _MIMEOverrides.
Project.toml Adds MIMEs dependency and compat entry.

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

@codecov
Copy link

codecov bot commented Mar 23, 2026

Codecov Report

❌ Patch coverage is 69.07216% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.16%. Comparing base (ddf99a4) to head (fc5ccb6).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
src/Deprecated.jl 0.00% 22 Missing ⚠️
ext/BlobArrow.jl 0.00% 3 Missing ⚠️
src/GraphsDFG/services/GraphsDFG.jl 50.00% 2 Missing ⚠️
src/entities/DFGVariable.jl 33.33% 2 Missing ⚠️
src/entities/DFGFactor.jl 83.33% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1213      +/-   ##
===========================================
+ Coverage    75.01%   79.16%   +4.15%     
===========================================
  Files           37       37              
  Lines         2465     2506      +41     
===========================================
+ Hits          1849     1984     +135     
+ Misses         616      522      -94     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Affie and others added 3 commits March 23, 2026 20:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Affie Affie merged commit 5f896ed into develop Mar 24, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API breaking change data: entry=>blob Previously bigdata, suggested over `smalldata` enhancement New feature or request standardization testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants