Skip to content

v0.5.0

Choose a tag to compare

@triclozan triclozan released this 29 Oct 01:50
· 1 commit to main since this release

This release is published under the MIT License.

Features

  • Show the problem as a 3D view in the chat.
  • Add a footbridge example.
  • Compare a base run with its variants in one table.
  • Name the core tools first in the server instructions.
  • Refuse an unknown argument name on every tool.
  • Make Python 3.13, the Python that CI tests.
  • Add the finishing role and call it after each successful run.
  • Add a 5-inch drone-arm example.
  • Apply the density filter as an FFT convolution, so fine grids are not limited by its memory.
  • Add the wall rule, settings.robust: wall.

Bug Fixes

  • Record every mesh fallback of every calibration round.
  • One label for load cases with arrows at the same place, past the arrow's tail.
  • Stop the run when the part-only cut or the stress report runs out of memory or threads.
  • Explain voxel steps on a finished part as a known limit, with the routes and their price.
  • Say that the process has stopped for a CLI run that ended natively in the post step.
  • Tell the agent that nothing calls it back when a run ends.
  • End the run with an error when the mesh step runs out of memory or threads.
  • Draw one box for each connected fixed region.
  • Name a rising load case and per-axis supports in a failed solve.
  • Hold the distance queries of the sdf step to a pairs budget.
  • Limit the sdf field to the envelope before marching cubes.
  • Show progress while doctor runs its Python step.
  • More calibration rounds when the mesh misses the mass target by 0.1 %.
  • A plugin update links the code offline, with the setuptools of the lock.
  • Serve three.js from the package, so the refine page works offline.
  • The server instructions fit the 2048 cut of older Claude Code; run_result states a pass-limit stop.
  • Default the envelope fill to off so a run keeps its stiffness at the same mass.
  • The setup status names a wait from the download progress.
  • Measure the thickness of a region of several bodies the same on Linux and macOS.

Documentation

  • The platform of eight measurement files is Linux x86_64, not the host kernel string.
  • Show the lead line as a heading and drop the link to the MP4 clip.
  • Show a footbridge run in the hero clip and a fresh hook run in the pictures.
  • Add a guide of prompts that change the hook example with words.
  • Start the README with what topopt is, the install for each client and the examples.
  • Add an examples gallery that the README links to.
  • Start-here names the oldest uv and offers the update of an old uv.
  • One setup guide for any MCP client, then short tips per client.
  • Cursor user entry: name its condition, the work folder, the README row and the contract.
  • The Code tab of Claude Desktop adds the plugin through Settings > Plugins.
  • Cursor: use a user entry in ~/.cursor/mcp.json when the project server stays Disabled.
  • Say what the install downloads and that a run sends nothing.
  • The Desktop extension starts the launcher; a uv on PATH must be 0.6.8 or newer.

Chores

  • Clean-room helper for the install tests.

Continuous Integration

  • Read a squash merge that kept the merge message.
  • Attach the Desktop extension also as topopt.mcpb, a name without the version.

Testing

  • Add the eval case finish-after-run for the finishing pass.

Build System

  • Breaking: Require Python 3.13 to install topopt.

Refactoring

  • Move the patterns and the blind-test note of the part skill to files read on demand.
  • Move the reply key lines of run_result, environment and run_topopt into the key guides.