Export a design's timeline as a replayable command script (#1045)

timeline.export_script (and solidcraft-cli script) writes a design's history as a command script that solidcraft-cli eval replays into the same design, so a bug that only shows on one design becomes a one-file repro. timeline.add restores one stored feature with its id, names and references, through the same checks a design file gets when it opens.

Closes #886. SychPL's #1078 approached the same issue independently; thanks to both.

Co-authored-by: SychPL <SychPL@users.noreply.github.com>
This commit is contained in:
Lasse LianandSychPL authored and GitHub committed 2026-10-14 09:06:24 -04:00
1 parent 08b6a8fe0f
commit ec8e739aad
17 files changed
+755 -6

No files matched your search

+4
View File
@@ -44,6 +44,7 @@ mod measure_sel;
mod mesh;
pub(crate) mod motion;
mod parts;
mod script;
mod section;
pub(crate) use measure_sel::measure_items;
#[cfg(test)]
@@ -51,6 +52,8 @@ mod kernel_heal_tests;
mod parameters;
mod plastic;
mod render;
#[cfg(test)]
mod script_tests;
mod sheet;
mod sketch;
pub(crate) use sketch::author_path_for_rebind;
@@ -245,6 +248,7 @@ pub fn command_specs() -> Vec<&'static CommandSpec> {
v.extend(delete::COMMANDS.iter());
v.extend(edit::COMMANDS.iter());
v.extend(clipboard::COMMANDS.iter());
v.extend(script::COMMANDS.iter());
v.extend(parameters::COMMANDS.iter());
v.extend(file::COMMANDS.iter());
v.extend(inspect::COMMANDS.iter());