Files
OneCAD-Simulation/ATTRIBUTION.md
T
bf325bb234 Craft-family shell, native file dialogs, samples and one-click Solve (#46)
* Native file pickers, background opening, drag and drop and recent files

Open (models, SolidCraft designs and tagged meshes in one picker), Save, Save As, Write
Deck and Recover go through the host's file pickers (rfd in the desktop app, injected as
Services so the UI crate stays portable and tests answer them). Files open on a copy of the
session in a worker thread and replace it only on success; files dropped on the window or
named on the command line open the same way. A recent-files list, an unsaved-changes prompt,
Cmd/Ctrl+O/S/Shift+S. Programmatic calls never open a picker: ui.start opens the form.

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

* Samples and one-click Solve: results reachable from the window

file.sample {name} opens a ready-to-run sample (the two parts, the cantilever with static and
frequency steps, the bar impact) in place of the model; solve.run solves every step in order.
Help > Samples, the empty viewport's start screen and the Tools > Samples entry open them
(asking first over unsaved changes); Solve runs in the background like a file opening and the
Results tab comes up. --sample [parts|cantilever|impact] on the command line.

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

* The Craft-family shell: title bar, workspace ribbon, browser, context panel, timeline

The window now follows SolidCraft's and VectorCraft's layout and themes:
- title bar with the mark, quick actions (File menu, save, undo, redo, Solve, search,
  theme, help), the model's document tab and the version; integrated under the macOS
  traffic lights, own caption buttons and resize zones elsewhere (titlebar.rs);
- workspaces (Prepare, Model, Analysis, Results) with their tabs, and panels of icon
  buttons whose labelled drop-downs list the whole catalogue, coming-soon entries greyed
  with their milestone; panels collapse, then go into a » menu, when narrow;
- the browser: geometry and mesh with eye toggles, definitions with counts, results;
- no permanent Commands list: command search (S, Cmd/Ctrl+K) and a command line;
- the context panel on the right only with context: the command form, results controls,
  the selected definition's properties with Edit and Delete;
- navigation bar and orientation gizmo in the viewport; the journal timeline at the bottom
  with undo positions;
- SolidCraft's light and dark tokens; craft-ui (IconButton, Tab, WidgetPalette).
Menus and the search are view state (ui.set {menu, palette}), so captures show them.

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

* Shell polish, docs and licences

Menus painted as the family's (flat File menu with recent files, decks and samples), the
legend sized to its text, two-line panel labels inside the ribbon, glyphs the UI font has,
offscreen captures without fade-in, ui.start runs in-window file actions (samples, recover,
solve) but never a native picker, ui.select. Control protocol, architecture, ROADMAP, AGENTS
and ATTRIBUTION updated; THIRD-PARTY-LICENSES.txt with craft-ui and rfd.

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

* Title bar mark from the application icon; fluid steps and domains in the shell

The title bar draws the app icon's bracket (assets/app-icon/icon-small.svg's faces) as
SolidCraft draws its mark; the window keeps its title-bar flags after the rebase.
solve.run solves fluid steps too (solve.fluid); the browser lists fluid domains.

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

* Simplify: cached per-frame data, one command per timeline roll, workspace setters

- Icon textures are kept per pixel size (the shell draws several sizes a frame; the cache
  used to clear on every size change and rasterise again).
- Opening a model or recovering one starts from an empty session instead of copying the
  current one; the replaced session is freed off the window thread.
- Element counts, timeline items, search results and the selected definition's properties
  are cached until what they show changes; timeline tooltips are built on hover; long lists
  in properties are summarised.
- edit.undo and edit.redo take a count: a timeline click is one command.
- solve.run dispatches on the step's procedure (no string round trip) and reports its name.
- The workspace and tab change together through UiState::select_tab/select_workspace
  (ui.set {workspace} alone now sticks); no per-frame syncing.
- One busy guard, Kind::verbs, a fit flag for background jobs, ModelApp::home_view, the title
  bar's actions as an enum, dead code removed.

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

* Title bar: Solve and tools at the right end; no traffic-light inset in full screen

The owner's feedback on the title bar: Solve, search, theme and help sit at its right end
before the version; on macOS the left group (mark, name, quick actions) moves into the
traffic lights' room in full screen, where there are none, and back when leaving it. The
layout is a pure function (bar_layout) tested for both states, narrow windows and custom
caption buttons. ui.fullscreen {on} for agents.

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

* Caps labels in Inter SemiBold

