Skip to content

Commit 727bda8

Browse files
committed
cleaning up the todo list for data items
1 parent d4f85e1 commit 727bda8

1 file changed

Lines changed: 88 additions & 102 deletions

File tree

core/todo.txt

Lines changed: 88 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -13,38 +13,30 @@ X getContent() or getStringContent()?
1313
X switch to CATEGORY instead of CATEGORICAL
1414
X 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-
4722
data
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?
4840
X "hash.toJSONObject()" or "new JSONObject(hash)"
4941
X opted to use "new JSONObject" version, appears less awkward
5042
o 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

7678
data / document
7779
X no save/load for hash and list classes
@@ -87,6 +89,7 @@ o does double duty for incrementing/decrementing easily
8789
o inc(), inc(amount), dec(), dec(amount)
8890
X replace (especially for null and NaN)
8991
X 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
106111
o contains() is nice, but containsKey() is weird, often not 'containing'
107112
X 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

142127
table
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+
172184
andres
173185
A lines not properly renderered in P3D when using ortographic projection
174186
A 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-
229217
shape
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-
329314
api 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

343329
docs (2.0)

0 commit comments

Comments
 (0)