dedalus 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9022025c864310b9328e3e4c1a9dc4735cb884b
4
- data.tar.gz: 0e102ca23e119b7f3a30c31a34cd1f00e4690ec9
3
+ metadata.gz: 5b87e77ef8b41ec61f19f7b84e31853dc27e2c28
4
+ data.tar.gz: 2a4a4ab7156a738647dea2c1e99ce60f28c03b6d
5
5
  SHA512:
6
- metadata.gz: 9fda3c838779db5ed86226142b99fb6eacd6799c228e7452146dc29a8f60b63799d73f2721761be4ceff8f8e5bb685131ad6dd1c4acc644963679fdc452e2a13
7
- data.tar.gz: 7318c2c200a98b671915659d78da4907938ff89c6ff1ebf520dd7b319e020370b326c72460449afdb290e547beeff6ef03ee062b8bb4402ab608bcaa58b9527c
6
+ metadata.gz: e81bb797a355ffa07f9a7b52f148dda150645eebebd28591d5ad9498dd85b79f9fc1940c079b449e0f990e8696527790b4759f3185158c924f756db54c8c6c37
7
+ data.tar.gz: 92e2de9cc81a726c45e99a6d9b6a31e8fb3426e56ad6b79808b50b0d767c3aba71ae0bc0dd685b3b67e5db2fad2c4014cbd7c10c33e61a279b36c130ae74544f
data/bin/dedalus CHANGED
@@ -8,8 +8,8 @@ if File.directory?(File.join(root,'.git'))
8
8
  require 'dedalus'
9
9
  Dedalus::PatternLibrary::Application.kickstart!({
10
10
  setup: {
11
- library_name: "Dedalus Pattern Library",
12
- module_to_search: Dedalus::PatternLibrary
11
+ library_name: "Dedalus",
12
+ module_to_search: Dedalus::Elements
13
13
  }
14
14
  })
15
15
  rescue LoadError => e
@@ -33,7 +33,7 @@ module Dedalus
33
33
 
34
34
  def render!(structure, dims)
35
35
  traverse(structure, origin: [0,0], dimensions: dims) do
36
- on_atom do |atom, origin:, dimensions:|
36
+ on_atom do |atom, origin:, dimensions:, freeform:|
37
37
  if atom.background_color
38
38
  atom.draw_bounding_box(
39
39
  color: atom.background_color,
@@ -41,7 +41,8 @@ module Dedalus
41
41
  dimensions: dimensions
42
42
  )
43
43
  end
44
- atom.position = origin
44
+
45
+ atom.position = origin unless freeform
45
46
  atom.render
46
47
  end
47
48
 
@@ -17,9 +17,8 @@ module Dedalus
17
17
  def compose(screen)
18
18
  screen = composer.hover_molecule(screen, dimensions, mouse_position: mouse_position)
19
19
  composer.render!(screen, dimensions)
20
-
21
- cursor.position = mouse_position
22
- cursor.render
20
+ # cursor.position = mouse_position
21
+ # cursor.render
23
22
  end
24
23
 
25
24
  def dimensions
@@ -35,11 +34,6 @@ module Dedalus
35
34
  end
36
35
  end
37
36
 
38
- protected
39
- def cursor
40
- @cursor ||= Elements::Icon.for :arrow_cursor
41
- end
42
-
43
37
  private
44
38
  def composer
45
39
  @composer ||= Dedalus::ApplicationViewComposer.new
@@ -1,19 +1,15 @@
1
1
  module Dedalus
2
2
  module Elements
3
- class ImageRepository
4
- def self.lookup(path)
5
- @images ||= {}
6
- @images[path] ||= Gosu::Image.new(path)
7
- @images[path]
8
- end
9
- end
10
-
11
3
  class Image < Dedalus::Atom
12
- attr_accessor :path, :padding
4
+ attr_accessor :path, :padding, :z_order
13
5
 
14
6
  def render
15
7
  x,y = *position
16
- asset.draw(x + padding, y + padding, ZOrder::Foreground, scale, scale)
8
+ asset.draw(x + padding, y + padding, z_order, scale, scale)
9
+ end
10
+
11
+ def z_order
12
+ @z_order ||= ZOrder::Foreground
17
13
  end
18
14
 
