dedalus 0.2.17 → 0.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/dedalus/app_view_composer.rb +12 -5
- data/lib/dedalus/application_view.rb +7 -5
- data/lib/dedalus/elements/image.rb +3 -3
- data/lib/dedalus/elements/image_grid.rb +3 -2
- data/lib/dedalus/elements/map_tile.rb +31 -0
- data/lib/dedalus/elements/sprite_field.rb +3 -1
- data/lib/dedalus/elements/text.rb +1 -1
- data/lib/dedalus/elements.rb +11 -11
- data/lib/dedalus/font_repository.rb +10 -0
- data/lib/dedalus/image_repository.rb +7 -0
- data/lib/dedalus/pattern_library/molecules/library_section_tab.rb +8 -4
- data/lib/dedalus/pattern_library/molecules/periodic_table.rb +1 -1
- data/lib/dedalus/pattern_library/organisms/app_sidebar.rb +13 -6
- data/lib/dedalus/pattern_library/templates/app_template.rb +11 -10
- data/lib/dedalus/version.rb +1 -1
- data/lib/dedalus/view_traversal.rb +13 -15
- data/lib/dedalus.rb +2 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7aad84d5fe9bd686820573a33ecd092f9ba1c7ed
|
|
4
|
+
data.tar.gz: c352ebd5e3bcbcd9c03a43c3e258f63d9dbcafcd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ecd0ed76f0fe13bfa51d882764f024887ef098d326b61d3e671e73b9d2fa5d67bf84ca950d7d61ecc24dfe58c445c2dc6ba1a8d6ae716fde49636b122b47f5ce
|
|
7
|
+
data.tar.gz: fb1bd4de715afe17664f605619db2548ce63877f97cb66a364e951baedcc8fb1fd1559b0c50dbdaa19e34b3b35cde6fbc235f588be2d88cfc831f765e61b0f73
|
|
@@ -5,22 +5,27 @@ module Dedalus
|
|
|
5
5
|
|
|
6
6
|
def traverse(structure, origin: [0,0], dimensions:, render: false, &blk)
|
|
7
7
|
traversal = ViewTraversal.new(&blk)
|
|
8
|
-
traversal.walk!(structure, origin: origin, dimensions: dimensions, render: render)
|
|
8
|
+
structure = traversal.walk!(structure, origin: origin, dimensions: dimensions, render: render)
|
|
9
9
|
structure
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def send_molecule(structure, window_dims, mouse_position:, message:)
|
|
13
13
|
mouse_coord = coord(*mouse_position)
|
|
14
14
|
|
|
15
|
-
traverse(structure, origin: [0,0], dimensions: window_dims) do
|
|
16
|
-
on_molecule do |molecule, origin:, dimensions:|
|
|
15
|
+
updated_structure = traverse(structure, origin: [0,0], dimensions: window_dims) do
|
|
16
|
+
on_molecule do |molecule, origin:, dimensions:, z_index:|
|
|
17
17
|
element_bounding_box = Geometer::Rectangle.new(coord(*origin), dim(*dimensions))
|
|
18
18
|
mouse_overlap = element_bounding_box.contains?(mouse_coord) rescue false # could get bad coords...
|
|
19
19
|
if mouse_overlap
|
|
20
|
+
molecule.position = origin
|
|
20
21
|
molecule.send(message)
|
|
21
22
|
end
|
|
23
|
+
|
|
24
|
+
molecule
|
|
22
25
|
end
|
|
23
26
|
end
|
|
27
|
+
|
|
28
|
+
updated_structure
|
|
24
29
|
end
|
|
25
30
|
|
|
26
31
|
def hover_molecule(structure, window_dims, mouse_position:)
|
|
@@ -33,7 +38,7 @@ module Dedalus
|
|
|
33
38
|
|
|
34
39
|
def render!(structure, dims)
|
|
35
40
|
traverse(structure, origin: [0,0], dimensions: dims, render: true) do
|
|
36
|
-
on_atom do |atom, origin:, dimensions:, freeform:|
|
|
41
|
+
on_atom do |atom, origin:, dimensions:, freeform:, z_index:|
|
|
37
42
|
if atom.background_color
|
|
38
43
|
atom.draw_bounding_box(
|
|
39
44
|
color: atom.background_color,
|
|
@@ -50,10 +55,12 @@ module Dedalus
|
|
|
50
55
|
atom.position = origin
|
|
51
56
|
end
|
|
52
57
|
|
|
58
|
+
atom.z_order = z_index
|
|
59
|
+
|
|
53
60
|
atom.render
|
|
54
61
|
end
|
|
55
62
|
|
|
56
|
-
on_element do |element, origin:, dimensions:|
|
|
63
|
+
on_element do |element, origin:, dimensions:, z_index:|
|
|
57
64
|
if element.background_color
|
|
58
65
|
element.draw_bounding_box(
|
|
59
66
|
color: element.background_color,
|
|
@@ -11,14 +11,16 @@ module Dedalus
|
|
|
11
11
|
|
|
12
12
|
def click
|
|
13
13
|
p [ :app_view_click ]
|
|
14
|
-
composer.click_molecule(
|
|
14
|
+
composer.click_molecule(
|
|
15
|
+
app_screen,
|
|
16
|
+
[window.width, window.height],
|
|
17
|
+
mouse_position: mouse_position
|
|
18
|
+
)
|
|
15
19
|
end
|
|
16
20
|
|
|
17
21
|
def compose(screen)
|
|
18
|
-
|
|
19
|
-
composer.render!(screen, dimensions)
|
|
20
|
-
# cursor.position = mouse_position
|
|
21
|
-
# cursor.render
|
|
22
|
+
composer.hover_molecule(screen, dimensions, mouse_position: mouse_position)
|
|
23
|
+
composer.render!(screen.shown, dimensions)
|
|
22
24
|
end
|
|
23
25
|
|
|
24
26
|
def dimensions
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Dedalus
|
|
2
2
|
module Elements
|
|
3
3
|
class ImageGrid < Dedalus::Molecule
|
|
4
|
-
attr_accessor :grid, :tiles_path, :tile_width, :tile_height
|
|
4
|
+
attr_accessor :grid, :tiles_path, :tile_width, :tile_height, :tile_class
|
|
5
5
|
attr_accessor :scale
|
|
6
6
|
|
|
7
7
|
def show
|
|
@@ -49,7 +49,7 @@ module Dedalus
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def sprite_for(frame)
|
|
52
|
-
|
|
52
|
+
tile_class.constantize.new(
|
|
53
53
|
frame: frame,
|
|
54
54
|
asset_width: tile_width,
|
|
55
55
|
asset_height: tile_height,
|
|
@@ -71,6 +71,7 @@ module Dedalus
|
|
|
71
71
|
tiles_path: "media/images/tiles.png",
|
|
72
72
|
tile_width: 64,
|
|
73
73
|
tile_height: 64,
|
|
74
|
+
tile_class: "Dedalus::Elements::MapTile", #Elements::Sprite",
|
|
74
75
|
scale: 0.2,
|
|
75
76
|
grid: [
|
|
76
77
|
[ nil, 0, 2, 0, 1 ],
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Dedalus
|
|
2
|
+
module Elements
|
|
3
|
+
class MapTile < Dedalus::Molecule
|
|
4
|
+
attr_accessor :frame, :asset_width, :asset_height, :path, :scale
|
|
5
|
+
|
|
6
|
+
attr_accessor :highlight
|
|
7
|
+
|
|
8
|
+
def show
|
|
9
|
+
tile_sprite
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def tile_sprite
|
|
13
|
+
Sprite.new(
|
|
14
|
+
frame: frame,
|
|
15
|
+
asset_width: asset_width,
|
|
16
|
+
asset_height: asset_height,
|
|
17
|
+
path: path,
|
|
18
|
+
scale: scale
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.description
|
|
23
|
+
'example of a custom tile class for image grid/sprite field'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.example_data
|
|
27
|
+
Sprite.example_data
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -2,7 +2,7 @@ module Dedalus
|
|
|
2
2
|
module Elements
|
|
3
3
|
class SpriteField < Dedalus::Organism
|
|
4
4
|
attr_accessor :grid, :sprite_map, :scale, :camera_location
|
|
5
|
-
attr_accessor :tile_width, :tile_height, :tiles_path
|
|
5
|
+
attr_accessor :tile_width, :tile_height, :tiles_path, :tile_class
|
|
6
6
|
|
|
7
7
|
def show
|
|
8
8
|
layers
|
|
@@ -45,6 +45,7 @@ module Dedalus
|
|
|
45
45
|
grid: grid,
|
|
46
46
|
tile_width: tile_width,
|
|
47
47
|
tile_height: tile_height,
|
|
48
|
+
tile_class: tile_class,
|
|
48
49
|
scale: scale,
|
|
49
50
|
offset: camera_offset,
|
|
50
51
|
name: 'sprite-field-tiles'
|
|
@@ -77,6 +78,7 @@ module Dedalus
|
|
|
77
78
|
tiles_path: "media/images/tiles.png",
|
|
78
79
|
tile_width: 64,
|
|
79
80
|
tile_height: 64,
|
|
81
|
+
tile_class: "Dedalus::Elements::MapTile",
|
|
80
82
|
sprite_map: {
|
|
81
83
|
[1.2,2.4] => [ Sprite.new(Sprite.example_data) ]
|
|
82
84
|
}
|
|
@@ -5,7 +5,7 @@ module Dedalus
|
|
|
5
5
|
|
|
6
6
|
def render(*)
|
|
7
7
|
x,y = *position
|
|
8
|
-
font.draw(text, x + padding, y + padding,
|
|
8
|
+
font.draw(text, x + padding, y + padding, z_order, self.scale, self.scale)
|
|
9
9
|
|
|
10
10
|
# draw_bounding_box(origin: [x,y], dimensions: dimensions)
|
|
11
11
|
end
|
data/lib/dedalus/elements.rb
CHANGED
|
@@ -7,15 +7,6 @@ module Dedalus
|
|
|
7
7
|
@active_view ||= nil
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
class FontRepository
|
|
11
|
-
def self.get_font(font_name='Helvetica',size: 20)
|
|
12
|
-
@fonts ||= {}
|
|
13
|
-
@fonts[font_name] ||= {}
|
|
14
|
-
@fonts[font_name][size] ||= Gosu::Font.new(size, name: font_name)
|
|
15
|
-
@fonts[font_name][size]
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
10
|
class Element
|
|
20
11
|
attr_accessor :position, :offset
|
|
21
12
|
|
|
@@ -28,10 +19,17 @@ module Dedalus
|
|
|
28
19
|
attr_accessor :padding, :margin
|
|
29
20
|
attr_accessor :color, :background_color
|
|
30
21
|
|
|
22
|
+
attr_accessor :z_order #index
|
|
23
|
+
|
|
31
24
|
def initialize(attrs={})
|
|
32
25
|
attrs.each { |(k,v)| instance_variable_set(:"@#{k}",v) } unless attrs.nil?
|
|
33
26
|
end
|
|
34
27
|
|
|
28
|
+
attr_accessor :shown
|
|
29
|
+
def shown
|
|
30
|
+
@shown ||= show
|
|
31
|
+
end
|
|
32
|
+
|
|
35
33
|
def record?
|
|
36
34
|
false
|
|
37
35
|
end
|
|
@@ -46,7 +44,7 @@ module Dedalus
|
|
|
46
44
|
window.draw_quad(x, y, c,
|
|
47
45
|
x, y+h, c,
|
|
48
46
|
x+w, y, c,
|
|
49
|
-
x+w, y+h, c,ZOrder::Background)
|
|
47
|
+
x+w, y+h, c, ZOrder::Background)
|
|
50
48
|
end
|
|
51
49
|
|
|
52
50
|
def view
|
|
@@ -103,6 +101,8 @@ module Dedalus
|
|
|
103
101
|
# maybe should also pull out rows and columns?
|
|
104
102
|
# could cleanup traversal impl, and will be clearer ultimately
|
|
105
103
|
class Layer < Element
|
|
104
|
+
attr_accessor :elements
|
|
105
|
+
|
|
106
106
|
def initialize(elements, freeform: false)
|
|
107
107
|
@elements = elements
|
|
108
108
|
@freeform = freeform
|
|
@@ -118,7 +118,7 @@ module Dedalus
|
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
class LayerStack < Element
|
|
121
|
-
|
|
121
|
+
attr_accessor :layers
|
|
122
122
|
|
|
123
123
|
def initialize(layers: [])
|
|
124
124
|
@layers = []
|
|
@@ -18,5 +18,12 @@ module Dedalus
|
|
|
18
18
|
@recordings[id] ||= window.record(width.to_i,height.to_i,&blk)
|
|
19
19
|
@recordings[id]
|
|
20
20
|
end
|
|
21
|
+
|
|
22
|
+
# TODO could handle overflows/alignment in text (should use for code...?)
|
|
23
|
+
# def self.lookup_text(text, line_height)
|
|
24
|
+
# @text_images ||= {}
|
|
25
|
+
# @text_images[text] ||= Gosu::Image.from_text(text, line_height)
|
|
26
|
+
# @text_images[text]
|
|
27
|
+
# end
|
|
21
28
|
end
|
|
22
29
|
end
|
|
@@ -4,11 +4,15 @@ module Dedalus
|
|
|
4
4
|
attr_accessor :icon, :name, :description, :scale, :highlight, :section_color
|
|
5
5
|
|
|
6
6
|
def show
|
|
7
|
-
Container.new(
|
|
7
|
+
Container.new(
|
|
8
|
+
[[icon_element, [ title_element, description_element ]]],
|
|
9
|
+
padding: 16,
|
|
10
|
+
scale: scale
|
|
11
|
+
)
|
|
8
12
|
end
|
|
9
13
|
|
|
10
14
|
def hover
|
|
11
|
-
|
|
15
|
+
self.scale = 1.05
|
|
12
16
|
end
|
|
13
17
|
|
|
14
18
|
def background_color
|
|
@@ -21,7 +25,7 @@ module Dedalus
|
|
|
21
25
|
end
|
|
22
26
|
|
|
23
27
|
def scale
|
|
24
|
-
@scale ||=
|
|
28
|
+
@scale ||= 1.0
|
|
25
29
|
end
|
|
26
30
|
|
|
27
31
|
def height
|
|
@@ -33,7 +37,7 @@ module Dedalus
|
|
|
33
37
|
end
|
|
34
38
|
|
|
35
39
|
def title_element
|
|
36
|
-
Elements::Heading.new(text: name)
|
|
40
|
+
Elements::Heading.new(text: name, scale: scale)
|
|
37
41
|
end
|
|
38
42
|
|
|
39
43
|
def description_element
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
module Dedalus
|
|
2
2
|
module PatternLibrary
|
|
3
3
|
class ApplicationSidebar < Dedalus::Organism
|
|
4
|
-
attr_accessor :
|
|
4
|
+
attr_accessor :library_section_tabs, :current_entry #_molecules
|
|
5
5
|
|
|
6
6
|
def show
|
|
7
|
-
|
|
7
|
+
library_section_tab_rows
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def library_section_tab_rows
|
|
11
|
+
@tab_rows ||= self.library_section_tabs.map do |tab_data| #_molecules
|
|
12
|
+
tab_data[:highlight] = tab_data[:name] == current_entry
|
|
13
|
+
LibrarySectionTab.new(tab_data)
|
|
14
|
+
end
|
|
8
15
|
end
|
|
9
16
|
|
|
10
17
|
def padding
|
|
@@ -17,10 +24,10 @@ module Dedalus
|
|
|
17
24
|
|
|
18
25
|
def self.example_data
|
|
19
26
|
{
|
|
20
|
-
|
|
21
|
-
LibrarySectionTab.
|
|
22
|
-
LibrarySectionTab.
|
|
23
|
-
LibrarySectionTab.
|
|
27
|
+
library_section_tabs: [
|
|
28
|
+
LibrarySectionTab.example_data,
|
|
29
|
+
LibrarySectionTab.example_data,
|
|
30
|
+
LibrarySectionTab.example_data
|
|
24
31
|
]
|
|
25
32
|
}
|
|
26
33
|
end
|
|
@@ -78,21 +78,22 @@ module Dedalus
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
def sidebar
|
|
81
|
-
ApplicationSidebar.new(
|
|
82
|
-
|
|
81
|
+
@sidebar ||= ApplicationSidebar.new(
|
|
82
|
+
library_section_tabs: library_section_tabs, #_molecules: section_tabs,
|
|
83
83
|
width_percent: 0.2,
|
|
84
|
+
current_entry: current_entry_name,
|
|
84
85
|
background_color: Palette.decode_color('darkgray')
|
|
85
86
|
)
|
|
86
87
|
end
|
|
87
88
|
|
|
88
|
-
def section_tabs
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
end
|
|
89
|
+
# def section_tabs
|
|
90
|
+
# tab_list = library_section_tabs.map do |attrs|
|
|
91
|
+
# highlight = attrs[:name] == current_entry_name
|
|
92
|
+
# LibrarySectionTab.new(attrs.merge(highlight: highlight))
|
|
93
|
+
# end
|
|
94
|
+
# # p [ tab_list: tab_list ]
|
|
95
|
+
# tab_list
|
|
96
|
+
# end
|
|
96
97
|
end
|
|
97
98
|
end
|
|
98
99
|
end
|
data/lib/dedalus/version.rb
CHANGED
|
@@ -19,7 +19,7 @@ module Dedalus
|
|
|
19
19
|
@element_callback = blk
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
def walk!(structure, origin:, dimensions:, freeform: false, render: false)
|
|
22
|
+
def walk!(structure, origin:, dimensions:, freeform: false, render: false, z_index: ZOrder::Background)
|
|
23
23
|
width, height = *dimensions
|
|
24
24
|
|
|
25
25
|
height = structure.height if !structure.is_a?(Array) && structure.height
|
|
@@ -28,7 +28,7 @@ module Dedalus
|
|
|
28
28
|
x0, y0 = *origin
|
|
29
29
|
|
|
30
30
|
if structure.is_a?(Dedalus::Atom)
|
|
31
|
-
@atom_callback.call(structure, origin: origin, dimensions: dimensions, freeform: freeform) if @atom_callback
|
|
31
|
+
@atom_callback.call(structure, origin: origin, dimensions: dimensions, freeform: freeform, z_index: z_index) if @atom_callback
|
|
32
32
|
|
|
33
33
|
# implicitly array is rows, nested arrays are columns, doubly-nested arrays are rows, etc
|
|
34
34
|
elsif structure.is_a?(Array)
|
|
@@ -46,11 +46,11 @@ module Dedalus
|
|
|
46
46
|
margin_dims = [ width - margin*2, height - margin*2 ]
|
|
47
47
|
|
|
48
48
|
if structure.is_a?(Dedalus::Molecule) && @molecule_callback
|
|
49
|
-
@molecule_callback.call(structure, origin: margin_origin, dimensions: margin_dims)
|
|
49
|
+
@molecule_callback.call(structure, origin: margin_origin, dimensions: margin_dims, z_index: z_index)
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
if @element_callback
|
|
53
|
-
@element_callback.call(structure, origin: margin_origin, dimensions: margin_dims)
|
|
53
|
+
@element_callback.call(structure, origin: margin_origin, dimensions: margin_dims, z_index: z_index)
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
pad = structure.padding || 0.0
|
|
@@ -58,33 +58,31 @@ module Dedalus
|
|
|
58
58
|
pad_dims = [width - pad*2 - margin*2, height - pad*2 - margin*2 ]
|
|
59
59
|
|
|
60
60
|
if structure.is_a?(LayerStack)
|
|
61
|
-
layers
|
|
62
|
-
layers.each do |layer|
|
|
61
|
+
structure.layers.each do |layer|
|
|
63
62
|
if layer.freeform?
|
|
64
|
-
if layer.
|
|
65
|
-
layer.
|
|
66
|
-
walk!(layer_element, origin: pad_origin, dimensions: pad_dims, freeform: true, render: render)
|
|
63
|
+
if layer.shown.is_a?(Array)
|
|
64
|
+
layer.elements.each_with_index do |layer_element, z_offset|
|
|
65
|
+
walk!(layer_element, origin: pad_origin, dimensions: pad_dims, freeform: true, render: render, z_index: z_index+z_offset)
|
|
67
66
|
end
|
|
68
67
|
else
|
|
69
|
-
walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: true, render: render)
|
|
68
|
+
walk!(layer.elements, origin: pad_origin, dimensions: pad_dims, freeform: true, render: render, z_index: z_index)
|
|
70
69
|
end
|
|
71
70
|
else
|
|
72
|
-
walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: false, render: render)
|
|
71
|
+
walk!(layer.elements, origin: pad_origin, dimensions: pad_dims, freeform: false, render: render, z_index: z_index)
|
|
73
72
|
end
|
|
74
73
|
end
|
|
75
74
|
else
|
|
76
75
|
if structure.record? && render
|
|
77
76
|
recorded_image = ImageRepository.lookup_recording(structure.name, structure.width, structure.height, structure.window) do
|
|
78
|
-
walk!(structure.
|
|
77
|
+
walk!(structure.shown, origin: [0,0], dimensions: pad_dims, freeform: freeform, render: render)
|
|
79
78
|
end
|
|
80
79
|
|
|
81
80
|
ox,oy = *pad_origin
|
|
82
|
-
recorded_image.draw(ox,oy,
|
|
81
|
+
recorded_image.draw(ox,oy,z_index)
|
|
83
82
|
else
|
|
84
|
-
walk!(structure.
|
|
83
|
+
walk!(structure.shown, origin: pad_origin, dimensions: pad_dims, freeform: freeform, render: render, z_index: z_index)
|
|
85
84
|
end
|
|
86
85
|
end
|
|
87
|
-
|
|
88
86
|
end
|
|
89
87
|
end
|
|
90
88
|
|
data/lib/dedalus.rb
CHANGED
|
@@ -9,6 +9,7 @@ require 'dedalus/application_view'
|
|
|
9
9
|
|
|
10
10
|
require 'dedalus/palette'
|
|
11
11
|
require 'dedalus/image_repository'
|
|
12
|
+
require 'dedalus/font_repository'
|
|
12
13
|
|
|
13
14
|
require 'dedalus/elements'
|
|
14
15
|
require 'dedalus/elements/void'
|
|
@@ -20,5 +21,6 @@ require 'dedalus/elements/icon'
|
|
|
20
21
|
require 'dedalus/elements/sprite'
|
|
21
22
|
require 'dedalus/elements/image_grid'
|
|
22
23
|
require 'dedalus/elements/sprite_field'
|
|
24
|
+
require 'dedalus/elements/map_tile'
|
|
23
25
|
|
|
24
26
|
require 'dedalus/pattern_library'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dedalus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joseph Weissman
|
|
@@ -170,11 +170,13 @@ files:
|
|
|
170
170
|
- lib/dedalus/elements/icon.rb
|
|
171
171
|
- lib/dedalus/elements/image.rb
|
|
172
172
|
- lib/dedalus/elements/image_grid.rb
|
|
173
|
+
- lib/dedalus/elements/map_tile.rb
|
|
173
174
|
- lib/dedalus/elements/paragraph.rb
|
|
174
175
|
- lib/dedalus/elements/sprite.rb
|
|
175
176
|
- lib/dedalus/elements/sprite_field.rb
|
|
176
177
|
- lib/dedalus/elements/text.rb
|
|
177
178
|
- lib/dedalus/elements/void.rb
|
|
179
|
+
- lib/dedalus/font_repository.rb
|
|
178
180
|
- lib/dedalus/image_repository.rb
|
|
179
181
|
- lib/dedalus/palette.rb
|
|
180
182
|
- lib/dedalus/pattern_library.rb
|