- Don't use ids in components
- Ace editor, for code hightlight
- GunJs, for sharing games
- SSL certificates (https://letsencrypt.org/getting-started/) need hosting for this
- Backend on {DenoDeploy} and Frontend on {Vercel} all in a same repo
- Resoruces:
- are json
- a resource can be executed
- in a route like /play/:id
- '$' porperties for diferent events
- properties can be auto generated on the resourceCretator
- when a resource is executed it can be shared with other people
- the resource is distributed to everyone and then executed
- the device that shared the resource has the first turn(in the sense of executing first)
- to comunicate between the devices they use the shared resource(pushing changes to it and reading them)
- data can have special entries denoted by $
- entries begining with $ are reserved and can be auto generated by resourceCreator
- when a resource is executed it has acces to:
- Cache, (by default it saves everything it references recursively)
- On creation of a resource all its references are stored on $dependencies, in game that gets converted recursively into all depended resources and the references of those ones (bulk)
- Resource creator:
- must be easy to use (for non programmers) but let access to all the resource complexity (as in geometric dash level builder, not like portal's one)
- DinamicSlot component, this binding + slot props