19
15
  def width
@@ -29,7 +25,7 @@ module Dedalus
29
25
  end
30
26
 
31
27
  def padding
32
- @padding ||= 10.0
28
+ @padding ||= 0.0
33
29
  end
34
30
 
35
31
  def scale
@@ -44,9 +40,8 @@ module Dedalus
44
40
  "an image"
45
41
  end
46
42
 
47
- private
48
43
  def asset
49
- @asset ||= ImageRepository.lookup(path)
44
+ @asset ||= Dedalus::ImageRepository.lookup(path)
50
45
  end
51
46
  end
52
47
  end
@@ -0,0 +1,50 @@
1
+ module Dedalus
2
+ module Elements
3
+ class ImageGrid < Dedalus::Molecule
4
+ attr_accessor :grid, :tiles_path, :tile_width, :tile_height
5
+
6
+ def show
7
+ grid.map do |row|
8
+ row.map do |grid_value|
9
+ if grid_value
10
+ sprite_for(grid_value)
11
+ else
12
+ no_image
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ def height
19
+ grid.length * tile_height
20
+ end
21
+
22
+ def sprite_for(frame)
23
+ Sprite.new(frame: frame, width: tile_width, height: tile_height, path: tiles_path)
24
+ end
25
+
26
+ def no_image
27
+ Void.new(height: tile_height, width: tile_width)
28
+ end
29
+
30
+ def self.description
31
+ "a grid of images"
32
+ end
33
+
34
+ def self.example_data
35
+ {
36
+ tiles_path: "media/images/tiles.png",
37
+ tile_width: 64,
38
+ tile_height: 64,
39
+ grid: [
40
+ [ nil, 0, 2, 0 ],
41
+ [ 0, nil, 1, 0 ],
42
+ [ 0, 0, nil, 0 ],
43
+ [ 0, 1, 2, nil ],
44
+ ]
45
+ }
46
+ end
47
+ end
48
+
49
+ end
50
+ end
@@ -0,0 +1,24 @@
1
+ module Dedalus
2
+ module Elements
3
+ class Sprite < Image
4
+ attr_accessor :width, :height, :frame
5
+
6
+ def asset
7
+ @asset ||= Dedalus::ImageRepository.lookup_tiles(path, width, height)[frame]
8
+ end
9
+
10
+ def self.example_data
11
+ {
12
+ path: "media/images/tiles.png",
13
+ frame: 0,
14
+ width: 64,
15
+ height: 64
16
+ }
17
+ end
18
+
19
+ def self.description
20
+ "an animated image"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ module Dedalus
2
+ module Elements
3
+ class Void < Dedalus::Atom
4
+ attr_accessor :width, :height
5
+ def render(*); end
6
+
7
+ def self.description
8
+ 'an empty space'
9
+ end
10
+
11
+ def self.example_data
12
+ { width: 300, height: 300 }
13
+ end
14
+ end
15
+ end
16
+ end
@@ -8,10 +8,11 @@ module Dedalus
8
8
  end
9
9
 
10
10
  class FontRepository
11
- def self.get_font(size: 20)
11
+ def self.get_font(font_name='Helvetica',size: 20)
12
12
  @fonts ||= {}
13
- @fonts[size] ||= Gosu::Font.new(size)
14
- @fonts[size]
13
+ @fonts[font_name] ||= {}
14
+ @fonts[font_name][size] ||= Gosu::Font.new(size, name: font_name)
15
+ @fonts[font_name][size]
15
16
  end
16
17
  end
17
18
 
@@ -31,29 +32,37 @@ module Dedalus
31
32
  attrs.each { |(k,v)| instance_variable_set(:"@#{k}",v) } unless attrs.nil?
32
33
  end
33
34
 
34
- def draw_bounding_box(origin:, dimensions:, color: Palette.gray) #, highlight: false)
35
+ def draw_bounding_box(origin:, dimensions:, color: Palette.gray)
35
36
  x,y = *origin
36
37
  w,h = *dimensions
37
38
 
38
39
  raise "Invalid color #{color} given to #{self.class.name} for bounding box" unless color.is_a?(Dedalus::Color)
39
40
 
40
41
  c = color.to_gosu
