Skip to content

Tease 0.2.0 — dependable model demos

Choose a tag to compare

@cmccomb cmccomb released this 19 Sep 21:29
· 10 commits to master since this release

Tease 0.2.0 is part of the staged update to responsive Rust model demos.

Added

  • Dedicated inference worker, model initialization status, bounded single-request
    execution, matching request IDs, and prompt window closure during inference.
  • with_predictor_factory for constructing models that are not Send on their
    owning worker, plus prepare() and reusable headless Sessions.
  • Typed numerical/text values, labeled choices, multiple named outputs, and
    fallible callbacks through one validated prediction path.
  • Configuration, field, and output validation with recoverable errors and
    plain-text rendering throughout the interface.
  • Real SmartCore regression/classification and AutoML regression examples,
    checked sample predictions, and slow-inference/error-recovery demonstrations.
  • Stable/MSRV CI across macOS, Windows, and Linux, Rust and JavaScript lifecycle
    regression tests, and a clean-consumer package verification script.
  • MIT and Apache-2.0 license texts, migration guidance, and a release checklist.

Changed

  • Rust 1.88 is the development baseline. Wry is updated to 0.57 and window/event
    handling now uses Tao 0.37. Repository dependency resolution uses Cargo.lock.
  • Model examples use published AutoML 0.3.1 and matching SmartCore 0.4.2.
  • The interface uses a small local stylesheet and script; bundled Bootstrap,
    jQuery, and Popper are removed from the runtime.
  • run() returns setup errors; model failures appear in the UI. The window uses
    a readable default size and adapts to narrow layouts.

Breaking changes

  • Direct callback captures must be Send. Non-Send models use a worker-side factory.
  • Input number definitions gain optional bounds; dropdowns use labeled Choices.
  • Output number definitions include precision, and text results are supported.
  • Descriptions are plain text rather than HTML.
  • The unpublished generic floating-point and unused advanced-callback APIs are
    replaced. Numeric interface values use f64, consistent with published 0.1.1.
  • Earlier unpublished 0.2 drafts used Teaser::predict; prepare a Session first.

See docs/migration-0.2.md for code examples and the panic/closure semantics.

Install with cargo add tease@0.2.0. Rust 1.88 or newer and the platform desktop dependencies in the README are required.

Validation: Rust tests, doctests, JavaScript lifecycle tests, strict lint/docs checks, and an isolated packaged-crate consumer. Native macOS interactions were exercised; interactive Windows/Linux GUI behavior has not been manually verified. The CI results linked to this release record native build/test coverage separately.

API documentation · Examples · Migration from 0.1.1

Cross-platform CI: stable and Rust 1.88 on macOS, Windows, and Linux.