moonbit_labeler

    Image / video labeling backend for the MoonbitLabeler app: 21 async ops over @fs/@json for folder browsing, image IO, label IO, schema normalization (parse/serialize round-trip), class management, and VOC/YOLO export. The op_handlers are pure async MoonBit functions and can be wired into any IPC layer (Proton/CEF, stdio JSON-RPC, HTTP, WASM, custom bridge). Includes a `dispatch_op(op, payload) -> Json raise` entry point in 0.2.0+ for embedding outside the CEF runtime.

    labeling
    image-annotation
    voc
    yolo
    moonbit
    ipc
    json-rpc
    Download zip
    Author
    Version
    0.2.5
    License
    Apache-2.0
    Last updated
    57 minutes ago
    Downloads
    10

    #MoonBit Labeler

    A Proton native desktop app generated by proton_cli new.

    The app entry in app/main.mbt loads the project settings from moon.proton with @proton.config("moon.proton"). The default config name honors proton_cli dev --config and resolves the packaged config location when the application is bundled.

    #Setup

    moon update proton_cli cef setup

    #Check

    moon check --target native --diagnostic-limit 80

    #Dev

    proton_cli dev

    dev reads moon.proton and launches the app/ package. When a frontend block is configured, it runs frontend.before_dev, waits for frontend.dev_url, and opens that URL instead of the release asset entry.

    #Build

    proton_cli build

    build reads the same config, runs frontend.before_build when configured, validates the release entry, and builds the app for the native target. Pass additional Moon build arguments after --, for example:

    proton_cli build -- --release

    #Bundle

    The bundle block in moon.proton controls package creation:

    bundle = {
    active: true,
    targets: ["app", "zip"],
    output: "target/proton-dist",
    }

    Inspect the resolved package plan, then create the application and zip archive:

    proton_cli package app --dry-run proton_cli package app

    #Layout

    • app/ is the runnable application.
    • extensions/counter/ is the counter extension used by the app.
    • extensions/counter/ cannot be run directly.
    • target/proton-dist/ contains packaged application artifacts.

    image_package_anchor

    fn image_package_anchor() -> Bool

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io