41
- window.draw_quad(x,y,c,
42
- x,y+h,c,
43
- x+w,y,c,
44
- x+w,y+h,c,ZOrder::Background)
42
+ window.draw_quad(x, y, c,
43
+ x, y+h, c,
44
+ x+w, y, c,
45
+ x+w, y+h, c,ZOrder::Background)
45
46
  end
46
47
 
47
48
  def view
48
49
  Dedalus.active_view
49
50
  end
50
51
 
52
+ def tiny_font
53
+ FontRepository.get_font(size: 14)
54
+ end
55
+
56
+ def code_font
57
+ FontRepository.get_font('courier new', size: 18)
58
+ end
59
+
51
60
  def font
52
61
  FontRepository.get_font(size: 20)
53
62
  end
54
63
 
55
64
  def big_font
56
- FontRepository.get_font(size: 36)
65
+ FontRepository.get_font(size: 24)
57
66
  end
58
67
 
59
68
  def huge_font
@@ -67,6 +76,54 @@ module Dedalus
67
76
 
68
77
  ###
69
78
 
79
+ class Container < Element
80
+ def initialize(contents, attrs={})
81
+ @contents = contents
82
+ super(attrs)
83
+ end
84
+
85
+ def show
86
+ @contents
87
+ end
88
+ end
89
+
90
+ # layer is an abstract element...
91
+ # maybe should also pull out rows and columns?
92
+ # could cleanup traversal impl, and will be clearer ultimately
93
+ class Layer < Element
94
+ def initialize(elements, freeform: false)
95
+ @elements = elements
96
+ @freeform = freeform
97
+ end
98
+
99
+ def show
100
+ @elements
101
+ end
102
+
103
+ def freeform?
104
+ @freeform == true
105
+ end
106
+ end
107
+
108
+ # it's like a gluon or something, not sure how to model in nuclear terms
109
+ class LayerStack < Element
110
+ attr_reader :layers
111
+
112
+ def initialize(layers: [])
113
+ @layers = []
114
+ end
115
+
116
+ def push(layer_elements)
117
+ @layers.push(layer_elements)
118
+ end
119
+
120
+ # def each
121
+ # @layers.each
122
+ # end
123
+ end
124
+
125
+ ###
126
+
70
127
  class Atom < Element
71
128
  attr_accessor :scale, :padding
72
129
  end
@@ -88,6 +145,8 @@ module Dedalus
88
145
  class Screen < Element
89
146
  end
90
147
 
148
+ ###
149
+
91
150
  module ZOrder
92
151
  Background, Foreground, Text, Overlay = *(0..5)
93
152
  end
@@ -0,0 +1,15 @@
1
+ module Dedalus
2
+ class ImageRepository
3
+ def self.lookup(path)
4
+ @images ||= {}
5
+ @images[path] ||= Gosu::Image.new(path)
6
+ @images[path]
7
+ end
8
+
9
+ def self.lookup_tiles(path, width, height)
10
+ @tiles ||= {}
11
+ @tiles[path] ||= Gosu::Image::load_tiles(path, width, height)
12
+ @tiles[path]
13
+ end
14
+ end
15
+ end
@@ -2,7 +2,7 @@ module Dedalus
2
2
  class Color
3
3
  attr_accessor :red, :green, :blue, :alpha
4
4
 
5
- def initialize(red,green,blue,alpha=255)
5
+ def initialize(red,green,blue,alpha=160)
6
6
  @red = red
7
7
  @green = green
8
8
  @blue = blue
@@ -14,7 +14,7 @@ module Dedalus
14
14
  end
15
15
 
16
16
  def find_descendants_of(klass, module_to_search)
17
- ObjectSpace.each_object(Class).select { |k| k < klass && find_descendants_of(k, module_to_search).count.zero? && k.name.deconstantize == module_to_search.name }
17
+ ObjectSpace.each_object(Class).select { |k| k < klass && k.name.deconstantize == module_to_search.name }
18
18
  end
19
19
 
20
20
  def create_library(module_to_search:, name:)
@@ -5,6 +5,7 @@ module Dedalus
5
5
 
6
6
  def app_screen
