feat: import Origin 7.0552 OPJ worksheets#5
Open
Limdongcheng wants to merge 39 commits into
Open
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
Author
|
I have read the CLA Document and I hereby sign the CLA |
Author
|
recheck |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Technical approach
plotx-ioowns Origin probing, checked OPJ framing/record parsing, metadata association, cell decoding, resource budgets, and the engine-neutral project modelplotx-corepreflights and converts supported worksheets into typed table snapshots without adding an execution-engine dependency toplotx-dataActual support boundary
OPJ import
Supported only for the exact profile proven by the committed regression fixture:
CPYA 4.2673 552#framing with embedded Origin version 7.0552f64,f32, signedi32, signedi16, fixed-width ASCII text, mixed numeric/text cells, nulls, and nonzero row offsetsSheet1, per supported window; this does not claim to recover original worksheet labelsAn independently framed unsupported column or non-table object may be skipped only when its outer boundary is trusted, and each omission produces a warning. Ambiguous grouping, untrusted framing, corrupt structures, unsupported versions, and files with no safely importable worksheet fail closed.
OPJU recognition
CPYUA OPJU files are recognized by content, but no OPJU variant is imported in this PR. PlotX returns a clear unsupported message and creates no partial table or recent-file entry.
Known limitations
Arccontrol block or allocator-internal transient overheadSafety and error handling
Veccapacity checks, andVectoArcpayload-peak accountingO_NONBLOCKhandling reduce path-replacement and FIFO blocking risksFixtures and licenses
test-origin-7.0552.opj: OpenOPJtest.opj, pinned source commit42ddcf1eb3a490744c54fca0a4ed6fe7a5e723ca, MIT, 282,034 bytes, SHA-256ac7f71c367562e85e9d4bb4ae418cbcaaa1b5dff80436180e8d3331c7e1d6308RawData_Locust_Revision1_TIS_Mechanism.opju: Figshare DOI10.6084/m9.figshare.28535426.v1, CC BY 4.0, 64,954 bytes, SHA-25613c47a6a5daaf14493da59c8f1b284d9efb08129c8320b6ad9fd0b5191faa55fVerification
cargo pr-check- passed all 7 stages on final HEAD: formatting, 800-line source limit, dependency licenses/advisories, default frontends, Clippy with warnings denied, all-feature/DataFusion tests, and reference-backend testscargo test -p plotx-io --locked origin- 100 Origin unit tests passedcargo test -p plotx-io --locked --test origin_fixtures- 2 public fixture tests passed with concrete imported values/metadata assertionscargo test -p plotx --locked ui::file_dialogs- 41 application import tests passednpm run buildfromdocs/- 63 English and Simplified Chinese pages built with Pagefind and sitemapnpm cireported four advisories in the existing unchanged documentation lockfile (one moderate and three high). This PR does not update that toolchain or usenpm audit fix --force.Follow-up work
Interruptederrors, and illegal over-reported byte counts