egui has no bold weight of its default font, so the ribbon's tabs and panel labels, the
workspace switcher and its menu, menu headings, the browser header, the context panel's
headers and the Solve label were thin, especially in the light theme. They now use a label
font family: Inter SemiBold 4.1 (SIL OFL 1.1, unmodified, fonts/OFL.txt, ATTRIBUTION.md),
with egui's fonts as fallback, installed with the theme on the live and offscreen contexts.
theme::label_font falls back to the default font until the family is bound (fonts take
effect from the next pass), so nothing can panic. Panels widen to their label's longest word.

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

* docs: regenerate features.md after rebase

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 22:11:15 -04:00

35 KiB
Raw Blame History

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
crates/decks/tests/golden/nastran/*.bdf ModelCraft contributors Written by our Nastran writer from our own test models (crates/decks/tests/nastran.rs) MIT OR Apache-2.0
assets/icons/assembly.instance.svg, assets/icons/assembly.instance.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/assembly.instance.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/deck.read.svg, assets/icons/deck.read.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/deck.read.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/deck.write.abaqus.svg, assets/icons/deck.write.abaqus.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/deck.write.abaqus.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/deck.write.lsdyna.svg, assets/icons/deck.write.lsdyna.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/deck.write.lsdyna.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/deck.write.nastran.svg, assets/icons/deck.write.nastran.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/deck.write.nastran.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/edit.redo.svg, assets/icons/edit.redo.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/edit.redo.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/edit.undo.svg, assets/icons/edit.undo.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/edit.undo.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/file.open.svg, assets/icons/file.open.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/file.open.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/file.recover.svg, assets/icons/file.recover.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/file.recover.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/file.save_as.svg, assets/icons/file.save_as.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/file.save_as.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/file.save.svg, assets/icons/file.save.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/file.save.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.bodies.svg, assets/icons/geometry.bodies.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.bodies.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.datum.svg, assets/icons/geometry.datum.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.datum.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.import.mesh.svg, assets/icons/geometry.import.mesh.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.import.mesh.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.midsurface.svg, assets/icons/geometry.midsurface.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.midsurface.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.open.svg, assets/icons/geometry.open.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.open.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.partition.svg, assets/icons/geometry.partition.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.partition.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/geometry.tessellate.svg, assets/icons/geometry.tessellate.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/geometry.tessellate.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.bolt.svg, assets/icons/interaction.bolt.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.bolt.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.connector.svg, assets/icons/interaction.connector.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.connector.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.contact.find.svg, assets/icons/interaction.contact.find.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.contact.find.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.contact.general.svg, assets/icons/interaction.contact.general.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.contact.general.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.contact.pair.svg, assets/icons/interaction.contact.pair.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.contact.pair.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.fsi.svg, assets/icons/interaction.fsi.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.fsi.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.mass.create.svg, assets/icons/model.mass.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.mass.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.rigid_wall.svg, assets/icons/interaction.rigid_wall.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.rigid_wall.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.spring.create.svg, assets/icons/model.spring.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.spring.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/interaction.tie.svg, assets/icons/interaction.tie.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/interaction.tie.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.delaunay.points.svg, assets/icons/mesh.delaunay.points.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.delaunay.points.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.element.add.svg, assets/icons/mesh.element.add.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.element.add.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.decompose.svg, assets/icons/mesh.hex.decompose.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.decompose.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.dominant.svg, assets/icons/mesh.hex.dominant.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.dominant.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.generate.svg, assets/icons/mesh.hex.generate.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.generate.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.mapped.svg, assets/icons/mesh.hex.mapped.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.mapped.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.polycube.svg, assets/icons/mesh.hex.polycube.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.polycube.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.hex.sweep.svg, assets/icons/mesh.hex.sweep.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.hex.sweep.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.import.orphan.svg, assets/icons/mesh.import.orphan.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.import.orphan.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.layers.svg, assets/icons/mesh.layers.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.layers.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.node.add.svg, assets/icons/mesh.node.add.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.node.add.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.node.merge.svg, assets/icons/mesh.node.merge.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.node.merge.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.order.quadratic.svg, assets/icons/mesh.order.quadratic.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.order.quadratic.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.quad.faces.svg, assets/icons/mesh.quad.faces.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.quad.faces.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.quality.svg, assets/icons/mesh.quality.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.quality.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.region.remesh.svg, assets/icons/mesh.region.remesh.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.region.remesh.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.size.adapt.svg, assets/icons/mesh.size.adapt.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.size.adapt.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.size.global.svg, assets/icons/mesh.size.global.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.size.global.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.size.seed.svg, assets/icons/mesh.size.seed.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.size.seed.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.smooth.svg, assets/icons/mesh.smooth.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.smooth.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.surface.check.svg, assets/icons/mesh.surface.check.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.surface.check.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.tag.svg, assets/icons/mesh.tag.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.tag.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.tet.generate.svg, assets/icons/mesh.tet.generate.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.tet.generate.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.planar.svg, assets/icons/mesh.planar.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.planar.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.transition.svg, assets/icons/mesh.transition.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.transition.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.untangle.svg, assets/icons/mesh.untangle.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.untangle.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/mesh.verify.svg, assets/icons/mesh.verify.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/mesh.verify.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.activity.svg, assets/icons/model.activity.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.activity.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.amplitude.svg, assets/icons/model.amplitude.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.amplitude.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.boundary_condition.create.svg, assets/icons/model.boundary_condition.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.boundary_condition.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.check.svg, assets/icons/model.check.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.check.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.coupling.create.svg, assets/icons/model.coupling.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.coupling.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.fluid_domain.boundary.svg, assets/icons/model.fluid_domain.boundary.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.fluid_domain.boundary.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.fluid_domain.create.svg, assets/icons/model.fluid_domain.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.fluid_domain.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.info.svg, assets/icons/model.info.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.info.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.load.create.svg, assets/icons/model.load.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.load.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.create.svg, assets/icons/model.material.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.damage.svg, assets/icons/model.material.damage.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.damage.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.eos.svg, assets/icons/model.material.eos.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.eos.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.hyperelastic.svg, assets/icons/model.material.hyperelastic.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.hyperelastic.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.plasticity.svg, assets/icons/model.material.plasticity.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.plasticity.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.material.thermal.svg, assets/icons/model.material.thermal.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.material.thermal.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.orientation.svg, assets/icons/model.orientation.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.orientation.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.reference_point.create.svg, assets/icons/model.reference_point.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.reference_point.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.section.composite.svg, assets/icons/model.section.composite.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.section.composite.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.section.create.svg, assets/icons/model.section.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.section.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.set.create.svg, assets/icons/model.set.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.set.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.step.activate.svg, assets/icons/model.step.activate.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.step.activate.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.step.create.svg, assets/icons/model.step.create.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.step.create.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.step.explicit.svg, assets/icons/model.step.explicit.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.step.explicit.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.step.heat.svg, assets/icons/model.step.heat.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.step.heat.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.step.nonlinear.svg, assets/icons/model.step.nonlinear.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.step.nonlinear.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/model.units.svg, assets/icons/model.units.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/model.units.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.animate.svg, assets/icons/results.animate.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.animate.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.contour.svg, assets/icons/results.contour.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.contour.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.convergence.svg, assets/icons/results.convergence.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.convergence.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.cut.svg, assets/icons/results.cut.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.cut.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.deformed.svg, assets/icons/results.deformed.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.deformed.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.display_group.svg, assets/icons/results.display_group.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.display_group.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.free_body.svg, assets/icons/results.free_body.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.free_body.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.modes.svg, assets/icons/results.modes.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.modes.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.path.svg, assets/icons/results.path.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.path.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.probe.svg, assets/icons/solve.probe.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.probe.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.reactions.svg, assets/icons/results.reactions.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.reactions.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.read.svg, assets/icons/results.read.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.read.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.streamlines.svg, assets/icons/results.streamlines.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.streamlines.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/results.xy.svg, assets/icons/results.xy.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/results.xy.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.blast.svg, assets/icons/solve.blast.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.blast.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.explicit.svg, assets/icons/solve.explicit.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.explicit.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.fluid.svg, assets/icons/solve.fluid.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.fluid.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.frequency.svg, assets/icons/solve.frequency.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.frequency.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.fsi.svg, assets/icons/solve.fsi.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.fsi.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.static.svg, assets/icons/solve.static.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.static.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/solve.run.svg, assets/icons/solve.run.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/solve.run.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/file.sample.svg, assets/icons/file.sample.vectorcraft ModelCraft contributors Original toolbar icon drawn with VectorCraft from assets/icons/src/file.sample.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.eye.svg, assets/icons/ui.eye.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.eye.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.fit.svg, assets/icons/ui.fit.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.fit.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.help.svg, assets/icons/ui.help.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.help.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.home.svg, assets/icons/ui.home.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.home.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.moon.svg, assets/icons/ui.moon.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.moon.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.orbit.svg, assets/icons/ui.orbit.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.orbit.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.pan.svg, assets/icons/ui.pan.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.pan.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.perspective.svg, assets/icons/ui.perspective.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.perspective.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.search.svg, assets/icons/ui.search.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.search.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.style.svg, assets/icons/ui.style.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.style.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.sun.svg, assets/icons/ui.sun.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.sun.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.views.svg, assets/icons/ui.views.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.views.json (cargo xtask icons) MIT OR Apache-2.0
assets/icons/ui.zoom.svg, assets/icons/ui.zoom.vectorcraft ModelCraft contributors Original interface icon (navigation bar, title bar, browser) drawn with VectorCraft from assets/icons/src/ui.zoom.json (cargo xtask icons) MIT OR Apache-2.0
assets/app-icon/icon.vectorcraft, assets/app-icon/icon.svg, assets/app-icon/icon.png ModelCraft contributors Original application icon (an L bracket with a bolt hole under a structured hexahedral mesh, on a rounded-square backdrop), drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs); editable source, SVG and 1024 × 1024 PNG export MIT OR Apache-2.0
assets/app-icon/icon-small.vectorcraft, assets/app-icon/icon-small.svg, assets/app-icon/icon-small.png ModelCraft contributors Original simplified application icon for 16–32 px (no mesh or floor grid), drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/layers/01-floor.vectorcraft, assets/app-icon/ModelCraft.icon/Assets/01-floor.svg ModelCraft contributors Original isometric floor grid with a radial fade (Default appearance), drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/layers/01-floor-dark.vectorcraft, assets/app-icon/ModelCraft.icon/Assets/01-floor-dark.svg ModelCraft contributors Original isometric floor grid with a radial fade (Dark appearance), drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/layers/02-part.vectorcraft, assets/app-icon/ModelCraft.icon/Assets/02-part.svg ModelCraft contributors Original bracket faces with transparent gaps at the shared edges, drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/layers/03-mesh.vectorcraft, assets/app-icon/ModelCraft.icon/Assets/03-mesh.svg ModelCraft contributors Original hexahedral mesh lines (O-grid around the hole) clipped to the bracket's faces, drawn with VectorCraft by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/ModelCraft.icon/icon.json ModelCraft contributors Icon Composer composition of the layers above (Default and Dark floor grid), written by cargo xtask app-icon (xtask/src/app_icon.rs) MIT OR Apache-2.0
assets/app-icon/Assets.car ModelCraft contributors Apple actool compilation of assets/app-icon/ModelCraft.icon; contains original artwork only MIT OR Apache-2.0
assets/app-icon/icon.icns ModelCraft contributors iconutil compilation of assets/app-icon/icon.iconset MIT OR Apache-2.0
assets/app-icon/icon.ico ModelCraft contributors ImageMagick compilation (16–256 px) of sips exports of assets/app-icon/icon-small.png (≤ 32 px) and assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_16x16.png ModelCraft contributors sips export (16 px) of assets/app-icon/icon-small.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_16x16@2x.png ModelCraft contributors sips export (32 px) of assets/app-icon/icon-small.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_32x32.png ModelCraft contributors sips export (32 px) of assets/app-icon/icon-small.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_32x32@2x.png ModelCraft contributors sips export (64 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_128x128.png ModelCraft contributors sips export (128 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_128x128@2x.png ModelCraft contributors sips export (256 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_256x256.png ModelCraft contributors sips export (256 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_256x256@2x.png ModelCraft contributors sips export (512 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_512x512.png ModelCraft contributors sips export (512 px) of assets/app-icon/icon.png MIT OR Apache-2.0
assets/app-icon/icon.iconset/icon_512x512@2x.png ModelCraft contributors sips export (1024 px) of assets/app-icon/icon.png MIT OR Apache-2.0
crates/ui-egui/fonts/Inter-SemiBold.ttf The Inter Project Authors https://github.com/rsms/inter release v4.1 (Inter-4.1.zip, extras/ttf/Inter-SemiBold.ttf), unmodified; licence text in crates/ui-egui/fonts/OFL.txt; the interface's caps labels (theme::LABEL_FAMILY) SIL OFL 1.1

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 (tokens and their values), crates/ui-egui/src/control.rs, crates/ui-egui/src/lib.rs (input injection, screenshots), crates/ui-egui/src/toolbar.rs (workspace switcher, tabs, panels with drop-downs, fitting), crates/ui-egui/src/appbar.rs (application bar; the mark is drawn from assets/app-icon/icon-small.svg's coordinates), crates/ui-egui/src/titlebar.rs (caption buttons, drag and resize zones; SolidCraft took it from VectorCraft), crates/ui-egui/src/frame.rs (windows, heading bands), crates/ui-egui/src/browser.rs (row drawing), crates/ui-egui/src/palette.rs (command line and search), crates/ui-egui/src/timeline.rs (timeline strip, transport), crates/ui-egui/src/viewport.rs (navigation bar, orientation gizmo), crates/ui-egui/src/files.rs (background opening, file pickers as host services) SolidCraft crates/ui-egui/src/ (titlebar.rs also VectorCraft crates/ui-egui/src/titlebar.rs) 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