# Makepad Asset Worker — the headless coordinator beside the Asset Server: # claims generation jobs, dispatches them to the GPU fleet, publishes the # verified results, and (in `--import-ai-library` mode) idempotently # publishes an existing ai-content library into the catalog. # # Credentials never leave the server host: this process reads its bearer # token from a local file and every fleet/network call happens here, not in # any UI client. [package] name = "makepad-asset-importer" version = "0.1.0" edition = "2021" [lib] name = "makepad_asset_importer" path = "src/lib.rs" [[bin]] name = "makepad-asset-importer" path = "src/main.rs" [dependencies] makepad-asset-data = { path = "../data" } # The tiled-RTS map generator. The two procedural converters (TS, D2K) # generate their worlds through it, and so does the sandbox at runtime, so a # generated map is the same map wherever it is made. makepad-rtsmap = { path = "../../rtsmap" } makepad-asset-client = { path = "../client" } # GLB inspection (measured metrics) for the importer. makepad-render = { path = "../../render" } makepad-gltf = { path = "../../gltf" } makepad-zip-file = { path = "../../zip_file" } # Own MP3 / Ogg Vorbis decoders: waveform thumbnails and duration for the # music formats the library actually ships, without a platform codec. makepad-audio-decode = { path = "../../audio_decode" } # The picture recipes (spectrogram, antialiased wave strip, composite), # shared with the preview widgets so a baked thumbnail and a live preview # are the same picture rather than two drifting copies. makepad-audio-picture = { path = "../../audio_picture" } makepad-fast-inflate = { path = "../../fast_inflate" } makepad-zune-png = { path = "../../zune/zune-png" } makepad-zune-jpeg = { path = "../../zune/zune-jpeg" } # Gaussian-splat PLY validation (the splat payload the importer publishes). makepad-splat = { path = "../../splat" } # Thumbnail encoding (vendored, no_std-friendly). jpeg-encoder = { path = "../../jpeg-encoder" } # Fleet dispatch client (default features = [] — the light client side only). makepad-ai-hub = { path = "../../ai/hub", default-features = false } # The annotation pass's knowledge: the prompts, the sheet framing, the reply # parser and the record planner. The coordinator EXECUTES `annotate.asset` # on a vision box; what an answer means stays in that crate, so a CLI and a # fleet job cannot describe the same asset differently. makepad-asset-annotate = { path = "../annotate" } # Base64 for relaying a catalog input into a fleet generate request. makepad-base64 = { path = "../../base64" } # Hardware mp4 decode for representative first-frame thumbnails + measured # durations (standalone seam; no Cx, no window). makepad-platform = { path = "../../../platform" } # Target-correct stat/dirent/errno/openat. Only macOS and Linux are ABI-validated # for the pack walk; other Unix and Windows fail closed at runtime. [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies] libc = "0.2" [dev-dependencies] # The real coordinator e2e runs against an actual AssetServer instance. makepad-asset-store = { path = "../store" }