7
7
  ApplicationScreen.new(app_template).hydrate(
8
+ mouse_position: mouse_position,
8
9
  library_section_tabs: library_view.library_section_tabs,
9
10
  current_entry_name: current_entry_name,
10
11
  library_sections: library_view.library_sections,
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class Code < Dedalus::Elements::Paragraph
4
+ def font
5
+ code_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class TinyText < Dedalus::Elements::Heading
4
+ def font
5
+ tiny_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -9,9 +9,10 @@ module Dedalus
9
9
 
10
10
  def show
11
11
  [
12
- Elements::Paragraph.new(text: "EXAMPLE", scale: 0.5, height_percent: 0.05, background_color: background_color.darken),
12
+ TinyText.new(text: "EXAMPLE", height_percent: 0.05, background_color: background_color.darken),
13
13
  item,
14
- Elements::Paragraph.new(text: item_data, scale: 0.7, background_color: Palette.decode_color('darkgray'), padding: 10)
14
+ TinyText.new(text: "DATA", height_percent: 0.05, background_color: background_color.darken),
15
+ Code.new(text: item_data, background_color: Palette.decode_color('darkgray'), padding: 10)
15
16
  ]
16
17
  end
17
18
 
@@ -4,10 +4,7 @@ module Dedalus
4
4
  attr_accessor :icon, :name, :description, :scale, :highlight, :section_color
5
5
 
6
6
  def show
7
- [[
8
- icon_element, [ title_element,
9
- description_element ]
10
- ]]
7
+ Container.new([[icon_element, [ title_element, description_element ]]], padding: 16)
11
8
  end
12
9
 
13
10
  def hover
@@ -33,15 +30,15 @@ module Dedalus
33
30
  end
34
31
 
35
32
  def icon_element
36
- Elements::Icon.for(icon, padding: 16)
33
+ Elements::Icon.for(icon, padding: 10)
37
34
  end
38
35
 
39
36
  def title_element
40
- LargeText.new(text: name)
37
+ Elements::Heading.new(text: name)
41
38
  end
42
39
 
43
40
  def description_element
44
- Elements::Paragraph.new(text: description)
41
+ TinyText.new(text: description)
45
42
  end
46
43
 
47
44
  def self.description
@@ -9,9 +9,8 @@ module Dedalus
9
9
  def show
10
10
  [
11
11
  HugeText.new(text: abbreviation, scale: scale),
12
- #Elements::Heading.new(text: abbreviation, scale: 6.0 * scale),
13
- Elements::Paragraph.new(text: element_name, scale: scale),
14
- Elements::Paragraph.new(text: kind, scale: 0.6 * scale)
12
+ LargeText.new(text: element_name, scale: scale),
13
+ TinyText.new(text: kind, scale: scale)
15
14
  ]
16
15
  end
17
16
 
@@ -40,7 +39,7 @@ module Dedalus
40
39
  end
41
40
 
42
41
  def width
43
- 280 * scale
42
+ 260 * scale
44
43
  end
45
44
 
46
45
  def height
@@ -62,8 +61,8 @@ module Dedalus
62
61
 
63
62
  def self.example_data
64
63
  {
65
- element_abbreviation: "Pa",
66
- element_name: "Paragraph"
64
+ element_abbreviation: "Ht",
65
+ element_name: "Huge Text"
67
66
  }
68
67
  end
69
68
  end
@@ -9,9 +9,9 @@ module Dedalus
9
9
 
10
10
  def show
11
11
  [
12
- Elements::Heading.new(text: title),
13
- Elements::Heading.new(text: subtitle, scale: 0.9),
14
- Elements::Paragraph.new(text: description)
12
+ HugeText.new(text: title),
13
+ LargeText.new(text: subtitle),
14
+ TinyText.new(text: description)
15
15
  ] + [ library_items ]
16
16
  end
17
17
 
@@ -6,15 +6,34 @@ module Dedalus
6
6
  end
7
7
 
8
8
  def show
9
- @template.show
9
+ layers
10
10
  end
11
11
 
12
- def hydrate(library_section_tabs:, current_entry_name:, library_sections:, library_items:)
12
+ def layers
13
+ layer_stack = Dedalus::LayerStack.new
14
+ layer_stack.push(Dedalus::Layer.new(background_image))
15
+ layer_stack.push(Dedalus::Layer.new(@template))
16
+ layer_stack.push(Dedalus::Layer.new(cursor, freeform: true))
17
+ layer_stack
18
+ end
19
+
20
+ def background_image
21
+ @bg_image ||= Elements::Image.new(path: "media/images/cosmos.jpg", z_order: -1)
22
+ end
23
+
24
+ def cursor
25
+ @cursor ||= Elements::Icon.for :arrow_cursor
26
+ end
27
+
28
+ def hydrate(mouse_position:, library_section_tabs:, current_entry_name:, library_sections:, library_items:)
13
29
  @template.library_name = "Dedalus Pattern Library"
14
30
  @template.library_section_tabs = library_section_tabs
15
31
  @template.library_sections = library_sections
16
32
  @template.library_items = library_items
17
33
  @template.current_entry_name = current_entry_name
34
+
35
+ cursor.position = mouse_position
36
+
18
37
  self
19
38
  end
20
39
  end
@@ -13,8 +13,8 @@ module Dedalus
13
13
  def layout
14
14
  [
15
15
  app_header,
16
- [ sidebar, yield ]
17
- # app_footer
16
+ [ sidebar, yield ],
17
+ app_footer
18
18
  ]
19
19
  end
20
20
 
@@ -3,7 +3,10 @@ require 'dedalus/pattern_library/models/library_section'
3
3
  require 'dedalus/pattern_library/models/library_item'
4
4
 
5
5
  require 'dedalus/pattern_library/atoms/large_text'
6
+ require 'dedalus/pattern_library/atoms/tiny_text'
6
7
  require 'dedalus/pattern_library/atoms/huge_text'
8
+ require 'dedalus/pattern_library/atoms/code'
9
+
7
10
  require 'dedalus/pattern_library/molecules/library_section_tab'
8
11
  # require 'dedalus/pattern_library/molecules/library_item_molecule'
9
12
  require 'dedalus/pattern_library/molecules/library_item_example'
@@ -1,4 +1,4 @@
1
1
  module Dedalus
2
2
  # dedalus version
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
@@ -19,14 +19,14 @@ module Dedalus
19
19
  @element_callback = blk
20
20
  end
21
21
 
22
- def walk!(structure, origin:, dimensions:)
22
+ def walk!(structure, origin:, dimensions:, freeform: false)
23
23
  width, height = *dimensions
24
24
  height = structure.height if !structure.is_a?(Array) && structure.height
25
25
  width = structure.width if !structure.is_a?(Array) && structure.width
26
26
  x0, y0 = *origin
27
27
 
28
28
  if structure.is_a?(Dedalus::Atom)
29
- @atom_callback.call(structure, origin: origin, dimensions: dimensions) if @atom_callback
29
+ @atom_callback.call(structure, origin: origin, dimensions: dimensions, freeform: freeform) if @atom_callback
30
30
  elsif structure.is_a?(Dedalus::Element)
31
31
  # an element *other than* an atom, we need to call #show on it
32
32
  margin = structure.margin || 0.0
@@ -42,13 +42,18 @@ module Dedalus
42
42
  @element_callback.call(structure, origin: margin_origin, dimensions: margin_dims)
43
43
  end
44
44
 
45
- pad = structure.padding || 10.0
46
- # x,y = x0+pad, y0+pad
45
+ pad = structure.padding || 0.0
47
46
  pad_origin = [x+pad,y+pad]
48
47
  pad_dims = [width - pad*2 - margin*2, height - pad*2 - margin*2 ]
49
48
 
50
-
51
- walk!(structure.show, origin: pad_origin, dimensions: pad_dims)
49
+ if structure.is_a?(LayerStack)
50
+ layers = structure.layers
51
+ layers.each do |layer|
52
+ walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: layer.freeform?)
53
+ end
54
+ else
55
+ walk!(structure.show, origin: pad_origin, dimensions: pad_dims, freeform: freeform)
56
+ end
52
57
  elsif structure.is_a?(Array) # we have a set of rows
