Releases: flash555588/ai-model-workbench
Release list
AI Model Workbench 0.7.6
AI Model Workbench 0.7.6
0.7.6 is a source-review patch for the 0.7.5 Slice and measurement
interaction release.
Changes
- Replaced Babylon preview
activeWindow.requestAnimationFrame()with
window.requestAnimationFrame()to satisfy Obsidian's timer API source-review
rule. - Replaced the related Babylon focus and Slice frame cancellations with
window.cancelAnimationFrame()for consistent scheduling and cleanup. - Rebuilt the packaged plugin assets with the review-approved calls.
Behavior
- Slice, measurement, focus, disassembly, annotation, and camera behavior are
unchanged from0.7.5. - Babylon.js compatibility mode remains the default single-model route.
- Three.js opt-in routing, Converted GLB fast-path behavior, and Babylon fallback
remain unchanged. - No settings or persisted-data migration is introduced.
Verification
npm run lintnpm run typechecknpm testnpm run verify:previewnpm run buildnpm run verify:releasenpm run verify:obsidian -- --clean
AI Model Workbench 0.7.6
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.7.6 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,191,753 bytes | eedb39a664c0f69bd6613fd3561bcb3bc574ceb848bbe5990d941e5af5eab20f |
manifest.json |
276 bytes | 0a62e4fbe797fae36b56010c6c6684daf679ad04b2bb7afdb01dfdd5a22314fe |
styles.css |
57,936 bytes | 5aa5debcd6e6cf9fdebac8db721aa4e97228030ce2a43c5476833378a6b841b5 |
AI Model Workbench 0.7.5
AI Model Workbench 0.7.5
0.7.5 delivers a coordinated Slice and measurement interaction update for
Babylon.js compatibility previews and the opt-in Three.js routes.
Changes
- Defines Slice
0°as the world-horizontal XZ plane and resets it through the
placed model's world-bounds center at50%. - Adds editable Slice position (
0–100%) and X/Y/Z rotation (-180°–180°)
fields synchronized with the cutting board, ruler, move handle, and rotation
rings. - Keeps the visible cutting board larger than every projected model corner at
any supported angle or offset. - Stabilizes Slice rotation around the cutting-board center with a fixed
gesture frame, Babylon camera-inertia isolation, screen-space fallback,
snapping hysteresis, and animation-frame-coalesced pointer updates. - Updates clipping planes in place during movement to avoid model flicker and
material recompilation churn. - Makes measurement target the entire model by default; an explicitly focused
component is required to narrow measurement to a part. - Coordinates focus, disassembly, measurement, and Slice as linked exclusive
modes while preserving camera orbit and view overlays. - Improves measurement snapping, drafting-style dimension callouts, calibration,
render-scale feedback, conversion diagnostics, and restored direct-view load
safety included in the accumulated release changes.
Behavior
- Babylon.js compatibility mode remains the default single-model route.
- Three.js remains an explicit opt-in route and follows the same Slice reset,
numeric-control, measurement-scope, and mode-linking contract. - Converted GLB Three fast path remains configurable with silent Babylon.js
fallback. - STEP/STP and other conversion-backed direct views continue to require an
explicit Load model action when restored, reducing vault startup lockups. - No GPL source from BambuStudio is copied; the interaction design was used only
as behavioral reference under the repository's upstream-guidance rules.
Verification
npm run lintnpm run typechecknpm testnpm run verify:previewnpm run verify:preview -- --rollout three-direct-glb --expect-backend threenpm run verify:preview:successnpm run verify:settingsnpm run verify:knowledge-indexnpm run verify:remote-draftnpm run verify:diagnosticsnpm run buildnpm run verify:releasenpm run verify:obsidian -- --clean
AI Model Workbench 0.7.5
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.7.5 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,191,789 bytes | 93eb5dcb171ca86be02c0a52185cc02ef7ca75185b1ea6afaa37a3c12e279f24 |
manifest.json |
276 bytes | d239dc397f4e0db14cec6971d9ce129a25a45c839a35dcd2383063b191931bdc |
styles.css |
57,936 bytes | 5aa5debcd6e6cf9fdebac8db721aa4e97228030ce2a43c5476833378a6b841b5 |
AI Model Workbench 0.7.1
AI Model Workbench 0.7.1
0.7.1 is a source-review patch for the 0.7.0 compatibility,
performance, and support-boundary release.
Changes
- Removed the disallowed
obsidianmd/prefer-create-eldisable directive from
staged DOM helpers while preserving detached element creation for CodeMirror
widgets, Live Preview placeholders, zoom controls, and preview canvases. - Avoided native
createElementcalls in the staged DOM helper so Obsidian
review tooling no longer reports the disabled directive or deprecated DOM
creation path. - Tightened binary path reads to return an
ArrayBufferwithout unnecessary
type assertions. - Tightened Live Preview path-cache eviction so the iterator value is checked
before being passed toMap#delete. - Replaced the direct file view
!importantCSS override with a higher
specificity selector.
Behavior
- No renderer routing changed from
0.7.0. - Babylon.js compatibility mode remains the default single-model route.
- Converted GLB Three fast path remains configurable and still falls back to
Babylon.js when needed. - STEP/STP and CAD files remain conversion-only workflows with the same warnings
and risk boundaries documented in0.7.0. - Generated side-file placement and auxiliary folder behavior are unchanged.
Verification
npm run lintnpm run typechecknpm run verify:previewnpm run buildnpm run verify:release
AI Model Workbench 0.7.1
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.7.1 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,096,357 bytes | 14e8e7916f695092bfdedb509a2e1a57e06cc723124618638ba16311d3b0f864 |
manifest.json |
276 bytes | b2cf5a98dc5f279b909f67cf3be70972c7d01b6e873d21f60d5d2c1f74a5939c |
styles.css |
48,876 bytes | 905ac7a477da7d4c374cf5bc684f303257d051e23d7f3ae65656bf90f4a54888 |
AI Model Workbench 0.7.0
AI Model Workbench 0.7.0
0.7.0 is a compatibility, performance, and support-boundary release for large
local 3D model workflows in Obsidian. It keeps Babylon.js compatibility mode as
the default single-model route, adds user control over converted GLB fast-path
routing, improves conversion side-file placement, tightens heavy-model behavior,
and makes STEP/CAD risks explicit in the user-facing documentation.
Warnings And Risks
- STEP/STP and CAD files are conversion-only, not direct-render formats. They
require Obsidian Desktop plus a configured local Python + CadQuery/OCCT
environment before the plugin can preview them as GLB. - Mobile can view direct formats and already-converted GLB files, but it cannot
run local conversion tools or converter diagnostics. - Large GLB files and converted STEP/PCB assemblies can consume significant CPU,
GPU, RAM, and disk I/O. First open can take a long time, stall Obsidian, or
trigger WebGL context loss on constrained devices. - Local converters are external desktop tools that parse model files on your
machine. Use trusted model files and verify converter command paths before
processing unknown CAD, FBX, 3MF, DAE, or SLDPRT assets. - Generated side files can be large or sensitive. Converted GLBs, reports,
indexes, JSON sidecars, snapshots, part IDs, dimensions, geometry summaries,
and preview images should be placed in an intentional folder and excluded from
sync or Git when needed. - Babylon.js compatibility mode is the safest renderer path. Three.js fast paths
can be faster, but colors, picking, measurement, or toolbar behavior can differ
on some assets. Disable the Converted GLB Three fast path or return to
compatibility mode when diagnosing display issues. - Remote drafting is optional and local-first by default. If configured, remote
draft requests can still include sanitized evidence such as model names, part
names, counts, dimensions, tags, and note references depending on privacy
settings.
Highlights
- Adds a
Converted GLB Three fast pathsetting so conversion-backed direct file
views can use Three.js first with silent Babylon fallback, or follow normal
Babylon compatibility routing when the setting is disabled. - Adds an
Auxiliary file foldersetting for generated conversion side files,
while the empty default keeps outputs under the active Obsidian config folder. - Reuses relocated converted-asset cache records for moved STEP/FBX/etc. sources
and reuses fresh converted GLB outputs before initializing converter adapters. - Defaults single-model preview surfaces to Babylon.js compatibility mode while
keeping Three.js available through explicit rollout controls. - Pauses restored large or conversion-backed direct-file previews until the user
clicksLoad model, avoiding vault lockups during workspace restore. - Adds a draggable right-side camera zoom control and smoother wheel zoom across
Three.js, Babylon.js, and3dgrid. - Redesigns measurement as an inspector-toolbar readout with synced records,
transparent in-scene dimension text, copy/clear/calibration actions, and
improved pointer feedback. - Keeps direct file view canvases full-height by moving workbench metrics into a
compact overlay and fixing the Obsidian leaf height chain. - Adds README warning sections in English and Chinese that clearly describe
STEP/CAD conversion limits, external tool risk, large-model pressure, generated
side files, renderer-route differences, mobile limits, and optional remote
drafting privacy.
Detailed Changes
Routing And Settings
- Added the Converted GLB Three fast-path toggle and diagnostics output.
- Added the Auxiliary file folder setting and diagnostics output.
- Kept Babylon.js as the default single-model compatibility route.
- Kept Three.js available for explicit single-model rollout and converted GLB
fast-path use. - Documented the converted GLB route contract in the preview routing matrix.
- Preserved Experimental Three workbench as a guarded direct GLB/GLTF option with
Babylon fallback.
Conversion And Cache
- Wrote new converted GLB outputs under the active
Vault#configDirinstead of
assuming.obsidian. - Allowed users to place generated conversion side files in a configured vault
folder. - Reused relocated cache records when a source file moved but a same-stem fresh
converted GLB already exists. - Reused existing converted outputs before probing converter identity or creating
conversion managers. - Reused source file stats across conversion-cache checks.
- Reused normalized converted-asset records during plugin startup.
- Clarified STEP/STP support as local desktop conversion only.
Direct View, Grid, And UI
- Cancelled stale direct-file preview load sessions during rapid model switches.
- Disposed interrupted Three.js and Babylon.js GLB results before they can
compete with the newest load. - Paused restored large/conversion-backed direct file previews until explicit
user load. - Kept direct file view canvases full-height.
- Added a right-side draggable camera zoom slider.
- Improved wheel zoom behavior across preview backends.
- Redesigned the distance measurement UI and records.
- Kept Babylon
3dgridwarmup frames dirty briefly after load to avoid blank
first frames. - Released offscreen
3dgridBabylon engines and gave grid canvases a stable
default height. - Added multi-block
3dgridpreview verification for nonblank pixels and WebGL
context-loss warnings.
Performance
- Deferred reading-mode, Live Preview, annotation, heading-pin, settings, import,
converter, and direct-view workbench modules until visible or needed. - Serialized inline and Live Preview loads through a queue and added a settle
window between heavy visible model loads. - Cached Live Preview embed path resolution and skipped full rescans for ordinary
note edits. - Loaded external
.gltfbuffers and textures with temporary Blob URLs and
deduplicated concurrent resource reads. - Included external
.gltfbuffers and textures in pre-parse render budgeting. - Applied render quality earlier and pre-budgeted direct, inline, and Live
Preview render quality from model file size. - Avoided extra full-buffer copies for absolute-path model files.
- Deferred Three.js PMREM, shadow, geometry snapshot, evidence registration, and
registered-match preview work so large models become interactive sooner. - Cached Three.js root bounds, child-mesh descendant indexes, renderable bounds,
renderable indexes, material preparation, and Babylon/Three geometry stats. - Reduced disassembly drag and focus-selection work for large assemblies.
- Compacted persisted registered parts, mesh refs, bounding boxes, centers, and
automatic observation text to reducedata.jsonstartup cost. - Avoided unchanged plugin-state rewrites during startup and unload.
- Skipped or delayed low-value automatic evidence registration for heavy models.
Rendering And Interaction
- Included Three.js PLY point clouds in summary, part evidence, picking,
measurement, material audit, and disposal paths. - Kept Three.js orthographic camera, shadow, and grid helper scales tied to real
tiny-model bounds. - Promoted converted component child-mesh picks to their parent registered
component/group for selection, focus, and disassembly behavior. - Preserved nested component world transforms during disassembly drag.
- Throttled Three.js measurement preview-line raycasts to animation frames.
- Scaled Three.js texture anisotropy by render quality.
- Resolved parent-directory GLTF/OBJ resource paths consistently across desktop
platforms.
Knowledge, Diagnostics, And Docs
- Preserved part-splitting format lineage across direct and converted formats in
reports, sidecars, draft input, and registered part profiles. - Merged generic tiny mesh fragments into lower-confidence detail clusters.
- Skipped direct-view auto part registration writes when regenerated candidates
match saved profiles. - Improved direct-view registered part match previews by skipping sidecar reads,
capping sample sizes, and reusing indexed match tokens. - Expanded diagnostics with the converted GLB fast-path setting and auxiliary
file folder. - Trimmed redundant README copy and moved detailed syntax to dedicated usage
docs. - Added explicit warning/risk sections to README and README.zh-CN.
- Updated the development handoff, preview routing matrix, changelog, and release
docs for the 0.7.0 route and settings contract.
Release Contract
- Release assets remain limited to
main.js,manifest.json, andstyles.css. - Minimum Obsidian version remains
1.5.0. - Local conversion remains desktop-only and does not upload model files.
- Knowledge generation remains local-first. Remote draft support remains optional
and uses sanitized evidence only when explicitly configured. - Babylon.js remains the production compatibility backend for default
single-model previews,3dgrid, conservative fallback behavior, and future
local-only SPLAT restoration.
Verification
npm run typechecknpm run lintnpm run verify:settingsnpm run verify:diagnosticsnpx vitest run src/view/direct-view-routing.test.ts src/diagnostics/report.test.tsnpm run verify:previewnpm run buildnpm run verify:release
AI Model Workbench 0.7.0
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.7.0 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,096,198 bytes | fe8fdf06fa9250068d8610c6f76c8aad5be929310b18701093fd1c8a797af3a2 |
manifest.json |
276 bytes | 8a944a6b039beb4a81c95a15b36fa37134c7edef2a8bcfcabe1b24ddd5a496ee |
styles.css |
48,861 bytes | 93e79f6036b71b5f287a29688143f89e05b179de0cafdbfe5544fdd4f13be96a |
AI Model Workbench 0.6.1
AI Model Workbench 0.6.1
0.6.1 is a source-review patch for the 0.6.0 Three.js capability-tree release.
Changes
- Updated the remote draft timeout helper to use the standard
windowtimer APIs required by Obsidian source review guidance. - Updated the conversion timeout helper and preview verification harness to avoid the same
activeWindowtimer pattern in future reviews. - Kept the
0.6.0rendering, measurement, diagnostics, conversion, knowledge-workflow, and release-asset behavior unchanged.
Review Notes
The remaining review recommendations for vault enumeration and clipboard access are expected for this plugin:
- Vault enumeration is used to resolve vault-local model resources, locate generated knowledge artifacts, and support model/index workflows.
- Clipboard access is used for explicit user actions such as copying diagnostics, model information, measurement Markdown, and generated evidence snippets.
Verification
npm run lintnpm run typechecknpm testnpm run verify:remote-draftnpm run verify:diagnosticsnpm run verify:previewnpm run verify:preview:successnpm run buildnpm run verify:release
AI Model Workbench 0.6.1
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.6.1 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,015,246 bytes | 9c171b85408b645c2bbbb0c7fd1b01add4fdac40fbdf276cc45c189f99708753 |
manifest.json |
276 bytes | 2a11809fdbf4b919fc96071c168c4e373f1caf40dbcc0936d2a4485dcc22b9c7 |
styles.css |
40,411 bytes | b221c2f411b563c3e0c683eb3e53f7cf570a86e8b65260ec26562a040686293e |
AI Model Workbench 0.6.0
AI Model Workbench 0.6.0
0.6.0 is the Three.js capability-tree and workbench reliability release. It keeps Babylon.js as the conservative capability backend for 3dgrid, fallback routes, and guarded workbench paths, while making Three.js the higher-quality default path for single-model GLB/GLTF/STL/PLY/OBJ previews.
Highlights
- Three.js direct-format previews now expose a capability profile and quality snapshot covering supported formats, color pipeline, geometry stats, camera precision, small-part detection, and frame-budget data.
GLB/GLTFkeeps glTF PBR material semantics,STL/PLYpreserve vertex color data, andOBJ/MTLapplies sRGB only to color textures while leaving non-color maps linear.- Tiny and very large models fit the camera using real bounding-box scale, with model-aware raycast thresholds and measurement marker sizes for small parts.
- Three.js previews now track rendered frames, slow frames, average/p95/max frame timing, idle skips, and adaptive pixel-ratio changes.
- Settled Three.js previews sleep their render loop until interaction, animation, or annotation observer work resumes.
- Ruler measurements now support calibrated units, per-axis deltas, persistent completed records, Markdown export, and shared Three.js/Babylon.js formatting.
- Knowledge generation records pending, failed, and success states consistently across reports, sidecars, indexes, evidence snapshots, and part notes.
- Diagnostics redact local paths by default while surfacing renderer route, converter status, knowledge-generation state, and Three/Babylon capability differences.
Release Contract
- Three.js is the default single-model renderer for
GLB/GLTF/STL/PLY/OBJ. - Babylon.js remains the production backend for
3dgrid, conservative workbench/fallback behavior, and future local-only SPLAT restoration work. - Local conversion remains desktop-only and does not upload model files.
- Release assets are still limited to Obsidian-supported
main.js,manifest.json, andstyles.css.
Verification
This release candidate was verified with:
npm run typechecknpm testnpm run verify:previewnpm run verify:preview:successnpm run verify:settingsnpm run verify:knowledge-indexnpm run verify:remote-draftnpm run verify:diagnosticsnpm run buildnpm run verify:releasenpm run verify:obsidian -- --clean
AI Model Workbench 0.6.0
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.6.0 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
4,015,388 bytes | 6536d1e259fd36770c63c133176a5cb2ed1f8e16e66d4e59f38205293eeb9c0b |
manifest.json |
276 bytes | 4682bf212f6e6db53569f5800b858a186fcdd3dee8877f19b6ff128adc43db9e |
styles.css |
40,411 bytes | b221c2f411b563c3e0c683eb3e53f7cf570a86e8b65260ec26562a040686293e |
AI Model Workbench 0.5.8
AI Model Workbench 0.5.8
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.5.8 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
3,979,832 bytes | 1b8a4c7ef7e8dafef5fe2f0140767b139ed543ad80de17fa49681a2f95a4b26f |
manifest.json |
276 bytes | 6c50476ec922d484638e6bbc6245d69b59a86fadbf2b0a6cfd0bbed5359f7611 |
styles.css |
40,411 bytes | b221c2f411b563c3e0c683eb3e53f7cf570a86e8b65260ec26562a040686293e |
AI Model Workbench 0.5.7
AI Model Workbench 0.5.7
Release assets are built from source by GitHub Actions and include only the Obsidian-supported files.
- Manifest version:
0.5.7 - Minimum Obsidian version:
1.5.0
| Asset | Size | SHA-256 |
|---|---|---|
main.js |
3,979,832 bytes | 1b8a4c7ef7e8dafef5fe2f0140767b139ed543ad80de17fa49681a2f95a4b26f |
manifest.json |
276 bytes | 9853aaa158883ae6961ad16699d429f19c5d7829bcbcf23d1ddb405d42a2c674 |
styles.css |
40,411 bytes | b221c2f411b563c3e0c683eb3e53f7cf570a86e8b65260ec26562a040686293e |
AI Model Workbench 0.5.5
release: 0.5.5 Bump version to 0.5.5.
AI Model Workbench 0.5.3
What's New in 0.5.3
Workspace Layout
- Track-based workspace: The direct file view now uses a resizable workspace layout. The main preview area gets the full remaining space, while a sidebar on the right and a panel at the bottom provide model information.
- Draggable resize handles: Adjust the sidebar width and bottom panel height by dragging the resize handles (similar to IDE split panes).
- Sidebar content: Knowledge controls (generate note, open index) and registered part matches now live in the right sidebar, freeing up the bottom panel for model status.
Knowledge & Part Matching
- Cross-format part registration: GLB/GLTF component metadata from `extras.ai3d` is now registered as individual parts, preserving component IDs, occurrence IDs, part numbers, and component paths through reports and part notes.
- Cross-format matching: Source extensions such as STEP, FBX, 3MF, and DAE are preserved in analysis records so registered part matching can link reused components across converted model formats.
- Sidebar matches: Likely reused parts from previously analyzed models are shown in the sidebar with scores and direct links.
Annotation Improvements
- Bookmark display modes: Annotation bookmarks support full snippets, compact surfaces, and dots. Popovers stay open while hovered and occluded bookmarks are fully hidden.
- STEP XDE labels preserved: CAD conversion exports PCB/CAD components as individual GLB component meshes with `extras.ai3d` identity metadata.
Removed
- Explode controls have been removed from the direct workbench; use disassembly mode instead.
Fixes
- Resize handle direction: Vertical resize now behaves consistently (drag down to shrink, up to expand).
- Interruption notice: When switching models quickly, a Notice is shown if the previous load was cancelled by a newer request.
- Popout window compatibility: Use `window` and `activeDocument` instead of `activeWindow` and `document` for timer and event listener APIs.
- Type safety: Add explicit type annotation to avoid implicit `any` assignment.
Compatibility
- Requires Obsidian 1.5.0 or later.