hixie / cuddlyworld-ide Goto Github PK
View Code? Open in Web Editor NEWIDE for Cuddly World "debug make" command (https://software.hixie.ch/fun/cuddlyworld/)
IDE for Cuddly World "debug make" command (https://software.hixie.ch/fun/cuddlyworld/)
...since it doesn't actually include the Console, and will be used from outside the Catalog widget.
For example, statically generate identifiers when creating a node. Maybe if the given identifier is a valid one, we use that, but otherwise we use our automatically generated one? Or maybe we just remove our current concept of name/identifier entirely, and in the list we describe things by showing their type and name?
We should store the username/password, the list of currently made things/locations, and the currently selected thing, on disk when they change, so that when you reload the app it's restored.
We broke something recently whereby the Delete button is not actually taking out the Atom from the catalog when you delete it.
pubspec.yaml currently is still >=2.7.0 <3.0.0
which looks weird compared to the other tabs
Pressing enter in the text field should save the command to a history buffer.
Pressing up arrow in the text field should save the current command to the history buffer and replace the current text field contents with whatever the last submitted command was. Pressing up more should go further back in history. Down should go forward in history.
We should merge the dispositions, the editors, the catalog tabs, and anything else that distinguishes between them.
Take the tree:
X
Y
W
Z
which is rendered as
X
Y
Z
W
which is wrong
Clicking a blank chip should create an atom and add it there.
e.g. create room, create ground, drag ground (which is current), hold over the room entry for a second or so, it should make the room current.
...with confirmation dialog.
Or maybe we could just use the same "walk everything" logic we may need for actually clearing out slots that refer to deleted atoms, and just have those slots cleared.
The dispositions are normally used as the source of truth for the rendering. But with the TabDisposition, it's actually the other way around: we're trying to set the disposition to match the source of truth which is the TabController. The result is that when we change the controller, we update the disposition, which causes us to trigger an update on the widget, which is a loop.
We should decide what the source of truth is, and only send data in one direction.
One way to do that would be to put the controller itself into the disposition.
We should store the following things:
Might make sense to use the Restoration logic especially for the selected tab and scroll positions.
We need to figure out how to handle non-unique names when it comes to storing the selecting thing.
Trying to connect a landmark to a child of another room fails and I'm pretty sure we need to use "connect" to work around this.
I'd like to be able to do:
Console(
onLogin: () { ... }
)
...so that I can have it automatically switch to the Console tab.
Right now if you create an item, then reference it from another item, then delete the first item, the second item still references it.
It seems to stick to the bottom but when you first scroll it it is at the top?
e.g. TThing subclasses in a separate section than TLocation subclasses
e.g. switch to console tab, or show a dialog with the result
...and teleport you there.
...and there can be a Cart tab that shows what it's going to send to the server and a "Checkout" button to send it.
This is what the server can send back as a property type:
const // keywords used as property types in "debug describe TFoo" commands
// simple
ptString = 'string';
ptPileClass = 'class:TPileClass';
ptDoor = 'atom:TDoor';
ptDoorSide = 'atom:TDoorSide';
ptLocation = 'atom:TLocation';
ptThing = 'atom:TThing';
// special syntax
ptChild = 'child';
ptIngredients = 'ingredients';
ptLandmark = 'landmark';
ptPattern = 'pattern';
// enums
ptBoolean = 'enum:boolean';
ptDirection = 'enum:direction';
ptMass = 'enum:mass';
ptSize = 'enum:size';
ptThingPosition = 'enum:thingPosition';
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.