katateochi

[1.3.x-1.7.x] Craft Manager - search, sort, tag & share your craft

Recommended Posts

Craft Manager
A replacement for the stock Craft List with Search, Sort & Tagging with (optional) KerbalX.com Integration

Download Craft Manager
Click the link and select your KSP version and KerbalX will give you the relevant download links.
Craft Manager requires that KXAPI is also installed (clicking the above link will provide a link for that too)

Craft Manager is available through CKAN (the recommended way to install)

Docs | KSP Support: [1.3.x, 1.4.x, 1.5.x, 1.6.x, 1.7.x]
Source | Bug Reporting | Licence: CC BY-NC-ND 4.0


Craft Manager replaces the stock craft list in the editors (SPH/VAB) and adds some much needed features.  Craft Manager lets you search for craft by name, you can sort the list of craft by various craft attributes and you can assign tags to craft so you can organize them into groups.  Craft Manager also is designed to open much faster than the stock craft list, even when you have silly numbers of craft.  And of course, you can also upload your craft to KerbalX, download other craft....all from the same interface.

Craft Manager provides the same features as the KerbalX mod for posting your craft on KerbalX, BUT KerbalX integration is optional (and disabled by default), so you don't have to be a KerbalX user to use the core features.
KXAPI (KerbalX API) is now a required dependency for Craft Manager.  KXAPI handles all interactions with KerbalX.com.  You need to have it installed, even if you're not using Craft Manager to connect to KerbalX, this is simply because I don't yet know how to code an optional dependency! Once I figure that out you won't need to install KXAPI if you don't want the KerbalX integration features of Craft Manager.

see full details on https://kerbalx.com/CraftManager

 

Full Size Mode Compact Mode
T2eLnqU.jpg 6kFz2zY.jpg

 

You can search for craft, order the craft list and view craft from all your saves in the same KSP install.  You can move/copy craft between saves and transfer craft between SPH/VAB and subassemblies.  You subassemblies are given equal status and can be searched, sorted and loaded just like any other craft, you can also load a subassembly as a regular craft, or load a regular craft as a subassembly. 

Clicking on a craft will bring up more info about it in the right hand panel, double clicking will load it and right clicking will open a context menu of various actions.

ApxvUYw.jpg     Lv5zE8A.jpg     SaNbRxM.jpg

 

Tags
Tag your craft to organise them into custom groups and combine tags to filter craft.  For example; tag all your landers as 'Landers' and tag them according to which body they're designed for ie Mun, Duna, etc.  Now you can select Landers & Duna and just have your Duna Landers listed.  You can also exclude tags (right click on a tag and select exclude) which will hide that tag's craft from the list.
There are regular tags (green) which you can manually assign to craft, and there are auto-tags (yellow) which are a bit more cunning!
8SJWiHv.jpg
Auto-tags
Auto-tags can be given a rule ie, "crew-capacity > 5" and any craft which match that rule will have that tag automatically added to it.  In the pics below the autotag with the rule "name start_with 'ct'" matches all my CT-Series craft, and then I can further filter them by selecting another tag ie LKO
vFpB5f0.jpg41TVLLC.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edited by katateochi

Share this post


Link to post
Share on other sites

Yes, this looks awesome!  ...will be trying it out this weekend, for sure! 

Have loooooooong needed a directory structure for organizing craft in the SPH/VAB.

Edited by XLjedi

Share this post


Link to post
Share on other sites
28 minutes ago, XLjedi said:

Yes, this looks awesome!  ...will be trying it out this weekend, for sure! 

Have loooooooong needed a directory structure for organizing craft in the SHP/VAB.

I hope the tag based system does the job. It's not a directory structure in the classical sense, but the flat approach of adding tags to craft and then filtering by the tags.  I think tags are more powerful than a file/folder setup as you can be more flexible, ie; with folders you could have 'landers' with a sub folder of say 'duna' and you could have 'bases' also with planet sub folders, but you can't easily see all your 'duna' craft. with tags you'd tag all landers as landers, all bases as bases and also tag them with planets they're rated for.  Then you can click 'Duna' and see all your duna rated craft, click landers and see all your landers, and if you select both landers and duna then it filters it to just your duna landers.

Share this post


Link to post
Share on other sites
7 minutes ago, katateochi said:

I hope the tag based system does the job. It's not a directory structure in the classical sense, but the flat approach of adding tags to craft and then filtering by the tags.  I think tags are more powerful than a file/folder setup as you can be more flexible, ie; with folders you could have 'landers' with a sub folder of say 'duna' and you could have 'bases' also with planet sub folders, but you can't easily see all your 'duna' craft. with tags you'd tag all landers as landers, all bases as bases and also tag them with planets they're rated for.  Then you can click 'Duna' and see all your duna rated craft, click landers and see all your landers, and if you select both landers and duna then it filters it to just your duna landers.

So it's a keyword/tag with filtering then?  ...think I'm fine with that too.  Agreed, probably more powerful.

One thing I wish the game had was the ability to store all the craft in a master directory and then be able to filter designs based on tech tree nodes.  Then I could call upon my fleet of designs for each mission/career as may be required.

 

Share this post


Link to post
Share on other sites

Great job @katateochi!!!

This is going in my save this weekend. Thank you for doing this. I think this will quickly become a popular one of those "I didn't know I needed this" mods. Though some of us desperately knew

Share this post


Link to post
Share on other sites
26 minutes ago, XLjedi said:

One thing I wish the game had was the ability to store all the craft in a master directory and then be able to filter designs based on tech tree nodes.  Then I could call upon my fleet of designs for each mission/career as may be required.

yeah that would be nice. It would cut down on duplicate versions of craft and then wondering which was most up-to-date.  I guess you can put your craft in the Ships folder in the root of your KSP install, but I never like doing that as that seems a place reserved for the default craft (and Craft Manager treats those craft slightly differently and lets you show/hide them).  You can sorta get what you want with Craft Manager as you can load craft from any save in the current KSP install (and I plan to expand that to cover multiple KSP installs).  So you could put your fleet craft into one 'storage' save and then in another save you can view and load the craft from that storage save, but it doesn't have the functionality of filtering by locked/unlocked tech nodes....I wonder how tricky that would be to add....

1 hour ago, Barzon Kerman said:

Looks great!

20 minutes ago, akron said:

Great job @katateochi!!!

This is going in my save this weekend. Thank you for doing this. I think this will quickly become a popular one of those "I didn't know I needed this" mods. Though some of us desperately knew

Thanks guys! Give me a shout if you run into any issues/bugs. 
I know of one annoying issue if you are playing 1.4.x on Linux; mouse wheel scrolling of lists is horrible! Scroll is inverted and slow and does other weird things, but I think it's an issue with Unity, not sure though still trying to find out.

 

Share this post


Link to post
Share on other sites

@katateochi  Yeah, the only issue with that (stock) directory is it ends up resulting in duplicates of every craft... If for instance you might want to change a loadout, not to mention the (Stock) tag.

But HEY, let's not get too far ahead of ourselves here.  Looks like you have a great tool for us to play with this weekend!

Share this post


Link to post
Share on other sites
6 hours ago, XLjedi said:

@katateochi  Yeah, the only issue with that (stock) directory is it ends up resulting in duplicates of every craft... If for instance you might want to change a loadout, not to mention the (Stock) tag.

But HEY, let's not get too far ahead of ourselves here.  Looks like you have a great tool for us to play with this weekend!

Quite so. With the advent of the massive KerbalX (the site) archive, and the amazing stuff I find there, moving any/all of them *into* my saved games is absurd. I've taken to creating a separate stash to serve as a "stock" library not only for my own, but also downloaded craft (yours, included @XLjedi), that I simply overwrite with any updates on KerbalX.

In career games, I like keeping the "current" save only populated with the actual craft I've built/flown, using the stock folders or other saves as a sort of blueprint database. Are tags stored per-save, or somehow tied to the craft themselves? I.e. do we need to set up tagging in every new game, or could they conceivably come pre-tagged from KerbalX?

Being able to set up/load from (and save back to?) a defined custom directory (in my case, a google drive folder) would be a complete win. Add in features of craft history and this would be the Killer App.

 

Edited by Beetlecat

Share this post


Link to post
Share on other sites
29 minutes ago, Beetlecat said:

