Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
404 commits
Select commit Hold shift + click to select a range
cced218
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Aug 30, 2014
0f4f556
Added jsduck documentation to the components I wrote. I also did text.
promanik Aug 30, 2014
3e596f6
Use labelbutton component for buttons.
promanik Aug 30, 2014
c5d54f2
Added separate examples for the intro lesson. Is the level of difficu…
promanik Aug 30, 2014
b7c8c6e
Solidify state subclass handling, add documentation for state and dra…
mcarlson Aug 31, 2014
9860621
t staMerge branch 'master' of https://github.com/teem2/dreem
mcarlson Aug 31, 2014
6513725
Check in static copy of API docs in /docs/api/, update build instruct…
mcarlson Aug 31, 2014
8ed9ac0
Delete prototype docviewer page, along with the local copy of the ace…
promanik Aug 31, 2014
9ad0d1b
Added inline example for <text> This works in jsduck thanks to the fi…
promanik Aug 31, 2014
b6c2551
Add documentation for the shim
mcarlson Sep 2, 2014
3da48b4
Check in a template .html file
mcarlson Sep 2, 2014
a0c8ed7
Add .map file for sourcemap lookups
mcarlson Sep 2, 2014
9549884
Progress
mcarlson Sep 2, 2014
14a6e90
Add wraplayout, window constraint, animation via CSS transition
mcarlson Sep 2, 2014
09b861c
Use relative datapaths to show heirchical data
mcarlson Sep 2, 2014
5fe5248
Add filtering, transformation to subgenres
mcarlson Sep 2, 2014
4d275d8
Send and receive genres over the event bus
mcarlson Sep 2, 2014
4ef705b
Add websockets config to shim, turn off by default
mcarlson Sep 2, 2014
870f1af
Add docs for gyro
mcarlson Sep 2, 2014
8f4711f
Send and receive touch events in the examples
mcarlson Sep 2, 2014
812a454
Add clamp method
mcarlson Sep 2, 2014
f92242e
Use pageX/Y instead of clientX/Y
mcarlson Sep 2, 2014
ceb47d7
Fix and document the touch class
mcarlson Sep 2, 2014
81b86b8
Add attributes theme and mode to ace component. I'm using the full pa…
promanik Sep 2, 2014
6c5efbe
Merge branch 'master' of https://github.com/teem2/dreem
promanik Sep 2, 2014
804de4b
Added slider component. This handle x/y sliding with an invert option…
promanik Sep 2, 2014
64c1083
Fix docs for touch
mcarlson Sep 3, 2014
04c2b5b
Add mouse emulation for touch events, fixes https://www.pivotaltracke…
mcarlson Sep 3, 2014
512d029
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Sep 3, 2014
da383bf
Tweak touch -> mouse emulation, fix inputtext selection/tapping
mcarlson Sep 3, 2014
dbdad82
Change text.measuresize -> text.resize, fixes https://www.pivotaltrac…
mcarlson Sep 3, 2014
e3a88c3
Add documentation for image, fixes https://www.pivotaltracker.com/sto…
mcarlson Sep 3, 2014
2186b7f
Add docs for inputtext, fixes https://www.pivotaltracker.com/story/sh…
mcarlson Sep 3, 2014
b9ce4a9
Change lz. -> dr. everywhere, fix inputtext documentation. Fixes http…
mcarlson Sep 3, 2014
b063bf7
Rename Eventable.set() -> Eventable.setAtttributes(), fixes https://w…
mcarlson Sep 3, 2014
11aa813
Clean up some cruft
mcarlson Sep 3, 2014
22c1037
Clean up more cruft!
mcarlson Sep 3, 2014
a4d0080
Fix https://www.pivotaltracker.com/story/show/77981950
mcarlson Sep 3, 2014
4d6763a
Move from handler.name -> event
mcarlson Sep 3, 2014
a713401
Only skip handlers array if it's there...
mcarlson Sep 3, 2014
84c759d
Use correct key for state application
mcarlson Sep 3, 2014
cc0101d
more handler.name -> event
mcarlson Sep 3, 2014
6aeaf92
Fix https://www.pivotaltracker.com/story/show/77982108
mcarlson Sep 3, 2014
520d3c1
Revert "Fix https://www.pivotaltracker.com/story/show/77982108"
mcarlson Sep 3, 2014
969ac72
Fix https://www.pivotaltracker.com/story/show/77982108 for real
mcarlson Sep 4, 2014
cd901b3
Add explicit return values
mcarlson Sep 4, 2014
8546b62
Add docs for replicator
mcarlson Sep 4, 2014
5eccd1f
Fix https://www.pivotaltracker.com/story/show/77941122
mcarlson Sep 4, 2014
41c8ef3
Automatically load replicator.classname classes, fixes https://www.pi…
mcarlson Sep 4, 2014
af30294
Add replicator.filterexpression, fixes https://www.pivotaltracker.com…
mcarlson Sep 4, 2014
4ab5abf
Replicate again when the filterexpression changes
mcarlson Sep 4, 2014
6c4d000
Fix https://www.pivotaltracker.com/story/show/78179388
mcarlson Sep 4, 2014
9bc179f
Add missing file
mcarlson Sep 4, 2014
74fd9e1
Add more documentation and examples for handlers
mcarlson Sep 4, 2014
4011362
Add image to the list of builtin tags, warn when creating classes tha…
mcarlson Sep 4, 2014
8265947
Fix replication, rename image -> bitmap in timeline example
mcarlson Sep 4, 2014
8132cd7
Update docs
mcarlson Sep 4, 2014
a3d38ca
Don't warn about <input> inside of <inputtext>
mcarlson Sep 4, 2014
6631afc
First pass at a sublime highlighter for dreem. Sublime should pick th…
promanik Sep 4, 2014
4b044ae
Fix https://www.pivotaltracker.com/story/show/78202744
mcarlson Sep 5, 2014
bfd231e
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Sep 5, 2014
ef249f2
[Fixes 78129402] rename .lzx -> .dre
mcarlson Sep 5, 2014
0084ee2
[Fixes #77488980] Add onmouseupoutside and onmouseup events when the …
mcarlson Sep 5, 2014
32ed55c
Cleanup
mcarlson Sep 5, 2014
d105e22
Document onmouseupoutside
mcarlson Sep 7, 2014
596559a
Fix braino
mcarlson Sep 7, 2014
8d19b65
Show parser/html syntax errors at the top of the page - note that thi…
mcarlson Sep 8, 2014
c5820cb
Update inline example iframe to have proper XML formatting (courtesy …
mcarlson Sep 9, 2014
668a4c8
Fix html
mcarlson Sep 9, 2014
d6a7c5b
Add docs [Delivers #77634916]
mcarlson Sep 9, 2014
acc058a
Fix audio.html example
mcarlson Sep 9, 2014
015ec51
Ignore whitespace
mcarlson Sep 10, 2014
27e2274
Improve dataset docs
mcarlson Sep 10, 2014
65c11b2
Improve dataset docs
mcarlson Sep 10, 2014
a6ad6a3
Add replicator filterfunction
mcarlson Sep 10, 2014
6dc6101
Set mouse position for all kinds of events. Also hides datasets visua…
mcarlson Sep 10, 2014
0f621c4
Fix nesting error
mcarlson Sep 10, 2014
1c6d033
config for Ruby gems: adding Gemfile and config files for rvm using G…
LorienHW Sep 10, 2014
6f81abf
Add inline css for jsduck examples
mcarlson Sep 10, 2014
e961c1d
Add docs for audioplayer
mcarlson Sep 10, 2014
f25386c
Rewrite audioplayer to use setters/attributes for its external API
mcarlson Sep 10, 2014
6a2d40c
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Sep 10, 2014
ff3f099
Update audioplayer docs
mcarlson Sep 10, 2014
d777508
Tighten up setAttribute()
mcarlson Sep 11, 2014
c4c67ed
Add docs for attribute [Delivers #78628158]
mcarlson Sep 11, 2014
af98679
Fix warning CSS
mcarlson Sep 11, 2014
6af2bd8
Add styling
mcarlson Sep 11, 2014
3fe4680
[Delivers #78099276]. Support both dynamic content (contents attribut…
promanik Sep 11, 2014
b40ff2a
Merge branch 'master' of https://github.com/teem2/dreem
promanik Sep 11, 2014
e0940a3
Rebuild docs
promanik Sep 11, 2014
354c1ba
Add scriptincludeserror attribute, use it in shim. [Delivers #78198840]
mcarlson Sep 12, 2014
d2b2ef0
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Sep 12, 2014
27c2d00
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Sep 12, 2014
b97b9af
Force update to docs
mcarlson Sep 13, 2014
a10b326
Add remote controller template
mcarlson Sep 13, 2014
2c87047
Update paths
mcarlson Sep 13, 2014
a94c54c
Fix warnings
mcarlson Sep 13, 2014
8642667
Fix syntax
mcarlson Sep 13, 2014
67e9474
Fix another braino
mcarlson Sep 13, 2014
e73dc91
Add sublime plugin installation instructions
mcarlson Sep 13, 2014
fb51e66
Make controller less chatty
mcarlson Sep 13, 2014
95d53c4
Allow whitespace in scriptincludes
mcarlson Sep 13, 2014
df7c9ad
updating scene attribute
cabbibo Sep 13, 2014
438d3d0
fixing threejs.dre
cabbibo Sep 13, 2014
fb64b34
Make stats show up on top
mcarlson Sep 13, 2014
763d134
Add /bin/builddocs script
mcarlson Sep 13, 2014
99177fc
Add cmaeraner and far
mcarlson Sep 13, 2014
b935d18
Fix cameranear/far
mcarlson Sep 13, 2014
2d574ff
Don't send extra ondata events
mcarlson Sep 13, 2014
7d956db
Add docs for stats component
mcarlson Sep 13, 2014
d14b489
Add logger component
mcarlson Sep 13, 2014
79ad698
Update api docs
mcarlson Sep 13, 2014
a35a096
Update api docs script
mcarlson Sep 13, 2014
c1395b5
Clarify logger docs
mcarlson Sep 13, 2014
f137b2d
Fix cameranear default
mcarlson Sep 13, 2014
6693b81
Send oninit slightly later when creating a class [Delivers #77982142]
mcarlson Sep 13, 2014
c2e0386
Clean up examples
mcarlson Sep 13, 2014
a9409cd
Update README.md
LorienHW Sep 15, 2014
9a1bd79
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 16, 2014
eaf4d29
Fix braino in docs
mcarlson Sep 16, 2014
48a16c1
Add package.json in ./bin/, add findrequired.js to extract required a…
mcarlson Sep 16, 2014
0f45db3
Add warnings for missing required attributes. [Delivers #78875782]
mcarlson Sep 16, 2014
4dcc031
Update README.md
LorienHW Sep 16, 2014
96187a2
Only allow setAttribute() to send an event once for a given object/na…
mcarlson Sep 16, 2014
988b1d8
Make RAF lookup more robust for idle events
mcarlson Sep 16, 2014
2cda457
Fix warnings
mcarlson Sep 16, 2014
97b5e70
Fine tune attribute setting, fixes audio.html and data.html [Delivers…
mcarlson Sep 16, 2014
6c181d5
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 17, 2014
64acfae
Send extra events when binding handlers [Delivers #78877072]
mcarlson Sep 17, 2014
3bf0786
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 17, 2014
46f52f7
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 17, 2014
aaa7aab
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 17, 2014
b6d3dfe
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 17, 2014
4b1fccd
Don't attempt to replicate nodes
mcarlson Sep 17, 2014
ae1e5bc
back out to simplified setAttribute() calls
mcarlson Sep 17, 2014
1174b7a
Send data event even when not replicating
mcarlson Sep 17, 2014
460e807
Fix replicator to skip replication when classname == 'node'
mcarlson Sep 17, 2014
865e08e
Make attribute binding more robust
mcarlson Sep 17, 2014
6133461
Always include one.js [Delivers #79004182]
mcarlson Sep 17, 2014
f74f467
example for dr.method
LorienHW Sep 17, 2014
af9adb0
[Fixes #78923316] add build layout.coffee before generating the docum…
LorienHW Sep 17, 2014
e1b7a0b
Hide setters from the docs [Delivers #78629420]
mcarlson Sep 17, 2014
a0af4af
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 18, 2014
f13d8b8
Fix slider to deal with minvalues greater than zero
mcarlson Sep 18, 2014
2577409
Add explicit warnings for invalid constraints
mcarlson Sep 18, 2014
581e0fc
Add boundedview class
mcarlson Sep 18, 2014
733b2ef
Merge branch 'master' of github.com:teem2/dreem
cabbibo Sep 18, 2014
9b5fa32
[Fixes #78629430] simplified method examples
LorienHW Sep 18, 2014
13bc242
[Fixes #77634860] examples for node
LorienHW Sep 18, 2014
7f1dbe7
[#77634872] some examples for view
LorienHW Sep 19, 2014
5bd849c
[#77634884] more examples for text
LorienHW Sep 19, 2014
5e3d4f2
[#77634872] example with a constraint
LorienHW Sep 19, 2014
9aa60ed
[#77634896] example for simplelayout
LorienHW Sep 19, 2014
e8659b6
[#77634896] example for boundslayout
LorienHW Sep 19, 2014
3d58b8d
[Fixes #79229902] examples for checkbox
LorienHW Sep 20, 2014
7d75008
[Fixes #79229934] example for dragstate
LorienHW Sep 20, 2014
18af440
[Fixes #79230558] example for inputtext
LorienHW Sep 20, 2014
00293b9
[Fixes #79231064] example for labelbutton
LorienHW Sep 20, 2014
4d883ce
[Fixes #79230552] example for dr.idle
LorienHW Sep 21, 2014
627ad3e
[Fixes #79231440] example for dr.window
LorienHW Sep 21, 2014
b0a3e1d
[#79231416] an example for mouse
LorienHW Sep 22, 2014
9e8e25c
[#79246500] an example for the ace editor
LorienHW Sep 24, 2014
03f7914
onmouseupside is treated like onmouseup to stop the slider.dre
promanik Sep 25, 2014
6c3d3bf
[#78629446] examples for class
LorienHW Sep 25, 2014
a659449
[#79553058] example loading a jpg into a bitmap
LorienHW Sep 26, 2014
27f4b05
[Fixes #77634860] added example of an instiable utility class
LorienHW Sep 27, 2014
8c6d819
[Fixes #77634884] example implementing the format method
LorienHW Sep 27, 2014
5ce6cfd
[Fixes #79229934] example showing dragaxis
LorienHW Sep 27, 2014
9a03daf
[Fixes #77634872] clarification of clip false vs true examples
LorienHW Sep 27, 2014
d62c6fe
[Fixes #77634896] examples for layout
LorienHW Sep 28, 2014
ceb1b0d
[#79553164] example for keyboard
LorienHW Sep 28, 2014
d5c19f9
removed stray console.log
LorienHW Sep 28, 2014
0444366
[#79043952] an example showing how to change bgcolor with a state
LorienHW Oct 1, 2014
2933cd6
[Fixes #79556166] showing a warning when attribute type is invalid
LorienHW Oct 2, 2014
928535d
First pass at a test runner
mcarlson Oct 2, 2014
6471d71
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Oct 2, 2014
1aa646a
Unify capabilities, send window.dreemevent after an element is initia…
mcarlson Oct 3, 2014
2929e06
missed from docs compile from a previous commit
LorienHW Oct 3, 2014
099131d
[Fixes #79625136] scaling images to the size of the bitmap view whil…
LorienHW Oct 3, 2014
892ad9d
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Oct 3, 2014
d0c20e2
Merge pull request #27 from teem2/bitmap_scale_79625136
mcarlson Oct 3, 2014
64fabbc
Uodate bugs to run correctly, add assertions to some
mcarlson Oct 3, 2014
d77412a
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Oct 3, 2014
3919501
Improve phantomrunner, add assertions to some tests
mcarlson Oct 4, 2014
7a1d690
Show warnings when a coffeescript code block fails to compile
mcarlson Oct 4, 2014
828d621
Update to newer version of ace editor 2014.09.21. Renamed mode from l…
promanik Oct 4, 2014
a2dbeb7
Updated ace editor mode from lzx to dr
promanik Oct 4, 2014
59f746c
79246612. The remainder of the update ace build (package 20.09.14)
promanik Oct 4, 2014
f933233
[#78629594] testing framework made from rspec and capybara with a sel…
LorienHW Oct 4, 2014
d1d7ee1
[Fixes #78629594] re-org of directory structure, added more specs
LorienHW Oct 5, 2014
1a9dd3b
Update README.md
LorienHW Oct 5, 2014
e67fab3
spec for bitmap
LorienHW Oct 5, 2014
83bb45e
[Fixes #79217436] setting default bgcolor to transparent, and added a…
LorienHW Oct 5, 2014
5fad5ff
[Fixes #79230854] setting width and height of the inner input element…
LorienHW Oct 5, 2014
0ff9647
Merge pull request #29 from teem2/inputtext_dims_79230854
LorienHW Oct 6, 2014
07433f5
Merge pull request #28 from teem2/checkbutton_styling_79217436
LorienHW Oct 6, 2014
9fea35e
missing doc compile from previous commit
LorienHW Oct 6, 2014
72b84c7
spec helper method to wait for window.dreemInit method OR test the wi…
LorienHW Oct 6, 2014
6fcb255
all specs waiting for dreemInited event to prevent intermittent failrues
LorienHW Oct 6, 2014
c500567
[Fixes #79042844] setting box-sizing to border-box for sprites so tha…
LorienHW Oct 6, 2014
828ceae
Separate out bugs that need specs, add assertions for the rest
mcarlson Oct 7, 2014
07caede
Improve warnings for missing classes, allow HTML comments inside tags…
mcarlson Oct 7, 2014
1c58f2a
Use setTimeout instead of idle() in case there are multiple oninit ev…
mcarlson Oct 7, 2014
70a87a1
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Oct 7, 2014
4dbe83b
Warn when phantomrunner sees unexpected output.
mcarlson Oct 8, 2014
2fd49bb
Update readme
mcarlson Oct 8, 2014
6aa7a8f
Fix compiler cache
mcarlson Oct 8, 2014
57bbe01
Only remove comments in debug mode
mcarlson Oct 8, 2014
a365c14
Delay oninit until all children are created
mcarlson Oct 8, 2014
c180dd2
Merge branch 'master' of github.com:teem2/dreem
cabbibo Oct 8, 2014
1c09c92
Fix issue with checkbuttons
mcarlson Oct 8, 2014
c9c26c5
Merge pull request #30 from teem2/view_boxsizing_79042844
mcarlson Oct 8, 2014
e80eef4
Show files being run, don't dump expected results to the console
mcarlson Oct 8, 2014
003f783
Rebuild docs
mcarlson Oct 8, 2014
d41ebf1
More docs
mcarlson Oct 8, 2014
9e5c64b
Add replication test
mcarlson Oct 8, 2014
c74a1da
Improve test runner error reporting, run files in the right order, al…
mcarlson Oct 8, 2014
59370d3
Add testcase
mcarlson Oct 8, 2014
13dd7b1
Improve warnings for invalid types
mcarlson Oct 9, 2014
23356a0
More smoke tests
mcarlson Oct 9, 2014
a173545
Rename /bugs -> /smoke
mcarlson Oct 9, 2014
e2a5505
[Fixes #80351198] adjust width and height calculation on buttons that…
LorienHW Oct 10, 2014
dd0cae4
Default value of timeout is used if no argument is supplied to update…
promanik Oct 10, 2014
6a62f94
Modify readme regarding Windows. capybara-webkit requires 32-bit vers…
promanik Oct 11, 2014
eb6545d
Remove on... event handlers from elements
mcarlson Oct 14, 2014
f81e447
Document inputtext.onchange event
mcarlson Oct 14, 2014
55a5fe5
#79642664 - Modified ace to work like inputtext to support dreem synt…
promanik Oct 15, 2014
a3f466d
Merge branch 'ace_79642664'
promanik Oct 15, 2014
d12ed82
moving text component out of .dre file and into the core
LorienHW Oct 15, 2014
1330383
[Fixes #78690552] overriding setAttribute for text component so that …
LorienHW Oct 17, 2014
4e23194
changing the default fov on threejs class
cabbibo Oct 18, 2014
d37d9e7
Merge branch 'master' of github.com:teem2/dreem
cabbibo Oct 18, 2014
708346d
Merge pull request #31 from teem2/text_sprite_80674170
mcarlson Oct 21, 2014
89a94ce
Revert "Text sprite 80674170"
mcarlson Oct 21, 2014
7ffa896
Merge pull request #32 from teem2/revert-31-text_sprite_80674170
mcarlson Oct 21, 2014
4c1e68d
Fix bogus js includes
mcarlson Oct 21, 2014
f87815d
Prevent warnings when using <ace></ace>
mcarlson Oct 21, 2014
a85253e
Update expected.txt to match phantomrunner output
mcarlson Oct 21, 2014
4307c1f
Fix warnings in Firefox
mcarlson Oct 21, 2014
3e12bae
Improve warnings for class load failures
mcarlson Oct 21, 2014
d1ecf48
Send mouseover event before mousedown
mcarlson Oct 21, 2014
e12aa7d
Add music file for audio examples
mcarlson Oct 22, 2014
a120d5f
https://www.pivotaltracker.com/story/show/81225682. Remove dependency…
promanik Oct 22, 2014
845bcdc
Merge branch 'master' of https://github.com/teem2/dreem
promanik Oct 22, 2014
16e8919
[#79246500] Improved ace examples by showing an example with inline d…
promanik Oct 22, 2014
317c1c7
[#80664234] [Fixes #79231024] moved inputtext from dre file to the c…
LorienHW Oct 17, 2014
2a6c268
[Fixes #79559390] can now include text and handlers inside of the inp…
LorienHW Oct 19, 2014
4c6eb5f
split the Sprite.text method into two methods - getter and setter sin…
LorienHW Oct 21, 2014
1217f71
[#80664234] moved sprite creation into an overridable method so that …
LorienHW Oct 23, 2014
6788634
deleting old inputtext dre file
LorienHW Oct 23, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@

*.map
.idea
**/.idea
apidocs/
layout.js.map
1 change: 1 addition & 0 deletions .ruby-gemset
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dreem
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-2.0.0-p481
9 changes: 9 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
source 'https://rubygems.org'

gem 'jsduck'

gem 'rspec'
gem 'capybara'
gem 'poltergeist'
gem 'selenium-webdriver'
# gem 'capybara-webkit'
70 changes: 70 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
GEM
remote: https://rubygems.org/
specs:
capybara (2.4.3)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
childprocess (0.5.5)
ffi (~> 1.0, >= 1.0.11)
cliver (0.3.2)
diff-lcs (1.2.5)
dimensions (1.2.0)
ffi (1.9.5)
jsduck (5.3.4)
dimensions (~> 1.2.0)
json (~> 1.8.0)
parallel (~> 0.7.1)
rdiscount (~> 2.1.6)
rkelly-remix (~> 0.0.4)
json (1.8.1)
mime-types (2.3)
mini_portile (0.6.0)
multi_json (1.10.1)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
parallel (0.7.1)
poltergeist (1.5.1)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
rdiscount (2.1.7.1)
rkelly-remix (0.0.6)
rspec (3.1.0)
rspec-core (~> 3.1.0)
rspec-expectations (~> 3.1.0)
rspec-mocks (~> 3.1.0)
rspec-core (3.1.5)
rspec-support (~> 3.1.0)
rspec-expectations (3.1.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.1.0)
rspec-mocks (3.1.2)
rspec-support (~> 3.1.0)
rspec-support (3.1.1)
rubyzip (1.1.6)
selenium-webdriver (2.43.0)
childprocess (~> 0.5)
multi_json (~> 1.0)
rubyzip (~> 1.0)
websocket (~> 1.0)
websocket (1.2.1)
websocket-driver (0.3.4)
xpath (2.0.0)
nokogiri (~> 1.3)

PLATFORMS
ruby

DEPENDENCIES
capybara
jsduck
poltergeist
rspec
selenium-webdriver
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2012 Max Carlson
Copyright (c) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
117 changes: 111 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,122 @@
rheses
dreem
======

getting started with dreem
--------------------------
It is quick and easy to get started writing your dreem application. After cloning the project, you will need to serve the dreem files through a web server to satisfy the browser's same-origin policy. SimpleHTTPServer is a quick and easy option to get started. From within the dreem root directory just run:

python -m SimpleHTTPServer

This will turn that directory into a webserver and allow you to run any of the example files on localhost, such as [http://localhost:8000/data.html]()

That's all you need to do to get set up to build a dreem application. There are many sample files in the root directory that you can reference to get familiar with the language. You will also want to build the API documentation to run on your machine as it is currently not hosted anywhere on the web. This is a simple process, and instructions are included below.

You can put your dreem files right in the root dreem directory or a subdirectory to get started. However, if you want to keep your files in source control its helpful to keep them separate from the dreem git repo. You can easily do so by creating a softlink in the dreem directory that points to a separate directory located elsewhere in your machine. For example, if your dreem installation is located at ~/dev/dreem, and you want to keep your dreem application in ~/dev/mydreemapp, then within ~/dev/dreem run:

ln -s ~/dev/mydreemapp ./mydreemapp

Now you can access your files at http://localhost:8000/mydreemapp/

installing the sublime plugin
-----------------------------

For Sublime Text, use the preferences -> browse packages menu, back out a folder and browse to 'Installed Packages', then copy /tools/Dreem.sublime-package there.

building
--------
This is only required when editing the coffeescript core.
Make sure coffescript is installed

coffee -j layout.js -mo ./ -cw *.coffee
npm install -g coffee-script

And run

coffee -mo ./ -cw *.coffee

building the documentation
--------------------------

running
--------
The API docs are built with [https://github.com/senchalabs/jsduck](). Install jsduck as a ruby gem using bundler by running

python -m SimpleHTTPServer
gem install bundler
bundle install

If you are using rvm or similar your gems will be installed in a gemset called 'dreem'.

With jsduck installed run:

./bin/builddocs

running smoke tests
--------------------------

The smoke tests docs are run with [http://phantomjs.org/](), so you'll need to install it. Next, run:

phantomjs ./bin/phantomrunner.js

If you get RESOURCE ERROR messages, try specifying a different timeout argument. The smaller the number, the faster the tests will run:

phantomjs ./bin/phantomrunner.js 100

running the component tests
--------------------------

The components are tested with rspec and capybara. You will need to install the required gems to run them. If you haven't already:

gem install bundler
bundle install

and visit [http://localhost:8000/data.html]()
Now to run the specs run

rspec

If you see an error like:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

ruby extconf.rb
Command 'qmake -spec macx-g++ ' not available

Makefile not found

Gem files will remain installed in /Users/maxcarlson/.rvm/gems/ruby-2.0.0-p481@dreem/gems/capybara-webkit-1.3.0 for inspection.
Results logged to /Users/maxcarlson/.rvm/gems/ruby-2.0.0-p481@dreem/extensions/x86_64-darwin-13/2.0.0-static/capybara-webkit-1.3.0/gem_make.out

An error occurred while installing capybara-webkit (1.3.0), and Bundler cannot continue.
Make sure that `gem install capybara-webkit -v '1.3.0'` succeeds before bundling.

Per [http://stackoverflow.com/questions/11354656/error-error-error-installing-capybara-webkit]() if you are in Ubuntu:

sudo apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui

If you are on Mac

brew install qt

Then run this again:

bundle install

Windows users: capybara-webkit can only install on a 32-bit version of Windows. See [https://github.com/thoughtbot/capybara-webkit#windows-support]()

<!-- The MIT License (MIT)

Copyright ( c ) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. -->
115 changes: 115 additions & 0 deletions audio.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<html>
<head>
<title>dr33m</title>
<style type="text/css">
body {
background-color: white;
font-family: 'Helvetica';
font-size: 36px;
margin: 0px;
padding: 0px;
font-size: 14px;
}
input {
font-family: 'Helvetica';
font-size: 14px;
margin: 0px;
padding: 0px;
width: 100px;
}
</style>
<script type="text/javascript" src="lib/jquery-1.9.1.js"></script>
<script type="text/javascript" src="lib/acorn.js"></script>
<script type="text/javascript" src="lib/coffee-script.js"></script>
<script type="text/javascript" src="layout.js"></script>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"></link>
</head>
<body>
<view>
<shim id="bus"></shim>

<audioplayer id="audio" url="music/YACHT_-_09_-_Im_In_Love_With_A_Ripper_Party_Mix_Instrumental.mp3" fftsize="1024" fftsmoothing="0" playing="true">
<handler event="onfft" args="fft">
// Deal with JSON.stringify() issues by converting to a regular array
var copy = Array.apply([], fft);
bus.send('fft', copy);
</handler>
</audioplayer>

<simplelayout axis="y" spacing="0"></simplelayout>

<class name="timetext" extends="text">
<!-- TODO: evaluate setters and overrides -->
<method name="format" args="time" type="coffee">
minutes = Math.floor(time / 60)
seconds = Math.floor(time) - minutes * 60
seconds = '0' + seconds if (seconds < 10)
return minutes + ':' + seconds
</method>
</class>

<view bgcolor="${audio.playing ? 'green' : 'gray'}" opacity="${audio.loaded ? 1 : .8}" width="${(audio.loadprogress * audio.fftsize * .5)}" height="20">
<view name="playhead" bgcolor="red" width="${(audio.time / audio.duration) * this.parent.width}" height="20"></view>
<view y="3" x="${this.parent.playhead.width}" width="${this.parent.width - this.x}">
<simplelayout spacing="2"></simplelayout>
<view width="16" class="fa fa-spin fa-spinner">
<handler event="onclick">
if (audio.playing) {
audio.setAttribute('paused', ! audio.paused);
} else {
audio.setAttribute('playing', true);
}
</handler>
<method name="updateState">
if (audio.loaded) {
this.setAttribute('class', 'fa fa-play')
if (audio.playing && ! audio.paused) {
this.setAttribute('class', 'fa fa-pause')
} else {
this.setAttribute('class', 'fa fa-play')
}
} else {
this.setAttribute('class', 'fa fa-spin fa-spinner')
}
</method>
<handler event="onloaded" method="updateState" reference="audio"></handler>
<handler event="onpaused" method="updateState" reference="audio"></handler>
<handler event="onplaying" method="updateState" reference="audio"></handler>
</view>
<view width="16" class="fa fa-stop" onclick="audio.setAttribute('playing', false);"></view>
<timetext y="-1" text="${audio.time}"></timetext>
<text y="-1">/</text>
<timetext y="-1" text="${audio.duration}"></timetext>
</view>
</view>

<class name="bar" width="1" bgcolor="red" height="${this.data}"></class>

<view height="256">
<simplelayout spacing="0"></simplelayout>
<replicator name="foo" classname="bar" data="${audio.fft}" pooling="true"></replicator>
</view>
</view>
<!-- The MIT License (MIT)

Copyright ( c ) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. -->
</body>
</html>
5 changes: 5 additions & 0 deletions bin/builddocs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
git reset ./docs/api/
rm -rf docs/api/
coffee -mo ./ -c *.coffee
node ./bin/finddoccomments.js > ./classdocs.js
jsduck layout.js classdocs.js --output=./docs/api/ --eg-iframe=jsduck_iframe.html --title="Dreem API documentation" --footer="Copyright (c) 2014 Teem2 LLC"
5 changes: 5 additions & 0 deletions bin/expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Unrecognized class goodbye <goodbye></goodbye>
attribute.value must be defined on <attribute name="fullName" type="string"></attribute> inside <class name="contact" extends="view" bgcolor="red" width="300" height="300">
<attribute name="fullName" type="string"></attribute>
</class>
Invalid type 'text' for attribute 'something', must be one of: number, boolean, string, json, expression
Loading