Here's my ideas on what could be added to the Magic Set Editor now that we have a way to build it. Obviously these don't necessarily have to happen in this exact order, so for example a bugfix could also land in 2.0.3, 2.1.1, 3.0.1, etc.
- fix off-by-one error when working with
card
in the Console tab (instead of using the card selected in the Cards tab, it uses the one below it)- there's a possibly related error where you can't get planeswalker cards as
card
, that should be fixed as well
- there's a possibly related error where you can't get planeswalker cards as
- fix
length
not working with maps - better RTL language support (see MightyD33r#5246's issues with making a Hebrew template)
- fix
substring("foo", begin: 3)
returningtrue
instead of""
- fix Cards tab card render not updating when styling data is changed
- allow empty map literal
[:]
(like in Swift) - give styles access to the flavor bar position (the position of the separator in a
combined_editor
field) - add a
type
built-in function that returns the type of its input as a string - allow access to the current date/time
- allow
to_image(card)
and passing cards as input tocrop
etc (this removes the need for an external DFC splitter tool) - add a function/operator to check whether a map has a field
- allow calling an export template from the command line (this is already in the
svn_history
branch) - allow searching the style list
- “shiny” (gradient) borders (for gold/silver/bronze) (these might be doable already, not sure)
- console history with arrow keys
- monospace font and syntax highlighting in console
- tooling for external IDEs (syntax highlighting, lints, jump-to-definition, etc.)
- tooltips on template list for long titles/subtitles
- allow “scale down to” on single-line text fields, to make “shrink type line” etc redundant
- option to sync text size on multiple fields, to make explicit planeswalker text size redundant
- possibly redundant with ability to locate the flavor bar?
- import scripts (equivalent to exporters, to replace MSG)
- don't require MSE reload after export template changes
- self-updater
- macOS and Linux builds
- allow rotating the image in the image importer
- support for bulleted lists (with proper indentation after soft line breaks)
- allow access to a card's styling data in scripts
- make
.mse3set
a directory file extension, allow reading.mse3set.zip
as well - use card names and proper file extensions for image files
- remove unused images
- suffix
.mse-{type}/{type}
file with.mse
file extension for editor support (syntax highlighting etc) - allow versioning packages
- notify when updates are available
- better dependency management (something similar to what Rust's Cargo.lock does maybe)
- allow upgrade paths including handling of new defaults (e.g. Ancestral generic mana, brown legendary Vehicle P/T)
- bundle a link to a default package repository with MSE, so that it works as a standalone
.exe
without a data folder
- rename “HTML” export menu item to something clearer like “other”
- allow space indentation in data files
- maybe: modernize the scripting language
- remove weak typing features in favor of better explicit type conversion tools
- document what on earth is going on with
\<
, remove/replace it if it's not useful - improve debugging and error handling
- allow importing MSE 2 code from MSE 3 code and vice versa, like with Rust editions
- drop the special case that allows
=
instead of:=
when unambiguous with==
due to precedence
- rework exporters to generate either a file or a directory, not both
- generate a lockfile to prevent simultaneous edits, e.g. when collaborating over Dropbox or Google Drive
- instead of saving a .bak file, persist edit history on disk (and add an option to export without edit history)
- maybe some way to visualize edit history
- give exporters access to edit history and allow revision options, to facilitate writing a changelog exporter
- real-time collaboration
- requires a server component where sets can be hosted
- login to tag edits with your username (could use the same accounts as a package repository, maybe just use Discord OAuth)
- edit locking on a per-card basis instead of per-set
- invisible field support (to replace card notes commands)
- link related cards so the link is displayed on both cards
- this is different from just implementing them as style options since they ignore the “options specific to this card” toggle and are always specific
- allow assigning card fields explicitly in styles, e.g.
card.name := "some other string"
Here are some of my ideas:
Relatively easy to add
Longer term