In career games, I like keeping the "current" save only populated with the actual craft I've built/flown, using the stock folders or other saves as a sort of blueprint database. Are tags stored per-save, or somehow tied to the craft themselves? I.e. do we need to set up tagging in every new game, or could they conceivably come pre-tagged from KerbalX?

The tags are per save, you'll find a craft.tags file in each save folder. My thinking was that I didn't want to do anything that would modify craft files and if I shared one of my tagged craft with someone they might not want the tags I'd assigned to it. The downside is a new save would need its own tags setup, but you can just copy the craft.tags file from one save into another.  
I could add in an option to inherit the tags from a KerbalX craft as you download it. (it already works the other way round in that as you post a craft to KerbalX it will populate the field for tags with whatever local tags it has).  

 

42 minutes ago, Beetlecat said:

Being able to set up/load from (and save back to?) a defined custom directory (in my case, a google drive folder) would be a complete win. Add in features of craft history and this would be the Killer App.

Craft history is something that I very much want to add to this. But I'm not quite sure how to go about doing it.  The dirty solution is just make copies of craft files at different versions and stuff them in a version control folder. But...that's horrible. What I really want to do is re-visit the very first KSP tool I made (Jebretary, which kinda accidentally led me to make KerbalX), and provide git based version control (without the user needing to understand anything about git).  The complication with that is either requiring the user to separately install git, or find some way of having git as a standalone library. I'd also have to figure out how to control git from c# which I've no idea about doing (Jebretary was written in Ruby and doing that was simple). So yeah....it's being mulled over at present (any suggestions welcome!).

But before I bring in version control one of the next major features I want to add is being able to access saves in multiple KSP installs.  Craft Manager already lets you switch between craft in different saves in the current KSP install, so it is basically just a matter of adding another set of paths to track.  There might be a slight grey area in mod rules, in that mods are not supposed to interact with the file system outside of a KSP install....but if it's very clear that you can optionally add a path to another KSP install then it should be ok. 
So with that you could have your master craft folder outside of KSP and point CM at it so you can easily import/export craft to it.

 

Share this post


Link to post
Share on other sites
3 hours ago, katateochi said:

Craft history is something that I very much want to add to this. But I'm not quite sure how to go about doing it.  The dirty solution is just make copies of craft files at different versions and stuff them in a version control folder. But...that's horrible. What I really want to do is re-visit the very first KSP tool I made (Jebretary, which kinda accidentally led me to make KerbalX), and provide git based version control (without the user needing to understand anything about git).  The complication with that is either requiring the user to separately install git, or find some way of having git as a standalone library. I'd also have to figure out how to control git from c# which I've no idea about doing (Jebretary was written in Ruby and doing that was simple). So yeah....it's being mulled over at present (any suggestions welcome!).

But before I bring in version control one of the next major features I want to add is being able to access saves in multiple KSP installs.  Craft Manager already lets you switch between craft in different saves in the current KSP install, so it is basically just a matter of adding another set of paths to track.  There might be a slight grey area in mod rules, in that mods are not supposed to interact with the file system outside of a KSP install....but if it's very clear that you can optionally add a path to another KSP install then it should be ok. 
So with that you could have your master craft folder outside of KSP and point CM at it so you can easily import/export craft to it.

I totally remember (and loved) Jebretary! Apart from the rather gadgety setup, it worked like a champ in the background and kept track of what it needed to.

Craft History itself does it with the cascading (datestamped) copies of craft files stashed in a per-craft subdir. I agree it may not be the "best" way, but it works like it needs to, and provides me with plenty of rewinding opportunity.

I still use Craft Import to drag-in craft from other saves or other locations entirely. It may be a grey area, but it's not without precedent: ;)

 

Edited by Beetlecat

Share this post


Link to post
Share on other sites

This looks awesome! Trying it right now.

Hey katateochi, post two more times at you'll be at 3,000 posts! :o

Share this post


Link to post
Share on other sites

Looks great!

I was just looking for a way to regenerate craft thumbnails because, annoyingly, every KSP update makes the thumbnails vanish from the stock craft screen until I reload every one of them once.

Then I found KSP Craft Organizer, and now, this (when browsing CKAN for the former).

Having not installed either one yet (just yet), a question arises: how do they compare? Looking at available / presented functionality, both seem to have the same stuff, but this already looks nicer. And it's also a brand new mod out of the oven (I'm hoping this is a good thing :P )

