Compared raw cdir bytes between original UC2 Pro and UC2 v3 archives (using fixed bitdump.py match decoder). Key finding: the original NEVER uses SuperMaster (masterPrefix=0) in file COMPRESS records — it always assigns custom master indices (>= 2). UC2 v3 uses SuperMaster for ungrouped files. The original's ExtractFiles() processes SuperMaster files through ToToWalk(TTefl, SUPERMASTER, ...) which hangs. Custom master files go through the masroot chain walk, which works correctly. Fix: always assign custom master indices to all files, generating at least one custom master block even for archives without dedup groups. This matches the original's behavior. Other differences found: original uses hidden=0xDE (sentinel), tag=0 (no EXTMETA), method=3, and csize=8 (much smaller due to custom master compression).
44 lines
1.7 KiB
ReStructuredText
44 lines
1.7 KiB
ReStructuredText
Roadmap
|
|
=======
|
|
|
|
The development roadmap is maintained in ``ROADMAP.md`` at the project
|
|
root. Key phases:
|
|
|
|
1. **Decompression MVP** — Done. Portable decompressor, CLI tool,
|
|
CMake build system.
|
|
|
|
2. **Original Compression Engine** — Done. LZ77+Huffman compressor.
|
|
Cross-tool round-trip verified in both directions: original UC2
|
|
Pro archives extract correctly in UC2 v3, and single-file UC2 v3
|
|
archives extract correctly by the original. Multi-file extraction
|
|
requires custom masters (the original never uses SuperMaster in
|
|
file COMPRESS records — it hangs on the SuperMaster extraction path).
|
|
|
|
3. **Modernized Master-Block Deduplication** — In progress.
|
|
Content-fingerprint grouping and custom master-block generation done
|
|
(FNV-1a sampling, MASMETA cdir records, SuperMaster-compressed
|
|
masters). Remaining: content-defined chunking, Merkle DAG,
|
|
cross-archive dedup, near-duplicate detection.
|
|
|
|
4. **Modern Compression Backends** — ANS entropy coding,
|
|
zstd-inspired dictionary compression, content-aware preprocessing.
|
|
|
|
5. **Quantum-Resistant Encryption** — CRYSTALS-Kyber + AES-256-GCM.
|
|
|
|
6. **DOS / FreeDOS / Retro-Computing** — DJGPP toolchain, vintage
|
|
hardware support, self-extracting archives.
|
|
|
|
7. **Cryptographic Integrity & Timestamping** — BLAKE3 hashing,
|
|
OpenTimestamps.
|
|
|
|
8. **Decentralized & Cloud Integration** — IPFS pinning,
|
|
content-addressable dedup, cloud archiving.
|
|
|
|
9. **Zero-Knowledge Proofs** — Privacy-preserving archive verification.
|
|
|
|
10. **Ecosystem Integrations** — libarchive plugin, streaming dedup
|
|
ingestion, file manager plugins.
|
|
|
|
See the full roadmap: `ROADMAP.md on GitHub
|
|
<https://github.com/evvaletov/uc2/blob/main/ROADMAP.md>`_.
|