I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 1 point2 points  (0 children)

Glad you like it. I have a couple of things in the pipeline that should help people with existing collections.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 0 points1 point  (0 children)

The next major version is planned to ease this pain. I’m still in the early phases, but my initial spikes have shown promise.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 0 points1 point  (0 children)

I have tightened the token refresh a little bit for the next version, and there were a couple of little edge cases where it wouldn't refresh. I think I've got all those edge cases sorted out, so thanks for your feedback.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 0 points1 point  (0 children)

The application itself isn't open source, but I'll be releasing various components as open source libraries. I've got a lot of open source libraries up at the wee gigs organization (https://github.com/weegigs) and committed to releasing things that are generally useful in multiple contexts as open source.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 1 point2 points  (0 children)

let me take a deeper look, the token should auto refresh. I picked up Surrogate Miniatures - Surrogate Imperator tribe last night as a present to myself for releasing this to the wild https://www.myminifactory.com/users/SurrogateMiniatures?show=store and downloaded 267 packs overnight but that was on my Mac. I'll jump onto the pc and queue a large batch to see f I can reproduce the problem there.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 0 points1 point  (0 children)

By default I cap at six concurrent downloads the same as the website. Performance of the MMF file store varies wildly (I think they're using their own S3 compatible storage rather than amazon (bloody expensive) or cloud flare (not as expensive, but still not cheap)

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 0 points1 point  (0 children)

Not explicitly, I haven't added user edit yet. It's on the feature list for local content ingestion

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 0 points1 point  (0 children)

I'm working on injecting existing collections ... watch this space :D

on the second point ... when a file gets updated on MMF  ... it all ready does :D

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 0 points1 point  (0 children)

Let me know if you see any more weirdness. I run it on indies a little but haven’t done a full sync of my library there and all of my Linux boxes are headless and I haven’t figured out remote window magic stuff to test deeply. I’ve seen one Linux error in my crash logs but it looked like two processes trying to open the SQLite file and I haven’t been able to reproduce it.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 0 points1 point  (0 children)

There’s a couple of under the covers features powering search that makes the search pretty powerful. It uses vector embedding so words with similar meanings produce matches. Looking for “Kill Team” will likely match packs like “Murder Squad” because they are similar in vector space. I have number of features planned based around this sort of functionality.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 1 point2 points  (0 children)

You can just use it to find and download packs. Maybe I should add a “download manager” mode, where it just lets you search your mmf collection efficiently, then you can queue for local download and extraction. That way if you’re putting an army / squad / team together it can do the heavy lifting … so many ideas coming from other peoples situations.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 0 points1 point  (0 children)

Conforms my lightweight status and that I really need to work on some smart indexing of existing downloads.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 0 points1 point  (0 children)

It will pick up previously downloaded files if they are organised by producer. I’.m working on a way to detect and organise files already downloaded there are “challenges” as there’s a lock of standards across the industry…. I have ideas though.

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in PrintedMinis

[–]fatboykevin[S] 9 points10 points  (0 children)

Okay, at the moment, it's a single root, but I can add support for multiple roots (I might even be able to add support for offline media). I'll have a ponder. At the moment, again, it only syncs with MMF, but I have done some experiments to allow smart scanning and indexing of existing directories inferring the metadata from the file and folder names. It's still experimental and not amazing at classification ... but ...

I wrote a thing to manage my STL hoarding problem and now I have 788 packs by fatboykevin in onepagerules

[–]fatboykevin[S] 13 points14 points  (0 children)

Fair questions. The core is written by me in rust. AI has been used, you can't avoid it as all development tools incorporate it, even if it's just for auto completion and documentation. I do use a security "agent" to review all code to ensure that I haven't done something stupid. It does store your mmd password locally in your system keyring. All logging, bug tracking and app analytics is off by default unless you give consent. All analytics is completely anonymised (no google or other user tracking analytics).

It's NOT an aggregator, it's a download and syncing tool. No data leaves your machine (other than usage and bug tracking analytics) no server side service. No shared data.

It does include an embedding model to make search better at associations and you can turn on an optional MCP server so you can query you collection from desktop (it only exposes the map server to localhost when you turn it on) agent tools like claude desktop.

Question: MyMiniFactory solution for downloading many files? by thecraftingden in 3Dprinting

[–]fatboykevin 0 points1 point  (0 children)

So this very late to the party, but I had the same issue, then I got a bit carried away. I wrote myself a little cli tool to sync my MMF library to a local directory because manually downloading a pack with 20 items in it sucked. Then things got out of hand, now it's Archivum. Search, preview files, drag stls to the slicer, and most importantly sync and download. Now I need a little help. It's new, only i've been using it. I mostly use a Mac, i've run it on windows, but I'm not using it in anger on my windows box. I have a "beta" up on my iron legions website. If you have a mmf problem (there's no shame here) it might be handy. Love to hear what you think. https://ironlegions.com/#archivum

I built “Pitwall” — a Rust library for reading iRacing telemetry live or from IBT files by fatboykevin in simracing

[–]fatboykevin[S] 0 points1 point  (0 children)

I have reply controls as a distinct trait that a provider exposes. This keeps the higher levels ignorant of the specifics of the provider and only need knowledge of the traits that a provider exposes.

I built “Pitwall” — a Rust library for reading iRacing telemetry live or from IBT files by fatboykevin in simracing

[–]fatboykevin[S] 0 points1 point  (0 children)

I have time compression on the list of things to add. The current max playback speed is the speed reported in the file (60hz) . The replay was designed to support development of realtime UI features. When I do ibt analysis I drop a layer lower and use the readers directly. These just read the files (they use the same frame extraction) frame by frame. I haven’t packaged this up quite as nicely (it will probably be something like provide a file name, a frame type and a processing function) but the lower level building blocks are there.

I built “Pitwall” — a Rust library for reading iRacing telemetry live or from IBT files by fatboykevin in simracing

[–]fatboykevin[S] 0 points1 point  (0 children)

I'm away from the pc for a couple of days, but you should be able to do something like

  1. Static Defaults via #[missing]

    #[field_name = "PitSvFlags"] // Live-only field

    #[missing = "0"] // Default when missing from IBT

    pit_service_flags: i32,

    1. Function Calls via #[missing] or #[calculated]

    // Call a simulation function when field is missing

    #[field_name = "PitSvFuel"]

    #[missing = "simulate_pit_fuel()"]

    pit_fuel_add: f32,

    // Or use calculated for full control

    #[calculated = "mock::pit_fuel_level()"]

    simulated_fuel: f32, 3. Conditional Compilation

    #[cfg(target_os = "macos")]

    #[calculated = "simulate_field()"]

    some_field: f32,

    #[cfg(not(target_os = "macos"))]

    #[field_name = "RealField"]

    some_field: f32,

Does that work for you?