Anyway, gonna install it and see. Kudos for just publishing a mod I needed, but didn't know I did! lol

Share this post


Link to post
Share on other sites
1 hour ago, 81ninja said:

Having not installed either one yet (just yet), a question arises: how do they compare?

well....I'm going to be somewhat biased, but....
3 key features that Craft Manager has that Craft Organizer doesn't;
craft data caching - Craft Manager caches data about each craft so it doesn't have to re-read each craft file each time you open it, it only reads craft files that have changed. That's the bit behind its fast loading.
auto-tags - CM has tags that can be given a rule and will automatically tag any craft that matches that rule.
KerbalX Integration - CM lets you post your craft to KerbalX.com and download craft.
(and as a bonus, new feature that's coming out v soon; if you have a craft with missing parts, Craft Manager will use KerbalX to try and work out which mods you are missing).

I would argue CMs interface is nicer, but that's definitely biased!

2 hours ago, 81ninja said:

And it's also a brand new mod out of the oven (I'm hoping this is a good thing :P )

well....it means it's being very actively maintained. but it's also more likely to have a few glitches that need ironing out.....speaking of which, new patch release coming v soon with a bug fix and a new feature.

 

4 hours ago, doggonemess said:

Hey katateochi, post two more times at you'll be at 3,000 posts! :o

Now i'm afraid to post anything....wait...dang, just used one, better make the next one count!
 

Share this post


Link to post
Share on other sites

Update!!
versions 1.0.2 (for KSP 1.3.x) and 1.1.2 (for KSP 1.4.x) are available. 
A bug fix for issue#3
And a new feature....I was in the process of moving my modded 1.3.1 save to 1.4.3 and trying to reduce the number of mods, so I've got a bunch of craft with "missing parts", but i'm not sure which mods they need. And I'm far too lazy to type each part name into the KX part search so.....
Now when you try to load a craft with missing parts Craft Manager will give you a 'it's got missing parts' message, and in that there's the option to use KerbalX to do a mod lookup.  That uses KerbalX's part-mod database to lookup the missing parts and produce a list of which mods are needed for that craft.

also....Yay! 3000th post! ;)

Share this post


Link to post
Share on other sites

Something I always wanted was a way to enable crafts with missing parts to load by removing those parts from the craft file. Is it possible?
I was able to do it manually before, but an automated way can be very handy... :P  

Share this post


Link to post
Share on other sites

 

4 hours ago, katateochi said:

it doesn't have to re-read each craft file each time you open it, it only reads craft files that have changed. 

That's the second thing I hate in the stock system! The load times... Actually I think it's the one I hate the most, since I have hundreds of craft all in a folder - opening the stock window is / was a pain.

Auto tags are nice, I'm definitely going to use it! 

Speaking of interface, yes it looks nice but I think there are 2 points that could be improved:

1) Window resizing (bigger window! Autobots, maximize!!) and

2) Larger thumbnails, if possible - most info about a craft is in the name, tags and description, but a picture is worth a thousand words ;)

Minor thing: the mod updates the file modification time when a craft is just renamed from the interface, but otherwise unmodified - I expected it not to.

I liked that it shows me the dry / wet weights too, I used to have to write those on the description for payload stages and of course they were always outdated :P

 

Share this post


Link to post
Share on other sites
14 hours ago, luizopiloto said:

Something I always wanted was a way to enable crafts with missing parts to load by removing those parts from the craft file. Is it possible?
I was able to do it manually before, but an automated way can be very handy... :P  

That seems like it could be really simple in some cases and horribly awkward in others! What was your approach if you have a missing part that has other parts attached to it? Do you remove that whole branch from the missing part onwards, or did you try and change what the other parts are attached to, essentially moving them up a part?
That's not something I'd planned for this mod, but it can go in the "might have" pile.

 

11 hours ago, 81ninja said:

1) Window resizing (bigger window! Autobots, maximize!!) 

I'm aware that on lower resolution displays the window is bit small and I was planning to tweak how much screen space it used when on particularly small displays. What res do you run at?
Having the window user resizable will be tricky, because the interface layout is quite complex.

11 hours ago, 81ninja said:

Larger thumbnails, if possible

I'll see if I can make them a bit bigger without increasing the size of each craft element. The images are only 256x256 so they start looking a bit crummy at larger sizes but I'll see how it looks.

12 hours ago, 81ninja said:

Minor thing: the mod updates the file modification time when a craft is just renamed from the interface, but otherwise unmodified - I expected it not to.

The only datetime values available are the file time stamps and when a craft is renamed it has to change both the file name and the name value in the file, so as the file is edited those timestamps get changed. I'd either have to have some separate record to track datetime values (which seems like a clunky solution) or actually mess around with the file's timestamp data (which feels like a hacky solution). So that is going to stay as it is.

14 hours ago, 81ninja said:

That's the second thing I hate in the stock system! The load times... Actually I think it's the one I hate the most, since I have hundreds of craft all in a folder - opening the stock window is / was a pain.

It was the slow load time that prompted me to start this.  I'm still not 100% satisfied with how it is, I reckon I can optimize things further and reduce the load time some more.  

Share this post


Link to post
Share on other sites

 

40 minutes ago, katateochi said:

What res do you run at?

I run at 1920x1080, UI scale at 120%.

Does the mod use the UI scaling for anything? Looking at it I think some text is bigger than it would, for example the Load and Close buttons I find are rather large, compared to the vessel name in the VAB for example. 

When I rename a file in Windows, it doesn't touch the timestamp. I see that to fully rename I craft you have to edit it, so I think I'll go about renaming them manually.

However, I just found a small bug related to that. The mod doesn't allow me to use characters that would be invalid in filenames (e.g. '/', '|') in ship names, where KSP does (and I do use those).

Also, the mod shows the file name in bigger print, and the craft name in brackets (instead of the opposite) when the names don't match,. As is the case with renamed files, and already existing craft with invalid characters in their names. It's useful to have both (helps with the renaming / version tracking) but I don't care much for the filenames, I'd rather read and search by the craft name instead. 

Keep up the good work! :)

 

Share this post


Link to post
Share on other sites

I've been using this for a few days now, and it's so good. This is how the craft menu should be. Bravo!

Share this post


Link to post
Share on other sites

First super awesome mod. What like most is the interface. Also it loads my 300+ craft list really fast.

My personal wishlist

  1. Apply same tag to multiple craft at same time from the main window (Ex. I download 10 craft from Kerbalx and I want tag them KerbalX)
  2. Categories
    Ex. how I would use it
    DUNA 
    Landers
    Stations
    KERBIN
    Airplanes
    Stations
  3. Easy way apply tags to the craft you are working on. So you can just add tag save the craft and quit the game and do something else. Suggestion maybe just a key command for a small dialog to apply tags to craft you currently actively is working on.

But really love it, it is easy to read and navigate. Also really improvement in load speed for me.

Share this post


Link to post
Share on other sites

This is interesting: I installed the CraftManager correctly, fire up KSP and when trying to load a craft on SPH all I got was an empty dialog box with something wrote on the top left - but cropped, so I could not read it.

Then I deleted the plugin, decided to install another unrelated one and fire up KSP again. No issues.

Then I decided it would be nice to try again and provide an error report, so I installed it again. But this time, the thing worked fine. :-)

I'm guessing that it could be an issue with a dirty cache from Module Manager. If by some reason this plug-in appears not to work for you, delete the files called "ModuleManager.<something>" (but please leave ModuleManager.<version>.dll" there!) and try again.

It's my only guess for an explanation why this plugin failed at first attempt - by some reason, the mod I installed after it triggered a ModuleManager rebuild, while the plugin alone didn't.

Share this post


Link to post
Share on other sites
On 5/5/2018 at 7:02 PM, katateochi said:

That seems like it could be really simple in some cases and horribly awkward in others! What was your approach if you have a missing part that has other parts attached to it? Do you remove that whole branch from the missing part onwards, or did you try and change what the other parts are attached to, essentially moving them up a part?
That's not something I'd planned for this mod, but it can go in the "might have" pile.

I simply substitute the part by a stock structural girder or some other dummy part... The only problem is if the part to be replaced have multiple nodes and parts attached to it... I never had to deal with this kind of problem, but I think it's possible to change it from node to radial attachment.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.