DragNProp Svelte Themes

Dragnprop

A lightweight, offline-first 3D asset manager & companion with native drag-and-drop support for Blender, Unity, Unreal, and Godot.

DragNProp Logo

DragNProp

A lightning-fast, offline-first 3D asset manager and companion with native drag-and-drop support for your creative workflow.

Tauri Svelte 5 Rust SQLite License MIT


DragNProp is a professional desktop utility designed for 3D game developers, digital artists, and creators. It operates as a local "stash" manager, bridging the gap between your offline asset libraries and production applications (such as Blender, Unity, Unreal Engine, Godot, Maya, and 3ds Max) through a seamless, premium drag-and-drop workflow.

Built on the modern Tauri v2 and Svelte 5 stack, DragNProp is ultra-lightweight, offline-first, and backed by a local SQLite engine to guarantee blistering speed and absolute data privacy.


šŸ“ø Visual Showcase

Retro-Modern Dashboard & Library

Organize your complex model directories with a nested, hierarchical category system. The UI stays sleek, responsive, and adapts perfectly to large asset lists using virtualization.

Deep Inspection & Contextual Views

Inspect your items, edit asset properties, manage technical documentation/sheets, view texture folders, and review 3D model properties directly inside the companion application.


šŸš€ Key Features

  • ⚔ Offline-First & Blazing Fast: No cloud accounts, no subscription, and no telemetry. All metadata, index tables, and thumbnails are stored entirely on your local machine using SQLite.
  • šŸ“¦ True Drag-and-Drop Workflow:
    • External OS Dragging: Select any 3D asset and drag it directly out of the DragNProp window into external apps (Blender, Unity, Unreal, Windows Explorer, etc.). The native OS-level file drop is handled via a customized Rust backend.
    • Internal Organization: Move assets between categories or nest/reorder folders with a fluid mouse-pointer drag interface.
    • Quick Import: Drag files or folders from Windows Explorer directly onto categories or specific asset cards to initiate imports instantly.
  • šŸ¤– Automatic 3D Preview Engine:
    • Recursively monitors and scans your selected stash directory.
    • Supports popular 3D models (.glb, .gltf, .obj, .fbx, .stl) and images (.webp, .png, .jpg, .jpeg).
    • Leverages a fast background pipeline powered by @google/model-viewer and Svelte to auto-render and capture high-resolution thumbnail previews.
  • šŸ” Recursive Scoped Search: Instantly filter models globally or lock search queries to a specific parent category and all its nested subcategories.
  • ā™»ļø Physical Recycle Bin System: Never worry about accidental data loss. Deleting assets moves them to a hidden .trash directory on your drive, allowing full recovery or safe bulk emptying at any time.
  • šŸ“Œ Always on Top Utility Mode: Toggle the pin button to lock the DragNProp window on top of other applications, enabling a convenient sidebar workflow when composing scenes in your 3D engines.

šŸ“‚ Asset Library Directory Structure

DragNProp expects and maintains a clean, modular folder layout in your library. When a directory is marked as an Asset, it scans and organizes the files under the following structure:

šŸ“ My_Stash_Library/
│
ā”œā”€ā”€ šŸ“ Uncategorized/                # Automatically created for orphan assets
│
└── šŸ“ Weapons/                      # Category Folder
    │
    ā”œā”€ā”€ šŸ“ SciFi_Blaster/            # Asset Folder (Identified by 3D model presence)
    │   ā”œā”€ā”€ šŸ“„ .dragnprop_id         # Hidden unique UUID file (keeps DB references intact)
    │   ā”œā”€ā”€ šŸ“„ blaster_model.glb     # Primary 3D object file (.glb, .gltf, .obj, .fbx, .stl)
    │   │
    │   ā”œā”€ā”€ šŸ“ sheets/               # Auxiliary diagrams, blueprints, and orthographic references
    │   │   └── šŸ“„ blueprint.png
    │   │
    │   ā”œā”€ā”€ šŸ“ textures/             # Model textures and materials
    │   │   ā”œā”€ā”€ šŸ“„ base_color.png
    │   │   └── šŸ“„ normal.png
    │   │
    │   └── šŸ“ preview_images/       # Cached thumbnails generated automatically by DragNProp
    │       ā”œā”€ā”€ šŸ“„ manual_preview.webp
    │       └── šŸ“„ blaster_model.glb.thumb.webp
    │
    └── šŸ“ Melee/                    # Subcategory Folder

šŸ› ļø Installation & Building

Prerequisites

To run or build the application from source, make sure you have the following installed on your machine:

  • Node.js (v18+)
  • Rust & Cargo (v1.75+ for Tauri v2 dependencies)
  • C++ Build Tools (on Windows, standard MSVC toolchain via Visual Studio Build Tools)

Setup & Development

  1. Clone the repository:

    git clone https://github.com/yourusername/DragNProp.git
    cd DragNProp
    
  2. Install dependencies:

    npm install
    
  3. Run in developer mode:

    • Using the convenience batch file (Windows): Simply double-click run-dev.bat in the root folder.
    • Or run via terminal:
      npm run tauri dev
      

Production Build

To compile a highly optimized, production-ready desktop installer (.msi or .exe for Windows):

npm run tauri build

The compiled binaries will be output to: src-tauri/target/release/bundle/


🧱 Technologies Used

  • Frontend: Svelte 5 (SvelteKit), Vite, TypeScript, Vanilla CSS, Grid Layouts
  • 3D Viewer: @google/model-viewer (interactive WebGL component)
  • Backend: Rust, Tauri v2 (native OS windowing & custom shell integrations)
  • Database: SQLite via rusqlite
  • File Watching & Threading: notify (cross-platform directory monitoring), rayon (data parallelism for thumbnail processing), image (fast thumbnail resizing)

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Top categories

Loading Svelte Themes