@@ -13,38 +13,30 @@ X getContent() or getStringContent()?
1313X switch to CATEGORY instead of CATEGORICAL
1414X removed createXML() and createTable()... just use 'new' for these
1515
16- https://blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with
17-
1816_ draw() called again before finishing on OS X (retina issue)
1917_ https://github.com/processing/processing/issues/1709
2018
2119_ tint() with JAVA2D does not automatically refresh (with possible fix)
2220_ https://github.com/processing/processing/issues/1730
2321
24- table
25- X do we need getColumnType() inside TableRow?
26- X also inside Table
27- X also do we make the constants public?
28- X table writing twice when .csv is added
29- X https://github.com/processing/processing/issues/1734
30- _ checkOptions() is a mess.. need to use different options for load/save
31- _ rewrite it as necessary
32- _ function that will convert awful CSV to TSV.. or something else?
33- _ maybe to write binary instead? then read the binary file once it's ok?
34- _ if loading from a File object
35- _ (or PApplet is passed in and we can check online)
36- _ then check the (probable) size of the file before loading
37- _ implement binary tables
38- _ these might be partially set
39- _ add .gz as option for writing (and bz2?)
40- _ no column max/min functions since it needs to be per-datatype
41- _ better to use float mx = max(float(getColumn(3)));
42- _ but what to do with null entries?
43- _ need a method to reset the row/column indices after add/remove
44- _ or just make sure that it's covered for all cases
45- _ prefixes like # as comments? easy to remove?
46-
4722data
23+ X are we comfortable with setInt/Float/etc instead of just set(int, blah)
24+ X yes, better to have parity
25+ X too weird to have to explain why getXxx() needs types and set() doesn't
26+ X get/set with Java's 'Map' class?
27+ X really useful, but leaning toward not including it
28+ X or leave it in as an advanced feature?
29+ X createXxx() methods less important
30+ X XML.parse() - or new XML("<tag>") or new XML("tag")
31+ X api note: size() used in data classes
32+ X length() too confusing w/ array.length being built-in (when to use ()?)
33+ X size() a bit confusing with the p5 size command, but less problematic
34+ o also shorter than getCount() or getLength()
35+ o why not HashMap and ArrayList for JSON?
36+ o could enable loadHash() and loadArray() functions
37+ X because the types coming back out would always have to be cast
38+ o add loadDict() and loadList() for JSON?
39+ o Dict and List could be interfaces?
4840X "hash.toJSONObject()" or "new JSONObject(hash)"
4941X opted to use "new JSONObject" version, appears less awkward
5042o match? find? on StringList?
@@ -62,16 +54,26 @@ _ ok, so File, Reader, and InputStream (where needed)
6254_ setMissingXxxx() -> should this live in PApplet? be static?
6355_ cons: static stinks, diff tables might use diff values
6456_ will also need an iterator for the Dict class ala Map.Entry
65-
66- json
67- X getIntArray() for JSONArray
68- X misc bugs with last release
69- X https://github.com/processing/processing/issues/1660
70- X https://github.com/processing/processing/issues/1680
71- X Dan having trouble with JSON
72- X keys() vs keySet() in JSON..
73- X keys() doesn't iterate, keySet() introduces 'Set' type
74- X parseJSONObject(x) and parseJSONArray(x)
57+ _ using Iterable for rows(), keys(), etc
58+ _ generally more efficient for Table, but slower for FloatHash and IntHash
59+ _ could use an int array instead, but a bit hokey in places
60+ _ Iterable, Iterator, or [] returned for keys(), rows(), etc.
61+ _ list, dict, json, table are each more efficient at different things
62+ _ keys(), rows(), etc. should return something Iterable
63+ _ whether that means an array or an actual Iterator or even a Set
64+ _ that way we can do what's most efficient
65+ _ then we add keyIterator() and others to handle the other case (deletion)
66+ _ blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with
67+ _ means that JSON.keys() -> JSON.keyIterator(), JSON.keySet() -> JSON.keys()
68+ _ what should they all return?
69+ _ remove -> true/false based on whether it found something?
70+ _ remove all -> the number removed?
71+ _ List: remove(), append(), index(), etc all use values
72+ _ removeIndex(index) is the other
73+ _ otherwise remove() would be the only one that dealt with indices
74+ _ Dict will use remove(key), so using remove(index) as default
75+ _ and removeValue(value) is probably used less
76+ _ introduce remap() instead of map() (if not deprecate?)
7577
7678data / document
7779X no save/load for hash and list classes
@@ -87,6 +89,7 @@ o does double duty for incrementing/decrementing easily
8789o inc(), inc(amount), dec(), dec(amount)
8890X replace (especially for null and NaN)
8991X make note that these work, and are special cases
92+ o listAttributes() in XML is like array from keys() etc in our data classes
9093_ removeIndex() vs removeValue() vs remove()
9194_ remove() refers to an index (with array) or key (with hash)
9295_ more consistent with other APIs (Java)
@@ -95,6 +98,8 @@ _ should we not have remove() and removeIndex()
9598_ and instead always specify? removeKey(), removeIndex(), removeValue()?
9699_ would mean that hash would only have removeKey
97100_ downside: remove() takes whatever get() takes as arg
101+ _ with removeValue(), add removeValues() for all values that match?
102+ _ also support NaN here
98103_ need to sort out the final version of hash/dict/etc and their names
99104_ JSONObject.has(key) vs XML.hasAttribute(attr) vs HashMap.containsKey()
100105_ and how it should be handled with hash/dict
@@ -105,41 +110,43 @@ _ hasAttribute in XML, containsKey in java's Map, hasKey in JSON
105110_ hasChildren() is another precedent
106111o contains() is nice, but containsKey() is weird, often not 'containing'
107112X hasKey/hasValue is best; fewest changes and most descriptive
108-
109- _ add indent= as option for XML, JSON save
110113_ not doing print() methods, since alternatives are more descriptive
111114_ println(obj) and obj.write(System.out) are both better
112- _ using Iterable for rows(), keys(), etc
113- _ generally more efficient for Table, but slower for FloatHash and IntHash
114- _ could use an int array instead, but a bit hokey in places
115-
116- decide on TableODS, TableHTML
117-
118- Iterable, Iterator, or [] returned for keys(), rows(), etc.
119- list, dict, json, table are each more efficient at different things
120- keys(), rows(), etc. should return something Iterable
121- whether that means an array or an actual Iterator or even a Set
122- that way we can do what's most efficient
123- add nodes() (no) or children() to XML?
124- then we add keyIterator() and others to handle the other case (deletion)
125- means that JSON.keys() -> JSON.keyIterator(), JSON.keySet() -> JSON.keys()
126-
127- what should they all return?
128- remove -> true/false based on whether it found something?
129- remove all -> the number removed?
130115
131- with removeValue(), add removeValues() for all values that match?
132- also support NaN here
133-
134- listAttributes() in XML is like array from keys() etc in our data classes
135-
136- List: remove(), append(), index(), etc all use values
137- removeIndex(index) is the other
138- otherwise remove () would be the only one that dealt with indices
139- Dict will use remove(key), so using remove(index) as default
140- and removeValue(value) is probably used less
116+ json
117+ X getIntArray() for JSONArray
118+ X misc bugs with last release
119+ X https://github.com/processing/processing/issues/1660
120+ X https://github.com/processing/processing/issues/1680
121+ X Dan having trouble with JSON
122+ X keys() vs keySet() in JSON..
123+ X keys () doesn't iterate, keySet() introduces 'Set' type
124+ X parseJSONObject(x) and parseJSONArray(x)
125+ _ add indent= as option for JSON save
141126
142127table
128+ X do we need getColumnType() inside TableRow?
129+ X also inside Table
130+ X also do we make the constants public?
131+ X table writing twice when .csv is added
132+ X https://github.com/processing/processing/issues/1734
133+ _ checkOptions() is a mess.. need to use different options for load/save
134+ _ rewrite it as necessary
135+ _ function that will convert awful CSV to TSV.. or something else?
136+ _ maybe to write binary instead? then read the binary file once it's ok?
137+ _ if loading from a File object
138+ _ (or PApplet is passed in and we can check online)
139+ _ then check the (probable) size of the file before loading
140+ _ implement binary tables
141+ _ these might be partially set
142+ _ add .gz as option for writing (and bz2?)
143+ _ no column max/min functions since it needs to be per-datatype
144+ _ better to use float mx = max(float(getColumn(3)));
145+ _ but what to do with null entries?
146+ _ need a method to reset the row/column indices after add/remove
147+ _ or just make sure that it's covered for all cases
148+ _ prefixes like # as comments? easy to remove?
149+ _ decide on TableODS, TableHTML
143150_ add 'gz' as one of the loadXxx() options
144151_ helps .svgz case from being weird, also generally dealing w/ compressed data
145152_ naming for these (or whether to include hash)
@@ -169,28 +176,22 @@ _ CATEGORICAL -> CATEGORY? ORDINAL?
169176_ getInt() on categorial to return index?
170177_ getCategories() and getCategory() methods to query names?
171178
179+ xml
180+ o add nodes() (no) or children() to XML?
181+ X not necessary, getChildren() already exists
182+ _ add indent= as option for XML, JSON save
183+
172184andres
173185A lines not properly renderered in P3D when using ortographic projection
174186A https://github.com/processing/processing/issues/1661
175-
176- decisions on data
177- X are we comfortable with setInt/Float/etc instead of just set(int, blah)
178- X yes, better to have parity
179- X too weird to have to explain why getXxx() needs types and set() doesn't
180- X get/set with Java's 'Map' class?
181- X really useful, but leaning toward not including it
182- X or leave it in as an advanced feature?
183- X createXxx() methods less important
184- X XML.parse() - or new XML("<tag>") or new XML("tag")
185- X api note: size() used in data classes
186- X length() too confusing w/ array.length being built-in (when to use ()?)
187- X size() a bit confusing with the p5 size command, but less problematic
188- o also shorter than getCount() or getLength()
189- o why not HashMap and ArrayList for JSON?
190- o could enable loadHash() and loadArray() functions
191- X because the types coming back out would always have to be cast
192- o add loadDict() and loadList() for JSON?
193- o Dict and List could be interfaces?
187+ _ P2D/P3D sketches don't get focus until clicked
188+ _ also problem for Java2D when canvas is used?
189+ _ need to standardize canvas handling
190+ _ https://github.com/processing/processing/issues/1700
191+ _ warning message present
192+ _ Deleted 1 texture objects, 0 remaining
193+ _ shader syntax (Andres request)
194+ _ might also need a define inside the shader to control what type it is
194195
195196_ add mouse wheel support to 2.0 event system
196197_ https://github.com/processing/processing/issues/1461
@@ -213,19 +214,6 @@ _ decide on getAmount() and weirdness w/ clickCount
213214_ get mouseWheel() added to api ref
214215_ also added to keywords.txt
215216
216- andres
217- _ P2D/P3D sketches don't get focus until clicked
218- _ also problem for Java2D when canvas is used?
219- _ need to standardize canvas handling
220- _ https://github.com/processing/processing/issues/1700
221- _ warning message present
222- _ Deleted 1 texture objects, 0 remaining
223-
224- _ introduce remap() instead of map() (if not deprecate?)
225-
226- _ shader syntax (Andres request)
227- _ might also need a define inside the shader to control what type it is
228-
229217shape
230218_ major surgery to put loadShape() back into PApplet/PGraphics
231219_ then have the OpenGL or Java2D versions as cached objects
@@ -323,21 +311,19 @@ _ so that it could avoid quitting if the sketch hasn't been stopped
323311_ or if the sketch window is foremost
324312_ maybe a hack where a new menubar is added?
325313
326- _ splice() throws ClassCastException when used with objects like PVector
327- _ http://code.google.com/p/processing/issues/detail?id=1407
328-
329314api to be fixed/removed
330315_ remove PImage.delete() and friends from PImage, Movie, etc.
331316_ delete()/dispose() being used in the movie
332317_ buffer sink methods in movie
333318_ 'newFrame' is 'available', and ready() is part of that
334-
319+ _ splice() throws ClassCastException when used with objects like PVector
320+ _ http://code.google.com/p/processing/issues/detail?id=1407
321+ _ deprecate the older splice() etc API inside PApplet?
335322_ wrap exceptions with die() and warn() methods
336323_ this way, people can make use of exceptions if they would rather
337324_ or shut them off if they don't want to
338325_ also need to explain exception handling in general
339326_ http://code.google.com/p/processing/issues/detail?id=183
340-
341327_ bring PConstants back in line w/ previous 1.5 (can't renumber)
342328
343329docs (2.0)
0 commit comments