mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-06 20:02:16 +00:00
9cd655259d
- Session::execute is a command span; Model::evaluate and each feature computed (by its type) are spans; io's import, export and design read/write too; the STEP reader's topology, pcurves and solid record. - diagnostics.profile (contract + output schema): report, start/stop, reset, Chrome trace file. - A STEP/IGES import's reply carries its own profile while recording. - Every app compiles the profiler in by default (feature `profile`); SOLIDCRAFT_PROFILE=1 starts it. - solidcraft-cli run/eval/bench-open --profile print the table on stderr, --profile-out writes the trace; run --profile works on designs and STEP files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
67 lines
2.4 KiB
TOML
67 lines
2.4 KiB
TOML
[package]
|
|
name = "solidcraft-engine"
|
|
description = "SolidCraft engine: the session, the command registry (everything is a command), undo/redo and selection"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
# Optional authored texture/HDR bytes; the command registry and metadata remain available.
|
|
bundled-render-library = []
|
|
raytrace-cpu = ["solidcraft-render/raytrace-cpu"]
|
|
# Link SMLib into the kernel (solidcraft-kernel/smlib; needs scripts/fetch-smlib.sh).
|
|
smlib = ["solidcraft-kernel/smlib"]
|
|
# Turns on the parameter-contract audit recorder (`SOLIDCRAFT_PARAM_AUDIT`, see
|
|
# `src/schema/record.rs`), for checking a new contract against the whole test suite.
|
|
param-audit = []
|
|
solver-profiling = ["solidcraft-sketch/solver-profiling"]
|
|
# Compile the profiler in (solidcraft-profile/enabled): every app turns it on by default, so any
|
|
# build can be profiled; it records only once switched on (SOLIDCRAFT_PROFILE=1, the CLI's
|
|
# --profile, the app's preference, diagnostics.profile).
|
|
profile = ["solidcraft-profile/enabled"]
|
|
|
|
[[example]]
|
|
name = "sketch_analysis_bench"
|
|
required-features = ["solver-profiling"]
|
|
|
|
[[example]]
|
|
name = "sketch_drag_bench"
|
|
required-features = ["solver-profiling"]
|
|
|
|
[[example]]
|
|
name = "sketch_target_bench"
|
|
required-features = ["solver-profiling"]
|
|
|
|
[dependencies]
|
|
solidcraft-geom = { workspace = true }
|
|
solidcraft-sketch = { workspace = true }
|
|
solidcraft-kernel = { workspace = true }
|
|
solidcraft-doc = { workspace = true }
|
|
solidcraft-io = { workspace = true }
|
|
solidcraft-render = { workspace = true }
|
|
solidcraft-profile = { workspace = true }
|
|
image = { workspace = true, features = ["jpeg"] }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
toml_edit = "0.25"
|
|
schemars = { workspace = true }
|
|
serde_path_to_error = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
log = { workspace = true }
|
|
web-time = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
solidcraft-profile = { workspace = true, features = ["enabled"] }
|
|
# Model-cache tests also run in a source tarball build (no git commit).
|
|
solidcraft-io = { workspace = true, features = ["trust-unknown-source"] }
|
|
# Normal CI exercises profiling assertions without enabling the production feature.
|
|
solidcraft-sketch = { workspace = true, features = ["solver-profiling"] }
|
|
|
|
[[example]]
|
|
name = "render_resource_workflow"
|
|
required-features = ["raytrace-cpu"]
|