Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CardMaker 2 Wishlist (imagine a whole new app) #149

Open
nhmkdev opened this issue Apr 13, 2024 · 6 comments
Open

CardMaker 2 Wishlist (imagine a whole new app) #149

nhmkdev opened this issue Apr 13, 2024 · 6 comments
Assignees
Labels

Comments

@nhmkdev
Copy link
Owner

nhmkdev commented Apr 13, 2024

CardMaker 2 may happen one day... what would you like to see in it?

Not to worry... the current CardMaker is not pausing development/bugfixes. I am just contemplating the day when the code is super old and .NET 4.x isn't supported.

Wishlist

Technical wishlist

  • Avoid backward compatibility. This will allow for a lot more freedom. The XML format is a bit of a mess currently.
  • Plugin like functionality so it is easier to add new functionality
  • New translator language (and maybe one that follows some standards). Incept is a hack... a powerful collection of hacks... but a hack.

I'll append the list as I think of things. Please reply with any and all ideas/suggestions!

@fur94
Copy link

fur94 commented Apr 13, 2024

Had a project where I ended up duplicating and moving a lot of layers, and thought a group select, and drag and drop functions in the layout control window would have been helpful.

Have toyed with the idea of having hidden text cards (usually cyan letters behind red noise, and a red filter reveales the text), and thought a function to add small random fill on shapes could be useful.

A bevel option like outline (perhaps the top and left edges are light Grey, the bottom and right edges are dark).

@MarkVabulas
Copy link
Contributor

MarkVabulas commented Apr 14, 2024

Wishlist:

  • JSON instead of xml, if possible? I don't mind the xml sooo much really
  • C# still makes sense, as much as possible, but it's much less cross-platform than something like C++
  • Dear Imgui/Imgui.NET could be a great resource for cross-platform & declarative GUI which gives consistency across platforms and comes with very useful runtime visual debugging capabilities built-in
  • Shading language for composition of elements is necessary/required, to allow for more advanced techniques
    -- GLSL is the most cross-platform and easy to do at runtime
    -- This can give outlines to fonts, special effects like glow, easily
    -- Advanced blending and gradients are simple
    -- Procedural generation of patterns/noise is trivial
  • I second the concept of a new translation language, but what incept does is immensely powerful (it's Turing Complete!)
    -- Maybe something more like inline Lua bindings, where a field can be raw or Lua
  • Possibly in-software spreadsheet editing (for simpler tasks, not for full-fledged design from the ground up)
  • Realtime tracking of local-file (think excel) spreadsheet modification time to auto-update cards
  • SubLayout design from the beginning
  • In-GUI lookups for values, so the X value of an element could be (the equivalent of ) @[XPosition] instead of just a
    number
    -- This would allow for easily aligning different items into grids, for example
    -- This could remove the need for field overrides, which I think are a huge headache and are best solve with lookups and inline-scripting
  • Taking the above a step further, having a set of pre-defined fields is great, but having custom-fields makes a whole lot of sense, so you just have elements and their key/value pairs, each of which gets interpreted, and then composited using the shaders, with the values passed in to assist with things like color/placement/etc. So the x/y coordinates wouldn't be inherent or required, but would be desirable. Fonts would be rendered similarly
  • Alternatively to the current scripting/fonts, maybe incorporating LaTeX as the font rasterizer and flow control?

@mbancha
Copy link

mbancha commented Apr 15, 2024

I don't know if this could easily be implemented in the current CM, but it feels like a bigger thing.

Auto-duplex printing will (at least on my printer) print the first page as the front, and the second page as the back. It would be great to be able to export in this format by, for example, defining a layout as the back of another layout, and giving the option to export layout A with layout B as the back.

@mbancha
Copy link

mbancha commented May 8, 2024

Oh one thing I would LOVE to see is a feature Component Studio has: dynamic element sizing and positioning. Dynamic sizing would be allowing the text to determine the element's height or width bound if the other was set. It could also be determined in either direction, so if your text element has text aligned to the bottom and has dynamic height toggled on and a set font size, the more text there is the more height the element will have, but the text will still be anchored to the bottom of the element. (I'm not sure if dynamic width would be as useful, but it work essentially the same way, except there would obviously only ever be one line of text).

Now, of course this doesn't sound all that useful, but it becomes very useful when you add in the ability for elements to base their size and position on other elements. For example, this graphic element will always have a y value equal to the bottom bound of that text element --which has a dynamic height-- so the graphic will always show beneath the text.

Additionally, you could set an element's bounds to the bounds of another element, allowing a graphic for a text box to always appear behind a dynamic heigh text element.

You can see an example of this in the documentation for position and size here https://help.component.studio/article/535-text-layer

@salmelo
Copy link
Contributor

salmelo commented Oct 12, 2024

An option to edit references directly in the program would be handy.

In particular the one thing I really miss transitioning from Magic Set Editor to CardMaker is adding art to cards. In MSE you can pick any old image file to add to the card and it'll bring up a little window where you can designate how to crop and resize it to fit in the spot on the card. Something I'm currently doing manually in GIMP, which is a little bit overkill for the goal.

@etheric42
Copy link

etheric42 commented Nov 17, 2024

Tabletop simulator or related integration, so you can export a file to load directly into TTS (see Dextrous)
Edit: and markdown support instead of / in addition to using html tags

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants