-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevelopmentnotes.txt
executable file
·221 lines (145 loc) · 8.31 KB
/
developmentnotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
ok, been thinking about this. i think the super-simple implementation is the way to go for v 1.0 of this thing. no cloud, just all done in the app. so it would work like this.
read in a tinderbox doc
read in an aeon doc.
press aeon to tinderbox button.
tasc creates aeon container, and adornments to gather events, relationships, tags, entities, arcs, in the tinderbox elements in memory in tasc.
(or uses them if they are already there)
for right now, no modifying. the aeon container is cleared everytime you update it from aeon, and the events in aeon are cleared everytime aeon is updated from tinderbox. it will change and get better, but first pass just do this.
events etc get turned into notes in tinderbox. have to think about how to arrange them. notes in the aeon container get turned into aeon events.
there will be a mapping table somewhere.
a tinderbox to aeon button will work the opposite way.
for right now, no turning tbx timelines into aeon timelines. i will get to that later if there's a need for it, but I expect most timelines in tbx are small enough that people can just reenter the data.
absolutely no writing over original documents. new document creation only. documents read in are immutable, and creates a mutable document until such time as it's written out.
keep it very simple. i want to start using this for my book asap. save the programming heroics for later.
If Aeon Event doesn't exist in Tinderbox doc (a search of all notes. does aeon id exist. if yes, id=id?)
create a new Tinderbox note, with type 'new aeon event' for gathering by smart adornment.
If Aeon Event does exist in Tinderbox doc
update all of its Aeon information, but none of its Tinderbox information, such as xpos, ypos, links
do update its name, which = the name of the event
also, don't update tinderbox's timeline information. this is not intended to turn an aeon timeline doc into a tinderbox timeline. it's intended to bring aeon timeline events into tinderbox to let you treat them as notes and make other relationships with them. i am deliberately relegating all timeline functions to aeon. in my opinion, attempting this would just confuse the clean line I am trying to draw.
if a Tinderbox note with Aeon id exists that does not exist in Aeon Timeline doc,
then that note was deleted in the Aeon Timeline doc and should be deleted from Tinderbox
IF a switch is set. Default behavior should be, don't delete it.
okay, just made a decision to make all the Aeon imported data non-editable. The idea is to protect the user from himself, and creating a 'ruined' note accidentally. in order to change an aeon timeline event, you have to go into aeontimeline and change it, then reimport it. the big exception is the note title/event name of course, and the notes, which will get squirted back into aeon description attribute, at such time as I write code to send tinderbox to aeon, which won't be right away.
so the main purpose of the aeon attributes will be to match notes. I could get away with importing a lot less data, true, but this is building against the future. I don't know what it will occur to me to do with the data later.
does it make sense to write the aeon date into the tinderbox date? i'd rather not, and keep the separation there clean. but i can see an argument the other way. Here's a thought. What about writing the aeon date into caption, and maybe writing something else into the subtitle? The arc, perhaps. or maybe write arc and entities into the body of the note.
of course, you'll be able to edit all the tinderbox attributes at will.
bring in arcs and entities
then slicing and dicing
add prototypes
add containers DONE
add key attributes DONE
get spacing right
get user id, creator, create dates right DONE
write it out to disk DONE
add lists for relationships and tags
set it not to write over existing notes
set it to update existing notes, aeon information
think about what to update in tbx from the aeon note. dates? span = intervals?
make sure the description in aeon gets into the text note in tinderbox
add file menu
save the doc DONE
clean up this messy code DONE
http://www.hackingwithswift.com/new-syntax-swift-2-error-handling-try-catch
http://stackoverflow.com/questions/24010569/error-handling-in-swift-language
parse aeon timeline dt into day month year
extension NSDate {
var formatted: String {
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z"
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
formatter.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierISO8601)!
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
return formatter.stringFromDate(self)
}
}
NSDate().formatted // "2015-01-19T01:22:18.964Z"
http://stackoverflow.com/questions/28016578/swift-how-to-create-a-date-time-stamp-and-format-as-iso-8601-rfc-3339-utc-tim
get date time components
http://stackoverflow.com/questions/24070450/how-to-get-the-current-timeand-hour-as-datetime-swift
var todaysDate:NSDate = NSDate()
var dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy HH:mm"
var DateInFormat:String = dateFormatter.stringFromDate()
.tbx file type on save dialog by default
for calculating highest id, do you go through ALL containers YES I DO, IN parse() method
to do
update value!!
backup container for arc and entity
case of new aeon events in existing aeon doc, added
so it hs to both modify existing notes and add new ones
write out arc and entity notes into reference note
1 cerate new from base and w, save as r1
2 look at text fields
3 modify text in w, save
4 create new from r1 and w
5 look at text fields
that looks good
bug it's creating a new tascbase
instead of using the one in xmldoc
so the new elements are simply being added to a 'disconnected' tascbase
there's the morning's work
'
if changed, add a red badge
if added to modified doc, green badge
fix description
also, can't copy text field, so have to make it editable so can copy
in fact, only id really needs to be uneditable
description appear to be working
use append
append old note to new note, then maket that the value of text
aeon description field on tbx attribuete, tbx display doesn't handlet hat well
================ new 7/7/2015 9.00 am est =================
Note Name:
barack's biography'
note text: born in a log cabin in kenya, he...
================ new 7/6/2015 1.32 pm est =================
Note Name:
barack's bio'
note text: born in a log cabin in kenya, he...
also include start date and time
list of relationships
like that
button to turn lights on and off
trim strings on name compare
turn on plus sign to replace naems
turn on check to replace text
paged scene constructor
that produces...what...
text, probably
and scrivener notes of some kind
remove backblaze
tools
===
search directory
slice and dice data
scene creation compilation
was there one other thing?
are create and modified dates on adornments correct
=================
so, i'm not crazy about scrivener until much later, at least 3/5 of the way through the writing process. and its index cards are a joke compared to what tinderbox can do for you.
what i'd really like to do is compose my notes in tinderbox, using scene and narrative structures i've created and then compile them into text documents.
so that's exactly what i'm going to do. i'll write an app that traverses tinderbox notes according to structures, pulls out the text, makes a doc.
oh, this is going to be fun. and i already wrote most of the code, that's the beautiful thing about writing xml transform code. once you've got it working you can cut and paste the loops.
idea
==================
added relationships and tags
changed title heights
have to worry about relationship and tags text now in the <text> field
and note name too
meh
and i haven't really dealt with arcs and entities update problem yet either
'
separator
<item ID="1436522185" Creator="prenez" >
<attribute name="Created" >2015-07-10T05:52:39-04:00</attribute>
<attribute name="IsPrototype" >false</attribute>
<attribute name="Modified" >2015-07-10T05:52:39-04:00</attribute>
<attribute name="Name" >Prototypes</attribute>
<attribute name="SelectionCount" >2</attribute>
<attribute name="Separator" >true</attribute>
<attribute name="SortAlsoTransform" ></attribute>
<attribute name="SortTransform" ></attribute>
<attribute name="Xpos" >0</attribute>
<attribute name="Ypos" >0</attribute>
</item>