User Tools

Site Tools


twine_2_wishlist

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
twine_2_wishlist [2014/10/17 13:30]
l
twine_2_wishlist [2017/10/10 00:39] (current)
Line 2: Line 2:
  
 //This is a private page for Leon to brainstorm the features he wants in Twine 2, then frown discontentedly at them.// //This is a private page for Leon to brainstorm the features he wants in Twine 2, then frown discontentedly at them.//
 +<​code>​
 +*(datadeck:​)
 +*Fix (replace:) inside { }
 +*A (goto:) that doesn'​t make a state object?
 +*(live:) diffing
 +*(rerun:) macro
 +*(mirror:) macro, or (live:​)+(print:​)?​
 +*add Infinity as a number
 +*allow curly quotes as string delimiters?
 +*(click-replace:​),​ (click-append:​),​ (click-reveal:​) etc.
 +*https://​raw.githubusercontent.com/​roysharon/​uninums/​master/​uninums.js
 +*$Story'​s fullscreen macro
 +*(when: $a becomes 2)
 +*(when: $a changes)
 +*(when: $a > 2 becomes $b > 2)
 +*(remap: (fn: input item, output item's 1st), $map)
 +*(fold: (fn: input (total, item), output total + (reversed:​item)))
 +*(cycling-link:​) isn't a link, nor explicable from basic primitives. It's an input.
 +*(set:​$a'​s -1th to 2) gives bad error
 +*Sort out how <​script>'​s behaviour in a passage works.
 +*Text alongside (goto:)
 +*(click:?​a,?​b,?​c)
 +*(filter: item -> item's destination is "​Ichorcave",​ ?Links)
 +* reverse the args of (count:) and make it spreadable
 +* position-x: parentx-15, etc.
 +* can't use positions with datamaps etc?
 +* bidirectional macro call (2,​4,​6,:​either)?​
 +* more t8ns
 +* replace colours with $colours?
 +* import: colours??
 +* colour complement macro: (complement:​ red + white)
 +* Range syntax for both numbers and gradients
 +* Textfile HTTP macros - import a text file as easily as an image.
 +* (if: $red is 2 or 3 or 4)
 +* (if: $red is 2 or $red is 3 or 4)
 +* (set: $a and $b to 2)
 +* (replace:?​dontexist)[] doesn'​t error
 +* Change colour of (color:"​red"​)[Wow] after rendering
 +* Add debug mode style denoting macro (not) connected to hook.
 +* Add debug (print:) button.
 +* (for-each:) ?
 +* (click-forever:​) ...
 +* Error for composing (click:) and (replace:)
 +*(subset: $a, 2, 4..7, )
  
-=====IDE===== +</code>
- +
-  * Syntax highlighting that is equivalent to Twine 1. +
-  * The passage editor'​s "​Silent Area" - a section separate from the main text of a passage, where macros can be run with impugnity. Works very well with the "​separation of text and control"​ that hooks afford - the notion of setting up hooks, then defining functionality to them. +
-  * Imported Images +
- +
-=====Game Engine (Harlowe)===== +
- +
-  * Some way of specifying **stretchtext** on a *per-link* basis. If a passage is a "​stretch",​ it appears below the last, instead of replacing and removing it. (This will be a Link Changer) +
-  * Imported Images +
- +
-=====Macro Syntax===== +
- +
-  * <del>​~~[[http:​//​i.imgur.com/​X9igCDs.png|Block syntax for macros]] - using multiple macros in a row without opening and closing symbols separating them.</​del>​ +
-  * Named parameters for macro parameters?​ +
-  * [[https://​twitter.com/​webbedspace/​status/​446158492273897472|'​s syntax]] - 's as a substitution for Javascript'​s dot syntax. "​Person'​s name" instead of "​Person.name"​. Math's random? +
-  * <​del>​[[http://​i.imgur.com/​Sz6TvQR.png|A sigil for passages]] - a way of passing passages around as easily as variables - <<​print>>​ing them akin to <<​display>>,​ eliminating the need for separate macros.</​del>​ +
-  * [[https://​twitter.com/​webbedspace/​status/​522336376616783873|Range syntax]]. +
-  * [[https://​twitter.com/​webbedspace/​status/​521201613856186368|"​input"​ keywords for macro passages]]. +
-  * Auto-currying:​ (takesTwoArgs:​ "​one"​) becomes a macro. (But how many multi-var macros are there?) +
-  * JS regex syntax? +
- +
-=====Macros===== +
- +
-  * colour complement macro: (complement:​ red + white) +
-  * Textfile HTTP macros - import a text file as easily as an image. +
-  * Something equivalent to <<​cyclinglink>>​ - [[http://​i.imgur.com/​MWt13Pd.png|a set of versions of hooks]]. +
-    * But what of the variable-setting?​ +
-  * [[http://​www.glorioustrainwrecks.com/​node/​5061|HTML5 Audio Macros]]: the ability to play MP3s. +
-  * [[http://​i.imgur.com/​Ny4llKD.png|<<​render>>​]] : "Style with Twine syntax instead of CSS". Use familiar Twine syntax to select types of elements, or hooks, //or pseudo-hooks//,​ then write the properties to use. Separate the [[https://​twitter.com/​webbedspace/​status/​446893957788618752|selectors from properties]]. Define styles per-passage,​ or for the whole story, based solely on which passage they'​re in. +
-     * CSS syntax can remain, of course, but as a '​fallback',​ much like complex JS is to basic macros currently. +
-     * "​Extend Twine syntax":​ define new basic styling syntax using <<​render>>​. Convert Twine'​s standard syntax to a "​standard library"​ rather than an engine built-in?? (Will require yet more Marked.js refactoring...) +
- +
-====="​Passage the Ultimate"​===== +
- +
-  * **Passage the Ultimate** is the lackadaisical philosophy that passages should be used for any complex data structure, simply because A) the passage data structure already exists and is familiar to Twiners, and B) an alternative necessitates needless complexity or needless intrusion of Javascript. +
-  * //Passage the Ultimate Template//: this already exists in Twine 1 in the form of the "​widget pattern"​ popularised by SugarCube, and canonised by Twine 1.4's [[display|shorthand <<​display>>​]] and [[function|parameter() function]]. Whether or not people are using it, though... +
-  * //Passage the Ultimate Array//: An immutable array of strings [[http://​i.imgur.com/​t7yu5yV.png|in the form of a passage.]] Obviously impractical for one-use datasets, but for multi-use data... +
-  * //Passage the Ultimate Documentation//:​ See [[annotation]]s in Twine 1. +
-  * //Passage the Ultimate Stylesheet//:​ a passage full of <<​render>>​ macros that get used for the whole story. Not a CSS alternative,​ but an accessible alternative. +
-  * //Passage the Ultimate Abstract Asset//: Twine 1 already regards images, stylesheets and scripts as passages. +
- +
- +
-=====Reflection===== +
- +
-  * <<​what'​s ?red>>: Some way of identifying what a thing has (for a hook, its cycle).+
twine_2_wishlist.txt · Last modified: 2017/10/10 00:39 (external edit)