Files
OneCAD-Simulation/ATTRIBUTION.md
T
2d99a8571c The .modelcraft file, undo/redo on the journal, atomic saves and autosave recovery (M3) (#21)
* modelcraft-io: the .modelcraft file (modelcraft/1), atomic writes, autosave storage

A stored ZIP of a manifest (format tag, geometry sources with SHA-256,
part sizes and hashes), the model definition as stable pretty JSON, the
mesh and geometry tags in a compact binary part, and the journal one
command per line. Reading caps every size, checks every checksum and
replays the model through its checked methods. Model::without_mesh and
empty mesh fields left out of the model's JSON; geometry::read_file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* engine: undo/redo on the journal, file.open/save/save_as, autosave and recovery

CommandSpec gains a kind: Model commands are journalled and become undo
steps; Session commands (file.*, edit.*) manage the session. Undo history
is bounded by steps and estimated memory. Geometry sources are recorded
with content hashes and reopened on file.open (missing or changed files
are warnings). Desktop app autosaves every 30 s and reports recoverable
models; Ctrl/Cmd+Z and Shift+Z/Y undo and redo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* docs: the .modelcraft format, undo history, roadmap and parity status

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* simplify: shared path parameter, one load path for open/recover, history accounting in History

Session commands skip the per-command model copy; saved revision is an
Option; journal written from borrowed entries and read without an
intermediate tree; backups copied by the file system; recovery lock and
error helpers; geometry file wrappers use read_file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

---------

Co-authored-by: jyviko <2501648+jyviko@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 17:22:01 -04:00

2.4 KiB

Attribution

Every non-code asset in this repository (images, icons, fonts, example geometry) is listed here with its author, source and licence. cargo xtask assets (part of cargo xtask ci) fails if an asset file is missing from this table.

Policy (mandatory): ModelCraft contains no iconography, images, artwork, fonts, templates, example decks or help text from commercial CAE products. Every asset is original work by ModelCraft contributors or third-party material under an open licence. Screenshots of commercial software are never committed. Icons are made with VectorCraft; each icon's .vectorcraft source is committed and listed here with its exports.

Files

File Author Source Licence

Adapted code

File Adapted from Licence
xtask/src/layers.rs SolidCraft xtask/src/layers.rs (itself adapted from CADCraft's xtask) MIT OR Apache-2.0
xtask/src/assets.rs, xtask/src/licences.rs, xtask/src/test.rs, xtask/src/main.rs SolidCraft xtask/src/ MIT OR Apache-2.0
clippy.toml, rustfmt.toml SolidCraft MIT OR Apache-2.0
crates/geometry/src/tagged_mesh.rs (package and part reading, transforms, units, caps) SolidCraft crates/io/src/threemf.rs MIT OR Apache-2.0
crates/render/src/camera.rs, crates/render/src/raster.rs SolidCraft crates/render/src/camera.rs, raster.rs MIT OR Apache-2.0
crates/ui-egui/src/gpu.rs, crates/ui-egui/src/theme.rs, crates/ui-egui/src/control.rs, crates/ui-egui/src/lib.rs (input injection, screenshots) SolidCraft crates/ui-egui/src/ MIT OR Apache-2.0
crates/io/src/fs.rs (atomic writes) SolidCraft crates/io/src/safe_write.rs MIT OR Apache-2.0
crates/io/src/recovery.rs (recovery folder, entries, locks) SolidCraft crates/engine/src/recovery.rs MIT OR Apache-2.0
apps/modelcraft/src/control_server.rs SolidCraft apps/solidcraft/src/control_server.rs MIT OR Apache-2.0

Test oracles

Used only by tests (dev-dependencies, not shipped); no code from them is copied or adapted.

Used in Oracle Licence
crates/mesh/src/predicates/tests.rs, crates/mesh/tests/predicates_bench.rs robust (georust), a port of Shewchuk's public-domain predicates.c MIT OR Apache-2.0
crates/mesh/src/predicates/tests.rs, crates/mesh/src/predicates/dyadic.rs (tests) num-bigint, num-rational, num-traits (exact rationals) MIT OR Apache-2.0