rhelmot / arborio Goto Github PK
View Code? Open in Web Editor NEWYet another Celeste level editor (written in rust)
License: zlib License
Yet another Celeste level editor (written in rust)
License: zlib License
The former has to do with AudioState missing a Music key. The latter can only be known by sacrificing a small satchel of baby teeth to the black well of the forgotten age.
We should implement undo/redo on a per-tab basis. This can be accomplished by writing an "invert event" method and queuing the inverse of each event as it is applied. Some events will need to be redesigned to use persistent identifiers.
"hey ya see all these entities I got selected here"
"yeah boss whadda ya want with them"
"I wanna see what attributes they all gots in common"
"Yeah here ya go boss they're all the same entity so this is real fuckin easy. some of those attributes all have the same value but some of them have differing values."
"fuckin fantastic. now change all of the color attributes to purple."
"on it boss."
thread 'main' panicked at 'index out of bounds: the len is 3876 but the index is 3876', src/editor_widget.rs:193:30
stack backtrace:
<6 internal calls>
6: arborio::editor_widget::EditorState::draw_room_complex
at ./src/editor_widget.rs:193:30
7: arborio::editor_widget::EditorWidget::draw::{{closure}}
at ./src/editor_widget.rs:96:29
<15 internal calls>
29: arborio::main
at ./src/main.rs:116:5
<1 internal call>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
We need a way to edit the app-global configuration, i.e. the AppConfig struct. Various pieces of it are scattered throughout, and those can stay, but we need a global settings manager.
It would be nice if entities could specify a z-order in their configuration files. Bonus points if this has the option of placing the entity above or below the foreground.
Gotta be able to say "This mod now has this dependency" and edit the everest.yaml accordingly
It would be really cool if when you pasted a bunch of items into the editor, they were automatically selected so you could a) see what you just pasted, and b) manipulate it easily.
If you shrink a room with resize and then undo the shrink, the operation will not be completely undone: there will be empty space in the tile geometry in the part that was shrunk.
This is an annoying limitation of the way the undo-redo system works - events are expected to produce exact inverses of themselves when applied. This can be worked around by adding a new event type which the room resize can invert itself into which holds both the inverted dimensions and also any data that got cropped out by the resize. I don't fully remember, but I suspect there may be some level-of-abstraction issues when trying to implement this.
They super duper suck right now. Make them actually useful.
Right now entities must show up in the palette before you can add them. In advanced mode, there should be the option to type in an entity name manually.
Presently it's a pain to add new entity nodes since there is only one button which adds the node with coordinates 0,0. There should be a shortcut, like alt-click-drag, to add a node and immediately be able to place it. There should also be a hint indicating that this shortcut exists.
Off the top of my head: within the selection tool and between the room tool and the selection tool, there's a tonnnnn of code duplicated with various tiny special cases sprinkled in related to managing selection, grabbing, movement, highlighting, resizing, etc. I genuinely fear touching these files. Help me
Any good editor saves periodic automatic backups and provides the opportunity to restore them on crash.
Right now the Arborio config module is necessarily embedded in the binary. It would be nice if it could be configured to load as a directory/filesystem module, so that hot reload would work on it and we we wouldn't have to reboot in order to do development on that config.
The celeste.rs crate supports parsing celeste's dialog text files. Not sure what kind of structure it gives you.
Proposed features:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.