53
58
  walk_rows!(structure, origin: origin, dimensions: dimensions)
54
59
  end
@@ -63,7 +68,16 @@ module Dedalus
63
68
  y = y0 + height_cursor
64
69
  dims = [width, current_row_height]
65
70
  if row.is_a?(Array)
66
- walk_columns!(row, origin: [x0, y], dimensions: dims)
71
+ extra_columns = true
72
+ while extra_columns
73
+ row = walk_columns!(row, origin: [x0, y], dimensions: dims)
74
+ if row.empty?
75
+ extra_columns = false
76
+ else
77
+ height_cursor += row.first.height
78
+ y = y0 + height_cursor
79
+ end
80
+ end
67
81
  else
68
82
  walk!(row, origin: [x0,y], dimensions: dims)
69
83
  end
@@ -73,6 +87,7 @@ module Dedalus
73
87
  def walk_columns!(columns, origin:, dimensions:)
74
88
  width, height = *dimensions
75
89
  x0, y0 = *origin
90
+
76
91
  subdivide_line(columns, distance: width, attr: :width) do |column, current_column_width, width_cursor|
77
92
  x = x0 + width_cursor
78
93
  dims = [ current_column_width, height ]
@@ -121,9 +136,16 @@ module Dedalus
121
136
  end
122
137
  end
