forked from 1b-agent/opencadstudio-upstream
Every glyph advanced by the face's letter spacing, including CJK glyphs a style's big font or the TrueType fallback supplies. Their advances already carry the gap (big font) or side bearings (TrueType), so with an LFF primary such as iso each ideograph took 1.33 heights instead of one. Face::spacing_after(ch) gives the tracking only to glyphs the stroke font draws itself; every layout path uses it. The 1.8-height widths in the report were the TEXT bounds estimate counting UTF-8 bytes; opencadcodec 1109d52 counts characters. Pins opencadcodec 1109d52, opencadkernel 8a246b0, opencadgraph 3c4af1c. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plugin registry
registry.json is the curated list of third-party plugins Open CAD Studio
offers in its Plugin Manager → marketplace. The app fetches it from this
repo's main branch at runtime, so adding an entry makes a plugin discoverable
to every user without an app update.
Add your plugin
Open a pull request adding one object to the array in
registry.json:
{
"repo": "your-account/your-plugin-repo",
"name": "Human-readable name",
"description": "One line describing what it does."
}
Requirements for the linked repo:
- Builds a
cdylibagainstocs_plugin_apiand exports the host symbols viaocs_plugin_api::export_plugin!. - Publishes per-platform binaries plus
plugin.tomlas GitHub Release assets (seecrates/ocs_example_pluginand its release workflow for a template). Asset names carry the platform, e.g.your.plugin-linux-x86_64.so,…-windows-x86_64.dll,…-macos-aarch64.dylib. plugin.tomldeclares anapi_versioncompatible with the host.
The host reads the release matching the user's platform, checks the API version, and installs it into the user's plugins folder.
Listing is curation, not endorsement or a security review. Installing a plugin runs its native code; users install at their own risk.