123
138
 
139
+ if distance_cursor > distance - current_element_distance # ??
140
+ return elements.slice(index,elements.size)
141
+ end
142
+
124
143
  yield(element, current_element_distance, distance_cursor)
125
144
  distance_cursor += current_element_distance
126
145
  end
146
+
147
+ # no overflowing elements...
148
+ []
127
149
  end
128
150
  end
129
151
  end
data/lib/dedalus.rb CHANGED
@@ -2,17 +2,22 @@ require 'joyce'
2
2
  require 'geometer'
3
3
 
4
4
  require 'dedalus/version'
5
+
5
6
  require 'dedalus/view_traversal'
6
7
  require 'dedalus/app_view_composer'
7
8
  require 'dedalus/application_view'
8
9
 
9
10
  require 'dedalus/palette'
11
+ require 'dedalus/image_repository'
10
12
 
11
13
  require 'dedalus/elements'
14
+ require 'dedalus/elements/void'
12
15
  require 'dedalus/elements/text'
13
16
  require 'dedalus/elements/heading'
14
17
  require 'dedalus/elements/paragraph'
15
18
  require 'dedalus/elements/image'
16
19
  require 'dedalus/elements/icon'
20
+ require 'dedalus/elements/sprite'
21
+ require 'dedalus/elements/image_grid'
17
22
 
18
23
  require 'dedalus/pattern_library'
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dedalus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Weissman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-29 00:00:00.000000000 Z
11
+ date: 2016-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: joyce
@@ -169,14 +169,20 @@ files:
169
169
  - lib/dedalus/elements/heading.rb
170
170
  - lib/dedalus/elements/icon.rb
171
171
  - lib/dedalus/elements/image.rb
172
+ - lib/dedalus/elements/image_grid.rb
172
173
  - lib/dedalus/elements/paragraph.rb
174
+ - lib/dedalus/elements/sprite.rb
173
175
  - lib/dedalus/elements/text.rb
176
+ - lib/dedalus/elements/void.rb
177
+ - lib/dedalus/image_repository.rb
174
178
  - lib/dedalus/palette.rb
175
179
  - lib/dedalus/pattern_library.rb
176
180
  - lib/dedalus/pattern_library/application.rb
177
181
  - lib/dedalus/pattern_library/application_view.rb
182
+ - lib/dedalus/pattern_library/atoms/code.rb
178
183
  - lib/dedalus/pattern_library/atoms/huge_text.rb
179
184
  - lib/dedalus/pattern_library/atoms/large_text.rb
185
+ - lib/dedalus/pattern_library/atoms/tiny_text.rb
180
186
  - lib/dedalus/pattern_library/library_view.rb
181
187
  - lib/dedalus/pattern_library/models/library.rb
182
188
  - lib/dedalus/pattern_library/models/library_item.rb
@@ -199,6 +205,9 @@ files:
199
205
  - media/icons/house.png
200
206
  - media/icons/molecule.png
201
207
  - media/icons/paramecium.png
208
+ - media/images/controls.png
209
+ - media/images/cosmos.jpg
210
+ - media/images/tiles.png
202
211
  - spec/dedalus_spec.rb
203
212
  - spec/spec_helper.rb
204
213
  homepage: https://rubygems.org/gems/dedalus