OSDN Git Service

t#32471:add profiles
[pettanr/pettanr.git] / app / helpers / application_helper.rb
1 module ApplicationHelper
2   def full_url filename
3     request.protocol + request.host_with_port + filename
4   end
5   
6   def t_m(label)
7     l = label.split('.')
8     if l.size > 2
9       label
10     else
11       if l.size == 1
12         label.constantize.model_name.human
13       else
14         l.first.constantize.human_attribute_name(l.last)
15       end
16     end
17   end
18   
19   def t_select_items(items)
20     items.map {|i| [t(i[0]), i[1]] }
21   end
22   
23   def t_selected_item(name, index)
24     t(MagicNumber[name][index][0])
25   end
26   
27   def item_tag 
28     tag :img, :src => asset_path('item.png'), :width => 35, :height => 35
29   end
30   
31   def icon_tag name, opt = {}
32     title = opt[:object] ? (name.to_s + ' ID:' + opt[:object].id.to_s) : name
33     size = opt[:size] ? opt[:size].to_i : 35
34     tag :img, :src => asset_path(name.to_s.underscore + '.gif'), :width => size, :height => size, :alt => name.to_s + ' Icon', :title => title
35   end
36   
37   def author_icon opt = {}
38     icon_tag :Author, opt
39   end
40   
41   def artist_icon opt = {}
42     icon_tag :Artist, opt
43   end
44   
45   def scroll_icon opt = {}
46     icon_tag :Scroll, opt
47   end
48   
49   def scroll_panel_icon opt = {}
50     icon_tag :ScrollPanel, opt
51   end
52   
53   def comic_icon opt = {}
54     icon_tag :Comic, opt
55   end
56   
57   def story_icon opt = {}
58     icon_tag :Story, opt
59   end
60   
61   def story_sheet_icon opt = {}
62     icon_tag :StorySheet, opt
63   end
64   
65   def sheet_icon opt = {}
66     icon_tag :Sheet, opt
67   end
68   
69   def sheet_panel_icon opt = {}
70     icon_tag :Sheet, opt
71   end
72   
73   def panel_icon opt = {}
74     icon_tag :Panel, opt
75   end
76   
77   def panel_editor_javascript_include_tags
78     WritingFormat.enable_list().map {|wf|
79 #      javascript_include_tag wf.engine_name
80       javascript_include_tag wf.engine_name + "/application"
81     }.join("\n") + 
82     SpeechBalloonTemplate.enable_list().map {|sbt|
83       stylesheet_link_tag sbt.engine_name + "/application"
84     }.join("\n") + 
85     SpeechBalloonTemplate.enable_list().map {|sbt|
86       javascript_include_tag sbt.engine_name + "/application"
87     }.join("\n")
88   end
89   
90   def configurations
91     JSON.parse(<<HD
92 {
93     "models": {
94         "Scroll": "scroll",
95         "scroll": {
96             "class_name": "Scroll",
97             "table_name": "scrolls",
98             "associations": {
99                 "belongs_to": {
100                     "author": {
101                         "id_column": "author_id"
102                     }
103                 },
104                 "has_many": {
105                     "scroll_panels": {
106                         "foreign_key": "scroll_id",
107                         "list_method": "list_by_scroll"
108                     },
109                     "panels": {
110                         "through": "scroll_panels",
111                         "foreign_key": "scroll_id",
112                         "list_method": "list_by_scroll"
113                     }
114                 }
115             },
116             "attributes": {
117                 "id": {
118                     "type": "number",
119                     "primary_key": 1,
120                     "rules": {
121                         "number": true
122                     }
123                 },
124                 "title": {
125                     "type": "text",
126                     "rules": {
127                         "required": true
128                     }
129                 },
130                 "description": {
131                     "type": "text",
132                     "rules": {}
133                 },
134                 "visible": {
135                     "type": "number",
136                     "rules": {
137                         "required": true,
138                         "number": true
139                     }
140                 },
141                 "author_id": {
142                     "type": "number",
143                     "rules": {
144                         "required": true,
145                         "number": true
146                     }
147                 },
148                 "created_at": {
149                     "type": "datetime"
150                 },
151                 "updated_at": {
152                     "type": "datetime"
153                 }
154             }
155         },
156         "ScrollPanel": "scroll_panel",
157         "scroll_panel": {
158             "class_name": "ScrollPanel",
159             "table_name": "scroll_panels",
160             "associations": {
161                 "belongs_to": {
162                     "panel": {
163                         "id_column": "panel_id"
164                     },
165                     "scroll": {
166                         "id_column": "scroll_id"
167                     }
168                 },
169                 "has_many": {}
170             },
171             "attributes": {
172                 "id": {
173                     "type": "number",
174                     "primary_key": 1,
175                     "rules": {
176                         "number": true
177                     }
178                 },
179                 "scroll_id": {
180                     "type": "number",
181                     "rules": {
182                         "required": true,
183                         "number": true
184                     }
185                 },
186                 "panel_id": {
187                     "type": "number",
188                     "rules": {
189                         "required": true,
190                         "number": true
191                     }
192                 },
193                 "t": {
194                     "type": "number",
195                     "rules": {
196                         "required": true,
197                         "number": true,
198                         "min": 0
199                     }
200                 },
201                 "author_id": {
202                     "type": "number",
203                     "rules": {
204                         "required": true,
205                         "number": true
206                     }
207                 },
208                 "created_at": {
209                     "type": "datetime"
210                 },
211                 "updated_at": {
212                     "type": "datetime"
213                 }
214             }
215         },
216         "Comic": "comic",
217         "comic": {
218             "class_name": "Comic",
219             "table_name": "comics",
220             "associations": {
221                 "belongs_to": {
222                     "author": {
223                         "id_column": "author_id"
224                     }
225                 },
226                 "has_many": {
227                     "stories": {
228                         "foreign_key": "comic_id",
229                         "list_method": "list_by_comic"
230                     }
231                 },
232                 "has_many_through": {}
233             },
234             "attributes": {
235                 "id": {
236                     "type": "number",
237                     "primary_key": 1,
238                     "rules": {
239                         "number": true
240                     }
241                 },
242                 "title": {
243                     "type": "text",
244                     "rules": {
245                         "required": true
246                     }
247                 },
248                 "description": {
249                     "type": "text",
250                     "rules": {}
251                 },
252                 "visible": {
253                     "type": "number",
254                     "rules": {
255                         "required": true,
256                         "number": true
257                     }
258                 },
259                 "author_id": {
260                     "type": "number",
261                     "rules": {
262                         "required": true,
263                         "number": true
264                     }
265                 },
266                 "created_at": {
267                     "type": "datetime"
268                 },
269                 "updated_at": {
270                     "type": "datetime"
271                 }
272             }
273         },
274         "Story": "story",
275         "story": {
276             "class_name": "Story",
277             "table_name": "stories",
278             "associations": {
279                 "belongs_to": {
280                     "comic": {
281                         "id_column": "comic_id"
282                     }
283                 },
284                 "has_many": {
285                     "story_sheets": {
286                         "foreign_key": "story_id",
287                         "list_method": "list_by_story"
288                     },
289                     "sheets": {
290                         "through": "story_sheets",
291                         "foreign_key": "story_id",
292                         "list_method": "list_by_story"
293                     }
294                 }
295             },
296             "attributes": {
297                 "id": {
298                     "type": "number",
299                     "primary_key": 1,
300                     "rules": {
301                         "number": true
302                     }
303                 },
304                 "comic_id": {
305                     "type": "number",
306                     "rules": {
307                         "number": true
308                     }
309                 },
310                 "title": {
311                     "type": "text",
312                     "rules": {}
313                 },
314                 "description": {
315                     "type": "text",
316                     "rules": {}
317                 },
318                 "t": {
319                     "type": "number",
320                     "rules": {
321                         "required": true,
322                         "number": true,
323                         "min": 0
324                     }
325                 },
326                 "visible": {
327                     "type": "number",
328                     "rules": {
329                         "required": true,
330                         "number": true
331                     }
332                 },
333                 "created_at": {
334                     "type": "datetime"
335                 },
336                 "updated_at": {
337                     "type": "datetime"
338                 }
339             }
340         },
341         "StorySheet": "story_sheet",
342         "story_sheet": {
343             "class_name": "StorySheet",
344             "table_name": "story_sheets",
345             "associations": {
346                 "belongs_to": {
347                     "story": {
348                         "id_column": "story_id"
349                     },
350                     "sheet": {
351                         "id_column": "sheet_id"
352                     }
353                 },
354                 "has_many": {}
355             },
356             "attributes": {
357                 "id": {
358                     "type": "number",
359                     "primary_key": 1,
360                     "rules": {
361                         "number": true
362                     }
363                 },
364                 "story_id": {
365                     "type": "number",
366                     "rules": {
367                         "number": true
368                     }
369                 },
370                 "sheet_id": {
371                     "type": "number",
372                     "rules": {
373                         "number": true
374                     }
375                 },
376                 "t": {
377                     "type": "number",
378                     "rules": {
379                         "required": true,
380                         "number": true,
381                         "min": 0
382                     }
383                 },
384                 "author_id": {
385                     "type": "number",
386                     "rules": {
387                         "required": true,
388                         "number": true
389                     }
390                 },
391                 "created_at": {
392                     "type": "datetime"
393                 },
394                 "updated_at": {
395                     "type": "datetime"
396                 }
397             }
398         },
399         "Sheet": "sheet",
400         "sheet": {
401             "class_name": "Sheet",
402             "table_name": "sheets",
403             "associations": {
404                 "belongs_to": {
405                     "author": {
406                         "id_column": "author_id"
407                     }
408                 },
409                 "has_many": {
410                     "story_sheets": {
411                         "foreign_key": "story_id",
412                         "list_method": "list_by_sheet"
413                     },
414                     "stories": {
415                         "through": "story_sheets",
416                         "foreign_key": "sheet_id",
417                         "list_method": "list_by_sheet"
418                     },
419                     "sheet_panels": {
420                         "foreign_key": "sheet_id",
421                         "list_method": "list_by_sheet"
422                     },
423                     "panels": {
424                         "through": "sheet_panels",
425                         "foreign_key": "sheet_id",
426                         "list_method": "list_by_sheet"
427                     }
428                 }
429             },
430             "attributes": {
431                 "id": {
432                     "type": "number",
433                     "primary_key": 1,
434                     "rules": {
435                         "number": true
436                     }
437                 },
438                 "caption": {
439                     "type": "text",
440                     "rules": {}
441                 },
442                 "width": {
443                     "type": "number",
444                     "rules": {
445                         "required": true,
446                         "number": true
447                     }
448                 },
449                 "height": {
450                     "type": "number",
451                     "rules": {
452                         "required": true,
453                         "number": true
454                     }
455                 },
456                 "visible": {
457                     "type": "number",
458                     "rules": {
459                         "required": true,
460                         "number": true
461                     }
462                 },
463                 "author_id": {
464                     "type": "number",
465                     "rules": {
466                         "required": true,
467                         "number": true
468                     }
469                 },
470                 "created_at": {
471                     "type": "datetime"
472                 },
473                 "updated_at": {
474                     "type": "datetime"
475                 }
476             }
477         },
478         "SheetPanel": "sheet_panel",
479         "sheet_panel": {
480             "class_name": "SheetPanel",
481             "table_name": "sheet_panels",
482             "associations": {
483                 "belongs_to": {
484                     "sheet": {
485                         "id_column": "sheet_id"
486                     },
487                     "panel": {
488                         "id_column": "panel_id"
489                     }
490                 },
491                 "has_many": {}
492             },
493             "attributes": {
494                 "id": {
495                     "type": "number",
496                     "primary_key": 1,
497                     "rules": {
498                         "number": true
499                     }
500                 },
501                 "sheet_id": {
502                     "type": "number",
503                     "rules": {
504                         "number": true
505                     }
506                 },
507                 "panel_id": {
508                     "type": "number",
509                     "rules": {
510                         "number": true
511                     }
512                 },
513                 "x": {
514                     "type": "number",
515                     "rules": {
516                         "required": true,
517                         "number": true
518                     }
519                 },
520                 "y": {
521                     "type": "number",
522                     "rules": {
523                         "required": true,
524                         "number": true
525                     }
526                 },
527                 "z": {
528                     "type": "number",
529                     "rules": {
530                         "required": true,
531                         "number": true,
532                         "min": 1
533                     }
534                 },
535                 "t": {
536                     "type": "number",
537                     "rules": {
538                         "required": true,
539                         "number": true,
540                         "min": 0
541                     }
542                 },
543                 "author_id": {
544                     "type": "number",
545                     "rules": {
546                         "number": true
547                     }
548                 },
549                 "created_at": {
550                     "type": "datetime"
551                 },
552                 "updated_at": {
553                     "type": "datetime"
554                 }
555             }
556         },
557         "Panel": "panel",
558         "panel": {
559             "class_name": "Panel",
560             "table_name": "panels",
561             "associations": {
562                 "belongs_to": {
563                     "author": {
564                         "id_column": "author_id"
565                     }
566                 },
567                 "has_many": {
568                     "scroll_panels": {
569                         "foreign_key": "panel_id",
570                         "list_method": "list_by_panel"
571                     },
572                     "scrolls": {
573                         "through": "scroll_panels",
574                         "foreign_key": "panel_id",
575                         "list_method": "list_by_panel"
576                     },
577                     "sheet_panels": {
578                         "foreign_key": "panel_id",
579                         "list_method": "list_by_panel"
580                     },
581                     "sheets": {
582                         "through": "sheet_panels",
583                         "foreign_key": "panel_id",
584                         "list_method": "list_by_panel"
585                     },
586                     "panel_pictures": {
587                         "foreign_key": "panel_id",
588                         "list_method": "list_by_panel"
589                     },
590                     "speech_balloons": {
591                         "foreign_key": "panel_id",
592                         "list_method": "list_by_panel"
593                     },
594                     "ground_pictures": {
595                         "foreign_key": "panel_id",
596                         "list_method": "list_by_panel"
597                     },
598                     "ground_colors": {
599                         "foreign_key": "panel_id",
600                         "list_method": "list_by_panel"
601                     }
602                 }
603             },
604             "attributes": {
605                 "id": {
606                     "type": "number",
607                     "primary_key": 1,
608                     "rules": {
609                         "number": true
610                     }
611                 },
612                 "width": {
613                     "type": "number",
614                     "rules": {
615                         "required": true,
616                         "number": true,
617                         "min": 1
618                     }
619                 },
620                 "height": {
621                     "type": "number",
622                     "rules": {
623                         "required": true,
624                         "number": true,
625                         "min": 1
626                     }
627                 },
628                 "border": {
629                     "type": "number",
630                     "rules": {
631                         "required": true,
632                         "number": true,
633                         "min": 0
634                     }
635                 },
636                 "caption": {
637                     "type": "text",
638                     "rules": {}
639                 },
640                 "publish": {
641                     "type": "number",
642                     "rules": {
643                         "required": true,
644                         "number": true
645                     }
646                 },
647                 "author_id": {
648                     "type": "number",
649                     "rules": {
650                         "required": true,
651                         "number": true
652                     }
653                 },
654                 "created_at": {
655                     "type": "datetime"
656                 },
657                 "updated_at": {
658                     "type": "datetime"
659                 }
660             }
661         },
662         "PanelPicture": "panel_picture",
663         "panel_picture": {
664             "class_name": "PanelPicture",
665             "table_name": "panel_pictures",
666             "associations": {
667                 "belongs_to": {
668                     "panel": {
669                         "id_column": "panel_id"
670                     }
671                 },
672                 "has_many": {}
673             },
674             "attributes": {
675                 "id": {
676                     "type": "number",
677                     "primary_key": 1,
678                     "rules": {
679                         "number": true
680                     }
681                 },
682                 "panel_id": {
683                     "type": "number",
684                     "rules": {
685                         "number": true
686                     }
687                 },
688                 "picture_id": {
689                     "type": "number",
690                     "rules": {
691                         "required": true,
692                         "number": true
693                     }
694                 },
695                 "caption": {
696                     "type": "text",
697                     "rules": {}
698                 },
699                 "x": {
700                     "type": "number",
701                     "rules": {
702                         "required": true,
703                         "number": true
704                     }
705                 },
706                 "y": {
707                     "type": "number",
708                     "rules": {
709                         "required": true,
710                         "number": true
711                     }
712                 },
713                 "width": {
714                     "type": "number",
715                     "rules": {
716                         "required": true,
717                         "number": true
718                     }
719                 },
720                 "height": {
721                     "type": "number",
722                     "rules": {
723                         "required": true,
724                         "number": true
725                     }
726                 },
727                 "link": {
728                     "type": "text",
729                     "rules": {
730                         "url": true
731                     }
732                 },
733                 "z": {
734                     "type": "number",
735                     "rules": {
736                         "required": true,
737                         "number": true,
738                         "min": 1
739                     }
740                 },
741                 "t": {
742                     "type": "number",
743                     "rules": {
744                         "required": true,
745                         "number": true,
746                         "min": 0
747                     }
748                 },
749                 "created_at": {
750                     "type": "datetime"
751                 },
752                 "updated_at": {
753                     "type": "datetime"
754                 }
755             }
756         },
757         "SpeechBalloon": "speech_balloon",
758         "speech_balloon": {
759             "class_name": "SpeechBalloon",
760             "table_name": "speech_balloons",
761             "extend": "classname",
762             "associations": {
763                 "belongs_to": {
764                     "panel": {
765                         "id_column": "panel_id"
766                     }
767                 },
768                 "has_many": {},
769                 "has_one": {
770                     "balloon": {
771                         "foreign_key": "speech_balloon_id",
772                         "list_method": "list_by_speech_balloon"
773                     },
774                     "speech": {
775                         "foreign_key": "speech_balloon_id",
776                         "list_method": "list_by_speech_balloon"
777                     }
778                 }
779             },
780             "attributes": {
781                 "id": {
782                     "type": "number",
783                     "primary_key": 1,
784                     "rules": {
785                         "number": true
786                     }
787                 },
788                 "panel_id": {
789                     "type": "number",
790                     "rules": {
791                         "number": true
792                     }
793                 },
794                 "speech_balloon_template_id": {
795                     "type": "number",
796                     "rules": {
797                         "required": true,
798                         "number": true
799                     }
800                 },
801                 "classname": {
802                     "type": "text",
803                     "rules": {
804                         "required": true
805                     }
806                 },
807                 "z": {
808                     "type": "number",
809                     "rules": {
810                         "required": true,
811                         "number": true,
812                         "min": 1
813                     }
814                 },
815                 "t": {
816                     "type": "number",
817                     "rules": {
818                         "required": true,
819                         "number": true,
820                         "min": 0
821                     }
822                 },
823                 "settings": {
824                     "type": "text",
825                     "rules": {}
826                 },
827                 "caption": {
828                     "type": "text",
829                     "rules": {}
830                 },
831                 "created_at": {
832                     "type": "datetime"
833                 },
834                 "updated_at": {
835                     "type": "datetime"
836                 }
837             }
838         },
839         "Balloon": "balloon",
840         "balloon": {
841             "class_name": "Balloon",
842             "table_name": "balloons",
843             "associations": {
844                 "belongs_to": {
845                     "speech_balloon": {
846                         "id_column": "speech_balloon_id"
847                     },
848                     "system_picture": {
849                         "id_column": "system_picture_id"
850                     }
851                 },
852                 "has_many": {}
853             },
854             "attributes": {
855                 "id": {
856                     "type": "number",
857                     "primary_key": 1,
858                     "rules": {
859                         "number": true
860                     }
861                 },
862                 "speech_balloon_id": {
863                     "type": "number",
864                     "rules": {
865                         "number": true
866                     }
867                 },
868                 "system_picture_id": {
869                     "type": "number",
870                     "rules": {
871                         "required": true,
872                         "number": true
873                     }
874                 },
875                 "x": {
876                     "type": "number",
877                     "rules": {
878                         "required": true,
879                         "number": true
880                     }
881                 },
882                 "y": {
883                     "type": "number",
884                     "rules": {
885                         "required": true,
886                         "number": true
887                     }
888                 },
889                 "width": {
890                     "type": "number",
891                     "rules": {
892                         "required": true,
893                         "number": true,
894                         "min": 1
895                     }
896                 },
897                 "height": {
898                     "type": "number",
899                     "rules": {
900                         "required": true,
901                         "number": true,
902                         "min": 1
903                     }
904                 },
905                 "r": {
906                     "type": "number",
907                     "rules": {
908                         "required": true,
909                         "number": true
910                     }
911                 },
912                 "settings": {
913                     "type": "text",
914                     "rules": {}
915                 },
916                 "created_at": {
917                     "type": "datetime"
918                 },
919                 "updated_at": {
920                     "type": "datetime"
921                 }
922             }
923         },
924         "Speech": "speech",
925         "speech": {
926             "class_name": "Speech",
927             "table_name": "speeches",
928             "associations": {
929                 "belongs_to": {
930                     "speech_balloon": {
931                         "id_column": "speech_balloon_id"
932                     },
933                     "writing_format": {
934                         "id_column": "writing_format_id"
935                     }
936                 },
937                 "has_many": {}
938             },
939             "attributes": {
940                 "id": {
941                     "type": "number",
942                     "primary_key": 1,
943                     "rules": {
944                         "number": true
945                     }
946                 },
947                 "speech_balloon_id": {
948                     "type": "number",
949                     "rules": {
950                         "number": true
951                     }
952                 },
953                 "writing_format_id": {
954                     "type": "number",
955                     "rules": {
956                         "required": true,
957                         "number": true
958                     }
959                 },
960                 "content": {
961                     "type": "text",
962                     "rules": {}
963                 },
964                 "font_size": {
965                     "type": "float",
966                     "rules": {
967                         "required": true,
968                         "number": true,
969                         "min": 0
970                     }
971                 },
972                 "text_align": {
973                     "type": "number",
974                     "rules": {
975                         "required": true,
976                         "number": true,
977                         "range": [
978                             0,
979                             3
980                         ]
981                     }
982                 },
983                 "fore_color": {
984                     "type": "number",
985                     "rules": {
986                         "required": true,
987                         "number": true,
988                         "range": [
989                             0,
990                             16777215
991                         ]
992                     }
993                 },
994                 "x": {
995                     "type": "number",
996                     "rules": {
997                         "required": true,
998                         "number": true
999                     }
1000                 },
1001                 "y": {
1002                     "type": "number",
1003                     "rules": {
1004                         "required": true,
1005                         "number": true
1006                     }
1007                 },
1008                 "width": {
1009                     "type": "number",
1010                     "rules": {
1011                         "required": true,
1012                         "number": true,
1013                         "min": 1
1014                     }
1015                 },
1016                 "height": {
1017                     "type": "number",
1018                     "rules": {
1019                         "required": true,
1020                         "number": true,
1021                         "min": 1
1022                     }
1023                 },
1024                 "quotes": {
1025                     "type": "text",
1026                     "rules": {}
1027                 },
1028                 "settings": {
1029                     "type": "text",
1030                     "rules": {}
1031                 },
1032                 "created_at": {
1033                     "type": "datetime"
1034                 },
1035                 "updated_at": {
1036                     "type": "datetime"
1037                 }
1038             }
1039         },
1040         "GroundPicture": "ground_picture",
1041         "ground_picture": {
1042             "class_name": "GroundPicture",
1043             "table_name": "ground_pictures",
1044             "associations": {
1045                 "belongs_to": {
1046                     "panel": {
1047                         "id_column": "panel_id"
1048                     }
1049                 },
1050                 "has_many": {}
1051             },
1052             "attributes": {
1053                 "id": {
1054                     "type": "number",
1055                     "primary_key": 1,
1056                     "rules": {
1057                         "number": true
1058                     }
1059                 },
1060                 "panel_id": {
1061                     "type": "number",
1062                     "rules": {
1063                         "number": true
1064                     }
1065                 },
1066                 "picture_id": {
1067                     "type": "number",
1068                     "rules": {
1069                         "required": true,
1070                         "number": true
1071                     }
1072                 },
1073                 "caption": {
1074                     "type": "text",
1075                     "rules": {}
1076                 },
1077                 "repeat": {
1078                     "type": "number",
1079                     "rules": {
1080                         "required": true,
1081                         "number": true,
1082                         "range": [
1083                             0,
1084                             3
1085                         ]
1086                     }
1087                 },
1088                 "x": {
1089                     "type": "number",
1090                     "rules": {
1091                         "required": true,
1092                         "number": true
1093                     }
1094                 },
1095                 "y": {
1096                     "type": "number",
1097                     "rules": {
1098                         "required": true,
1099                         "number": true
1100                     }
1101                 },
1102                 "z": {
1103                     "type": "number",
1104                     "rules": {
1105                         "required": true,
1106                         "number": true,
1107                         "min": 1
1108                     }
1109                 },
1110                 "t": {
1111                     "type": "number",
1112                     "rules": {
1113                         "required": true,
1114                         "number": true,
1115                         "min": 0
1116                     }
1117                 },
1118                 "created_at": {
1119                     "type": "datetime"
1120                 },
1121                 "updated_at": {
1122                     "type": "datetime"
1123                 }
1124             }
1125         },
1126         "GroundColor": "ground_color",
1127         "ground_color": {
1128             "class_name": "GroundColor",
1129             "table_name": "ground_colors",
1130             "associations": {
1131                 "belongs_to": {
1132                     "panel": {
1133                         "id_column": "panel_id"
1134                     }
1135                 },
1136                 "has_many": {}
1137             },
1138             "attributes": {
1139                 "id": {
1140                     "type": "number",
1141                     "primary_key": 1,
1142                     "rules": {
1143                         "number": true
1144                     }
1145                 },
1146                 "panel_id": {
1147                     "type": "number",
1148                     "rules": {
1149                         "number": true
1150                     }
1151                 },
1152                 "caption": {
1153                     "type": "text",
1154                     "rules": {}
1155                 },
1156                 "code": {
1157                     "type": "number",
1158                     "rules": {
1159                         "required": true,
1160                         "number": true,
1161                         "range": [
1162                             0,
1163                             16777215
1164                         ]
1165                     }
1166                 },
1167                 "orientation": {
1168                     "type": "number",
1169                     "rules": {
1170                         "required": true,
1171                         "number": true,
1172                         "range": [
1173                             0,
1174                             1
1175                         ]
1176                     }
1177                 },
1178                 "xy": {
1179                     "type": "number",
1180                     "rules": {
1181                         "number": true
1182                     }
1183                 },
1184                 "wh": {
1185                     "type": "number",
1186                     "rules": {
1187                         "number": true
1188                     }
1189                 },
1190                 "z": {
1191                     "type": "number",
1192                     "rules": {
1193                         "required": true,
1194                         "number": true,
1195                         "min": 1
1196                     }
1197                 },
1198                 "t": {
1199                     "type": "number",
1200                     "rules": {
1201                         "required": true,
1202                         "number": true,
1203                         "min": 0
1204                     }
1205                 },
1206                 "created_at": {
1207                     "type": "datetime"
1208                 },
1209                 "updated_at": {
1210                     "type": "datetime"
1211                 }
1212             }
1213         },
1214         "OriginalPicture": "original_picture",
1215         "original_picture": {
1216             "class_name": "OriginalPicture",
1217             "table_name": "original_pictures",
1218             "associations": {
1219                 "belongs_to": {
1220                     "artist": {
1221                         "id_column": "artist_id"
1222                     }
1223                 },
1224                 "has_many": {
1225                     "pictures": {
1226                         "foreign_key": "original_picture_id",
1227                         "list_method": "list_by_original_picture"
1228                     }
1229                 },
1230                 "has_one": {
1231                     "resource_picture": {
1232                         "foreign_key": "original_picture_id",
1233                         "list_method": "list_by_original_picture"
1234                     }
1235                 }
1236             },
1237             "attributes": {
1238                 "id": {
1239                     "type": "number",
1240                     "primary_key": 1,
1241                     "rules": {
1242                         "number": true
1243                     }
1244                 },
1245                 "ext": {
1246                     "type": "text",
1247                     "rules": {
1248                         "required": true
1249                     }
1250                 },
1251                 "width": {
1252                     "type": "number",
1253                     "rules": {
1254                         "required": true,
1255                         "number": true
1256                     }
1257                 },
1258                 "height": {
1259                     "type": "number",
1260                     "rules": {
1261                         "required": true,
1262                         "number": true
1263                     }
1264                 },
1265                 "filesize": {
1266                     "type": "number",
1267                     "rules": {
1268                         "required": true,
1269                         "number": true
1270                     }
1271                 },
1272                 "artist_id": {
1273                     "type": "number",
1274                     "rules": {
1275                         "required": true,
1276                         "number": true
1277                     }
1278                 },
1279                 "md5": {
1280                     "type": "text",
1281                     "rules": {
1282                         "required": true
1283                     }
1284                 },
1285                 "uploaded_at": {
1286                     "type": "datetime"
1287                 },
1288                 "published_at": {
1289                     "type": "datetime"
1290                 },
1291                 "stopped_at": {
1292                     "type": "datetime"
1293                 },
1294                 "created_at": {
1295                     "type": "datetime"
1296                 },
1297                 "updated_at": {
1298                     "type": "datetime"
1299                 }
1300             }
1301         },
1302         "Picture": "picture",
1303         "picture": {
1304             "class_name": "Picture",
1305             "table_name": "pictures",
1306             "associations": {
1307                 "belongs_to": {
1308                     "license": {
1309                         "id_column": "license_id"
1310                     },
1311                     "artist": {
1312                         "id_column": "artist_id"
1313                     }
1314                 },
1315                 "has_many": {},
1316                 "has_one": {}
1317             },
1318             "attributes": {
1319                 "id": {
1320                     "type": "number",
1321                     "primary_key": 1,
1322                     "rules": {
1323                         "number": true
1324                     }
1325                 },
1326                 "original_picture_id": {
1327                     "type": "number",
1328                     "rules": {
1329                         "required": true,
1330                         "number": true
1331                     }
1332                 },
1333                 "revision": {
1334                     "type": "number",
1335                     "rules": {
1336                         "required": true,
1337                         "number": true
1338                     }
1339                 },
1340                 "ext": {
1341                     "type": "text",
1342                     "rules": {
1343                         "required": true
1344                     }
1345                 },
1346                 "width": {
1347                     "type": "number",
1348                     "rules": {
1349                         "required": true,
1350                         "number": true
1351                     }
1352                 },
1353                 "height": {
1354                     "type": "number",
1355                     "rules": {
1356                         "required": true,
1357                         "number": true
1358                     }
1359                 },
1360                 "filesize": {
1361                     "type": "number",
1362                     "rules": {
1363                         "required": true,
1364                         "number": true
1365                     }
1366                 },
1367                 "artist_id": {
1368                     "type": "number",
1369                     "rules": {
1370                         "required": true,
1371                         "number": true
1372                     }
1373                 },
1374                 "license_id": {
1375                     "type": "number",
1376                     "rules": {
1377                         "required": true,
1378                         "number": true
1379                     }
1380                 },
1381                 "md5": {
1382                     "type": "text",
1383                     "rules": {
1384                         "required": true
1385                     }
1386                 },
1387                 "artist_name": {
1388                     "type": "text",
1389                     "rules": {
1390                         "required": true
1391                     }
1392                 },
1393                 "credit": {
1394                     "type": "text",
1395                     "rules": {}
1396                 },
1397                 "settings": {
1398                     "type": "text",
1399                     "rules": {}
1400                 },
1401                 "classname": {
1402                     "type": "text",
1403                     "rules": {
1404                         "required": true
1405                     }
1406                 },
1407                 "created_at": {
1408                     "type": "datetime"
1409                 },
1410                 "updated_at": {
1411                     "type": "datetime"
1412                 }
1413             }
1414         },
1415         "ResourcePicture": "resource_picture",
1416         "resource_picture": {
1417             "class_name": "ResourcePicture",
1418             "table_name": "resource_pictures",
1419             "associations": {
1420                 "belongs_to": {
1421                     "license": {
1422                         "id_column": "license_id"
1423                     },
1424                     "artist": {
1425                         "id_column": "artist_id"
1426                     }
1427                 },
1428                 "has_many": {},
1429                 "has_one": {}
1430             },
1431             "attributes": {
1432                 "id": {
1433                     "type": "number",
1434                     "primary_key": 1,
1435                     "rules": {
1436                         "number": true
1437                     }
1438                 },
1439                 "original_picture_id": {
1440                     "type": "number",
1441                     "rules": {
1442                         "required": true,
1443                         "number": true
1444                     }
1445                 },
1446                 "revision": {
1447                     "type": "number",
1448                     "rules": {
1449                         "required": true,
1450                         "number": true
1451                     }
1452                 },
1453                 "ext": {
1454                     "type": "text",
1455                     "rules": {
1456                         "required": true
1457                     }
1458                 },
1459                 "width": {
1460                     "type": "number",
1461                     "rules": {
1462                         "required": true,
1463                         "number": true
1464                     }
1465                 },
1466                 "height": {
1467                     "type": "number",
1468                     "rules": {
1469                         "required": true,
1470                         "number": true
1471                     }
1472                 },
1473                 "filesize": {
1474                     "type": "number",
1475                     "rules": {
1476                         "required": true,
1477                         "number": true
1478                     }
1479                 },
1480                 "artist_id": {
1481                     "type": "number",
1482                     "rules": {
1483                         "required": true,
1484                         "number": true
1485                     }
1486                 },
1487                 "license_id": {
1488                     "type": "number",
1489                     "rules": {
1490                         "required": true,
1491                         "number": true
1492                     }
1493                 },
1494                 "md5": {
1495                     "type": "text",
1496                     "rules": {
1497                         "required": true
1498                     }
1499                 },
1500                 "artist_name": {
1501                     "type": "text",
1502                     "rules": {
1503                         "required": true
1504                     }
1505                 },
1506                 "credit": {
1507                     "type": "text",
1508                     "rules": {}
1509                 },
1510                 "settings": {
1511                     "type": "text",
1512                     "rules": {}
1513                 },
1514                 "picture_id": {
1515                     "type": "number",
1516                     "rules": {
1517                         "required": true,
1518                         "number": true
1519                     }
1520                 },
1521                 "classname": {
1522                     "type": "text",
1523                     "rules": {
1524                         "required": true
1525                     }
1526                 },
1527                 "created_at": {
1528                     "type": "datetime"
1529                 },
1530                 "updated_at": {
1531                     "type": "datetime"
1532                 }
1533             }
1534         },
1535         "SpeechBalloonTemplate": "speech_balloon_template",
1536         "speech_balloon_template": {
1537             "class_name": "SpeechBalloonTemplate",
1538             "table_name": "speech_balloon_templates",
1539             "associations": {
1540                 "belongs_to": {
1541                     "system_picture": {
1542                         "id_column": "system_picture_id"
1543                     }
1544                 },
1545                 "has_many": {
1546                     "speech_balloons": {
1547                         "foreign_key": "speech_balloon_template_id",
1548                         "list_method": "list_by_speech_balloon_template"
1549                     },
1550                     "panels": {
1551                         "through": "speech_balloons",
1552                         "foreign_key": "speech_balloon_template_id",
1553                         "list_method": "list_by_speech_balloon_template"
1554                     }
1555                 },
1556                 "has_one": {}
1557             },
1558             "attributes": {
1559                 "id": {
1560                     "type": "number",
1561                     "primary_key": 1,
1562                     "rules": {
1563                         "number": true
1564                     }
1565                 },
1566                 "name": {
1567                     "type": "text",
1568                     "rules": {
1569                         "required": true
1570                     }
1571                 },
1572                 "classname": {
1573                     "type": "text",
1574                     "rules": {
1575                         "required": true
1576                     }
1577                 },
1578                 "caption": {
1579                     "type": "text",
1580                     "rules": {
1581                         "required": true
1582                     }
1583                 },
1584                 "t": {
1585                     "type": "number",
1586                     "rules": {
1587                         "required": true,
1588                         "number": true,
1589                         "min": 0
1590                     }
1591                 },
1592                 "system_picture_id": {
1593                     "type": "number",
1594                     "rules": {
1595                         "required": true,
1596                         "number": true
1597                     }
1598                 },
1599                 "settings": {
1600                     "type": "text",
1601                     "rules": {
1602                         "required": true
1603                     }
1604                 },
1605                 "created_at": {
1606                     "type": "datetime"
1607                 },
1608                 "updated_at": {
1609                     "type": "datetime"
1610                 }
1611             }
1612         },
1613         "WritingFormat": "writing_format",
1614         "writing_format": {
1615             "class_name": "WritingFormat",
1616             "table_name": "writing_formats",
1617             "associations": {
1618                 "belongs_to": {
1619                     "system_picture": {
1620                         "id_column": "system_picture_id"
1621                     }
1622                 },
1623                 "has_many": {
1624                     "speeches": {
1625                         "foreign_key": "writing_format_id",
1626                         "list_method": "list_by_writing_format"
1627                     }
1628                 },
1629                 "has_one": {}
1630             },
1631             "attributes": {
1632                 "id": {
1633                     "type": "number",
1634                     "primary_key": 1,
1635                     "rules": {
1636                         "number": true
1637                     }
1638                 },
1639                 "name": {
1640                     "type": "text",
1641                     "rules": {
1642                         "required": true
1643                     }
1644                 },
1645                 "classname": {
1646                     "type": "text",
1647                     "rules": {
1648                         "required": true
1649                     }
1650                 },
1651                 "caption": {
1652                     "type": "text",
1653                     "rules": {
1654                         "required": true
1655                     }
1656                 },
1657                 "system_picture_id": {
1658                     "type": "number",
1659                     "rules": {
1660                         "required": true,
1661                         "number": true
1662                     }
1663                 },
1664                 "settings": {
1665                     "type": "text",
1666                     "rules": {
1667                         "required": true
1668                     }
1669                 },
1670                 "created_at": {
1671                     "type": "datetime"
1672                 },
1673                 "updated_at": {
1674                     "type": "datetime"
1675                 }
1676             }
1677         },
1678         "LicenseGroup": "license_group",
1679         "license_group": {
1680             "class_name": "LicenseGroup",
1681             "table_name": "license_groups",
1682             "associations": {
1683                 "belongs_to": {},
1684                 "has_many": {
1685                     "licenses": {
1686                         "foreign_key": "license_group_id",
1687                         "list_method": "list_by_license_group"
1688                     }
1689                 },
1690                 "has_one": {}
1691             },
1692             "attributes": {
1693                 "id": {
1694                     "type": "number",
1695                     "primary_key": 1,
1696                     "rules": {
1697                         "number": true
1698                     }
1699                 },
1700                 "name": {
1701                     "type": "text",
1702                     "rules": {
1703                         "required": true
1704                     }
1705                 },
1706                 "classname": {
1707                     "type": "text",
1708                     "rules": {
1709                         "required": true
1710                     }
1711                 },
1712                 "caption": {
1713                     "type": "text",
1714                     "rules": {
1715                         "required": true
1716                     }
1717                 },
1718                 "url": {
1719                     "type": "text",
1720                     "rules": {
1721                         "required": true
1722                     }
1723                 },
1724                 "created_at": {
1725                     "type": "datetime"
1726                 },
1727                 "updated_at": {
1728                     "type": "datetime"
1729                 }
1730             }
1731         },
1732         "License": "license",
1733         "license": {
1734             "class_name": "License",
1735             "table_name": "licenses",
1736             "associations": {
1737                 "belongs_to": {
1738                     "license_group": {
1739                         "id_column": "license_group_id"
1740                     },
1741                     "system_picture": {
1742                         "id_column": "system_picture_id"
1743                     }
1744                 },
1745                 "has_many": {
1746                     "resource_pictures": {
1747                         "foreign_key": "license_id",
1748                         "list_method": "list_by_license"
1749                     }
1750                 },
1751                 "has_one": {}
1752             },
1753             "attributes": {
1754                 "id": {
1755                     "type": "number",
1756                     "primary_key": 1,
1757                     "rules": {
1758                         "number": true
1759                     }
1760                 },
1761                 "license_group_id": {
1762                     "type": "number",
1763                     "rules": {
1764                         "number": true
1765                     }
1766                 },
1767                 "name": {
1768                     "type": "text",
1769                     "rules": {
1770                         "required": true
1771                     }
1772                 },
1773                 "caption": {
1774                     "type": "text",
1775                     "rules": {
1776                         "required": true
1777                     }
1778                 },
1779                 "system_picture_id": {
1780                     "type": "number",
1781                     "rules": {
1782                         "required": true,
1783                         "number": true
1784                     }
1785                 },
1786                 "url": {
1787                     "type": "text",
1788                     "rules": {
1789                         "required": true
1790                     }
1791                 },
1792                 "settings": {
1793                     "type": "text",
1794                     "rules": {}
1795                 },
1796                 "credit_pictures": {
1797                     "type": "text",
1798                     "rules": {}
1799                 },
1800                 "created_at": {
1801                     "type": "datetime"
1802                 },
1803                 "updated_at": {
1804                     "type": "datetime"
1805                 }
1806             }
1807         },
1808         "Author": "author",
1809         "author": {
1810             "class_name": "Author",
1811             "table_name": "authors",
1812             "associations": {
1813                 "belongs_to": {},
1814                 "has_many": {
1815                     "scrolls": {
1816                         "foreign_key": "author_id",
1817                         "list_method": "list_by_author"
1818                     },
1819                     "comics": {
1820                         "foreign_key": "author_id",
1821                         "list_method": "list_by_author"
1822                     },
1823                     "stories": {
1824                         "foreign_key": "author_id",
1825                         "list_method": "list_by_author"
1826                     },
1827                     "sheets": {
1828                         "foreign_key": "author_id",
1829                         "list_method": "list_by_author"
1830                     },
1831                     "panels": {
1832                         "foreign_key": "author_id",
1833                         "list_method": "list_by_author"
1834                     }
1835                 },
1836                 "has_one": {}
1837             },
1838             "attributes": {
1839                 "id": {
1840                     "type": "number",
1841                     "primary_key": 1,
1842                     "rules": {
1843                         "number": true
1844                     }
1845                 },
1846                 "name": {
1847                     "type": "text",
1848                     "rules": {
1849                         "required": true
1850                     }
1851                 },
1852                 "user_id": {
1853                     "type": "number",
1854                     "rules": {
1855                         "required": true,
1856                         "number": true
1857                     }
1858                 },
1859                 "created_at": {
1860                     "type": "datetime"
1861                 },
1862                 "updated_at": {
1863                     "type": "datetime"
1864                 }
1865             }
1866         },
1867         "Artist": "artist",
1868         "artist": {
1869             "class_name": "Artist",
1870             "table_name": "artists",
1871             "associations": {
1872                 "belongs_to": {},
1873                 "has_many": {
1874                     "resource_pictures": {
1875                         "foreign_key": "artist_id",
1876                         "list_method": "list_by_artist"
1877                     }
1878                 },
1879                 "has_one": {}
1880             },
1881             "attributes": {
1882                 "id": {
1883                     "type": "number",
1884                     "primary_key": 1,
1885                     "rules": {
1886                         "number": true
1887                     }
1888                 },
1889                 "name": {
1890                     "type": "text",
1891                     "rules": {
1892                         "required": true
1893                     }
1894                 },
1895                 "author_id": {
1896                     "type": "number",
1897                     "rules": {
1898                         "required": true,
1899                         "number": true
1900                     }
1901                 },
1902                 "created_at": {
1903                     "type": "datetime"
1904                 },
1905                 "updated_at": {
1906                     "type": "datetime"
1907                 }
1908             }
1909         },
1910         "SystemPicture": "system_picture",
1911         "system_picture": {
1912             "class_name": "SystemPicture",
1913             "table_name": "system_pictures",
1914             "associations": {
1915                 "belongs_to": {},
1916                 "has_many": {},
1917                 "has_one": {}
1918             },
1919             "attributes": {
1920                 "id": {
1921                     "type": "number",
1922                     "primary_key": 1,
1923                     "rules": {
1924                         "number": true
1925                     }
1926                 },
1927                 "ext": {
1928                     "type": "text",
1929                     "rules": {
1930                         "required": true
1931                     }
1932                 },
1933                 "width": {
1934                     "type": "number",
1935                     "rules": {
1936                         "required": true,
1937                         "number": true
1938                     }
1939                 },
1940                 "height": {
1941                     "type": "number",
1942                     "rules": {
1943                         "required": true,
1944                         "number": true
1945                     }
1946                 },
1947                 "filesize": {
1948                     "type": "number",
1949                     "rules": {
1950                         "required": true,
1951                         "number": true
1952                     }
1953                 },
1954                 "md5": {
1955                     "type": "text",
1956                     "rules": {
1957                         "required": true
1958                     }
1959                 },
1960                 "created_at": {
1961                     "type": "datetime"
1962                 },
1963                 "updated_at": {
1964                     "type": "datetime"
1965                 }
1966             }
1967         }
1968     },
1969     "profiles": {
1970         "scroll": {
1971             "fields": [
1972                 "id",
1973                 "title",
1974                 "description",
1975                 "visible",
1976                 "author_id",
1977                 "created_at",
1978                 "updated_at"
1979             ],
1980             "associations": {
1981                 "belongs_to": [
1982                     "author"
1983                 ],
1984                 "has_many": [
1985                     "scroll_panels",
1986                     "panels"
1987                 ]
1988             }
1989         },
1990         "scroll_panel": {
1991             "fields": [
1992                 "id",
1993                 "scroll_id",
1994                 "panel_id",
1995                 "t",
1996                 "author_id",
1997                 "created_at",
1998                 "updated_at"
1999             ],
2000             "associations": {
2001                 "belongs_to": [
2002                     "scroll",
2003                     "panel"
2004                 ],
2005                 "has_many": []
2006             }
2007         },
2008         "comic": {
2009             "fields": [
2010                 "id",
2011                 "title",
2012                 "description",
2013                 "visible",
2014                 "author_id",
2015                 "created_at",
2016                 "updated_at"
2017             ],
2018             "associations": {
2019                 "belongs_to": [
2020                     "author"
2021                 ],
2022                 "has_many": [
2023                     "stories"
2024                 ]
2025             }
2026         },
2027         "story": {
2028             "fields": [
2029                 "id",
2030                 "comic_id",
2031                 "title",
2032                 "description",
2033                 "t",
2034                 "visible",
2035                 "created_at",
2036                 "updated_at"
2037             ],
2038             "associations": {
2039                 "belongs_to": [
2040                     "comic"
2041                 ],
2042                 "has_many": [
2043                     "story_sheets",
2044                     "sheets"
2045                 ]
2046             }
2047         },
2048         "story_sheet": {
2049             "fields": [
2050                 "id",
2051                 "story_id",
2052                 "sheet_id",
2053                 "t",
2054                 "author_id",
2055                 "created_at",
2056                 "updated_at"
2057             ],
2058             "associations": {
2059                 "belongs_to": [
2060                     "story",
2061                     "sheet"
2062                 ],
2063                 "has_many": []
2064             }
2065         },
2066         "sheet": {
2067             "fields": [
2068                 "id",
2069                 "caption",
2070                 "width",
2071                 "height",
2072                 "visible",
2073                 "author_id",
2074                 "created_at",
2075                 "updated_at"
2076             ],
2077             "associations": {
2078                 "belongs_to": [
2079                     "author"
2080                 ],
2081                 "has_many": [
2082                     "story_sheets",
2083                     "stories",
2084                     "sheet_panels",
2085                     "panels"
2086                 ]
2087             }
2088         },
2089         "sheet_panel": {
2090             "fields": [
2091                 "id",
2092                 "sheet_id",
2093                 "panel_id",
2094                 "x",
2095                 "y",
2096                 "z",
2097                 "t",
2098                 "author_id",
2099                 "created_at",
2100                 "updated_at"
2101             ],
2102             "associations": {
2103                 "belongs_to": [
2104                     "sheet",
2105                     "panel"
2106                 ],
2107                 "has_many": []
2108             }
2109         },
2110         "panel": {
2111             "fields": [
2112                 "id",
2113                 "width",
2114                 "height",
2115                 "border",
2116                 "caption",
2117                 "publish",
2118                 "author_id",
2119                 "created_at",
2120                 "updated_at"
2121             ],
2122             "associations": {
2123                 "belongs_to": [
2124                     "author"
2125                 ],
2126                 "has_many": [
2127                     "scroll_panels",
2128                     "scrolls",
2129                     "sheet_panels",
2130                     "sheets",
2131                     "panel_pictures",
2132                     "speech_balloons",
2133                     "ground_pictures",
2134                     "ground_colors"
2135                 ]
2136             }
2137         },
2138         "panel_picture": {
2139             "fields": [
2140                 "id",
2141                 "panel_id",
2142                 "picture_id",
2143                 "caption",
2144                 "x",
2145                 "y",
2146                 "width",
2147                 "height",
2148                 "link",
2149                 "z",
2150                 "t",
2151                 "created_at",
2152                 "updated_at"
2153             ],
2154             "associations": {
2155                 "belongs_to": [
2156                     "panel"
2157                 ],
2158                 "has_many": []
2159             }
2160         },
2161         "speech_balloon": {
2162             "fields": [
2163                 "id",
2164                 "panel_id",
2165                 "speech_balloon_template_id",
2166                 "classname",
2167                 "z",
2168                 "t",
2169                 "settings",
2170                 "caption",
2171                 "created_at",
2172                 "updated_at"
2173             ],
2174             "associations": {
2175                 "belongs_to": [
2176                     "panel"
2177                 ],
2178                 "has_many": [],
2179                 "has_one": [
2180                     "balloon",
2181                     "speech"
2182                 ]
2183             }
2184         },
2185         "speech": {
2186             "fields": [
2187                 "id",
2188                 "speech_balloon_id",
2189                 "writing_format_id",
2190                 "content",
2191                 "font_size",
2192                 "text_align",
2193                 "fore_color",
2194                 "x",
2195                 "y",
2196                 "width",
2197                 "height",
2198                 "quotes",
2199                 "settings",
2200                 "created_at",
2201                 "updated_at"
2202             ],
2203             "associations": {
2204                 "belongs_to": [
2205                     "speech_balloon",
2206                     "writing_format"
2207                 ],
2208                 "has_many": []
2209             }
2210         },
2211         "balloon": {
2212             "fields": [
2213                 "id",
2214                 "speech_balloon_id",
2215                 "system_picture_id",
2216                 "x",
2217                 "y",
2218                 "width",
2219                 "height",
2220                 "r",
2221                 "settings",
2222                 "created_at",
2223                 "updated_at"
2224             ],
2225             "associations": {
2226                 "belongs_to": [
2227                     "speech_balloon",
2228                     "system_picture"
2229                 ],
2230                 "has_many": []
2231             }
2232         },
2233         "ground_picture": {
2234             "fields": [
2235                 "id",
2236                 "panel_id",
2237                 "picture_id",
2238                 "caption",
2239                 "repeat",
2240                 "x",
2241                 "y",
2242                 "z",
2243                 "t",
2244                 "created_at",
2245                 "updated_at"
2246             ],
2247             "associations": {
2248                 "belongs_to": [
2249                     "panel"
2250                 ],
2251                 "has_many": []
2252             }
2253         },
2254         "ground_color": {
2255             "fields": [
2256                 "id",
2257                 "panel_id",
2258                 "caption",
2259                 "code",
2260                 "orientation",
2261                 "xy",
2262                 "wh",
2263                 "z",
2264                 "t",
2265                 "created_at",
2266                 "updated_at"
2267             ],
2268             "associations": {
2269                 "belongs_to": [
2270                     "panel"
2271                 ],
2272                 "has_many": []
2273             }
2274         },
2275         "original_picture": {
2276             "fields": [
2277                 "id",
2278                 "ext",
2279                 "width",
2280                 "height",
2281                 "filesize",
2282                 "artist_id",
2283                 "md5",
2284                 "uploaded_at",
2285                 "published_at",
2286                 "stopped_at",
2287                 "created_at",
2288                 "updated_at"
2289             ],
2290             "associations": {
2291                 "belongs_to": [
2292                     "artist"
2293                 ],
2294                 "has_many": [
2295                     "pictures"
2296                 ],
2297                 "has_one": [
2298                     "resource_picture"
2299                 ]
2300             }
2301         },
2302         "picture": {
2303             "fields": [
2304                 "id",
2305                 "original_picture_id",
2306                 "revision",
2307                 "ext",
2308                 "width",
2309                 "height",
2310                 "filesize",
2311                 "artist_id",
2312                 "license_id",
2313                 "md5",
2314                 "artist_name",
2315                 "credit",
2316                 "settings",
2317                 "classname",
2318                 "created_at",
2319                 "updated_at"
2320             ],
2321             "associations": {
2322                 "belongs_to": [
2323                     "license",
2324                     "artist"
2325                 ],
2326                 "has_many": [],
2327                 "has_one": []
2328             }
2329         },
2330         "resource_picture": {
2331             "fields": [
2332                 "id",
2333                 "original_picture_id",
2334                 "revision",
2335                 "ext",
2336                 "width",
2337                 "height",
2338                 "filesize",
2339                 "artist_id",
2340                 "license_id",
2341                 "md5",
2342                 "artist_name",
2343                 "credit",
2344                 "settings",
2345                 "picture_id",
2346                 "classname",
2347                 "created_at",
2348                 "updated_at"
2349             ],
2350             "associations": {
2351                 "belongs_to": [
2352                     "license",
2353                     "artist"
2354                 ],
2355                 "has_many": [],
2356                 "has_one": []
2357             }
2358         },
2359         "speech_balloon_template": {
2360             "fields": [
2361                 "id",
2362                 "name",
2363                 "classname",
2364                 "caption",
2365                 "t",
2366                 "system_picture_id",
2367                 "settings",
2368                 "created_at",
2369                 "updated_at"
2370             ],
2371             "associations": {
2372                 "belongs_to": [
2373                     "system_picture"
2374                 ],
2375                 "has_many": [
2376                     "speech_balloons",
2377                     "panels"
2378                 ],
2379                 "has_one": []
2380             }
2381         },
2382         "writing_format": {
2383             "fields": [
2384                 "id",
2385                 "name",
2386                 "classname",
2387                 "caption",
2388                 "system_picture_id",
2389                 "settings",
2390                 "created_at",
2391                 "updated_at"
2392             ],
2393             "associations": {
2394                 "belongs_to": [
2395                     "system_picture"
2396                 ],
2397                 "has_many": [
2398                     "speeches"
2399                 ],
2400                 "has_one": []
2401             }
2402         },
2403         "license_group": {
2404             "fields": [
2405                 "id",
2406                 "name",
2407                 "classname",
2408                 "caption",
2409                 "url",
2410                 "created_at",
2411                 "updated_at"
2412             ],
2413             "associations": {
2414                 "belongs_to": [],
2415                 "has_many": [
2416                     "licenses"
2417                 ],
2418                 "has_one": []
2419             }
2420         },
2421         "license": {
2422             "fields": [
2423                 "id",
2424                 "license_group_id",
2425                 "name",
2426                 "caption",
2427                 "system_picture_id",
2428                 "url",
2429                 "settings",
2430                 "credit_pictures",
2431                 "created_at",
2432                 "updated_at"
2433             ],
2434             "associations": {
2435                 "belongs_to": [
2436                     "license_group",
2437                     "system_picture"
2438                 ],
2439                 "has_many": [
2440                     "resource_pictures"
2441                 ],
2442                 "has_one": []
2443             }
2444         },
2445         "author": {
2446             "fields": [
2447                 "id",
2448                 "name",
2449                 "user_id",
2450                 "created_at",
2451                 "updated_at"
2452             ],
2453             "associations": {
2454                 "belongs_to": [],
2455                 "has_many": [
2456                     "scrolls",
2457                     "comics",
2458                     "stories",
2459                     "sheets",
2460                     "panels"
2461                 ],
2462                 "has_one": []
2463             }
2464         },
2465         "artist": {
2466             "fields": [
2467                 "id",
2468                 "name",
2469                 "author_id",
2470                 "created_at",
2471                 "updated_at"
2472             ],
2473             "associations": {
2474                 "belongs_to": [],
2475                 "has_many": [
2476                     "resource_pictures"
2477                 ],
2478                 "has_one": []
2479             }
2480         },
2481         "system_picture": {
2482             "fields": [
2483                 "id",
2484                 "ext",
2485                 "width",
2486                 "height",
2487                 "filesize",
2488                 "md5",
2489                 "created_at",
2490                 "updated_at"
2491             ],
2492             "associations": {
2493                 "belongs_to": [],
2494                 "has_many": [],
2495                 "has_one": []
2496             }
2497         }
2498     },
2499     "filers": {
2500         "scroll": {
2501             "symbol": {
2502                 "type": "image",
2503                 "name": "/assets/item.png"
2504             },
2505             "caption": {
2506                 "type": "column",
2507                 "name": "title",
2508                 "link": {
2509                     "type": "action",
2510                     "name": "play"
2511                 }
2512             },
2513             "summary": {
2514                 "type": "template",
2515                 "name": "summary"
2516             },
2517             "edit": {
2518                 "type": "default"
2519             }
2520         },
2521         "scroll_panel": {
2522             "symbol": {
2523                 "type": "image",
2524                 "name": "/assets/item.png",
2525                 "link": {
2526                     "type": "none"
2527                 }
2528             },
2529             "caption": {
2530                 "type": "none"
2531             },
2532             "summary": {
2533                 "type": "template",
2534                 "name": "summary"
2535             },
2536             "edit": {
2537                 "type": "none"
2538             }
2539         },
2540         "comic": {
2541             "symbol": {
2542                 "type": "image",
2543                 "name": "/assets/item.png"
2544             },
2545             "caption": {
2546                 "type": "column",
2547                 "name": "title"
2548             },
2549             "summary": {
2550                 "type": "template",
2551                 "name": "summary"
2552             },
2553             "edit": {
2554                 "type": "default"
2555             }
2556         },
2557         "story": {
2558             "symbol": {
2559                 "type": "image",
2560                 "name": "/assets/item.png"
2561             },
2562             "caption": {
2563                 "type": "method",
2564                 "name": "title_with_t",
2565                 "link": {
2566                     "type": "action",
2567                     "name": "play"
2568                 }
2569             },
2570             "summary": {
2571                 "type": "template",
2572                 "name": "summary"
2573             },
2574             "edit": {
2575                 "type": "default"
2576             }
2577         },
2578         "story_sheet": {
2579             "symbol": {
2580                 "type": "image",
2581                 "name": "/assets/item.png",
2582                 "link": {
2583                     "type": "none"
2584                 }
2585             },
2586             "caption": {
2587                 "type": "none"
2588             },
2589             "summary": {
2590                 "type": "template",
2591                 "name": "summary"
2592             },
2593             "edit": {
2594                 "type": "none"
2595             }
2596         },
2597         "sheet": {
2598             "symbol": {
2599                 "type": "image",
2600                 "name": "/assets/item.png"
2601             },
2602             "caption": {
2603                 "type": "column",
2604                 "name": "caption",
2605                 "link": {
2606                     "type": "action",
2607                     "name": "play"
2608                 }
2609             },
2610             "summary": {
2611                 "type": "template",
2612                 "name": "summary"
2613             },
2614             "edit": {
2615                 "type": "default"
2616             }
2617         },
2618         "sheet_panel": {
2619             "symbol": {
2620                 "type": "image",
2621                 "name": "/assets/item.png",
2622                 "link": {
2623                     "type": "none"
2624                 }
2625             },
2626             "caption": {
2627                 "type": "none"
2628             },
2629             "summary": {
2630                 "type": "template",
2631                 "name": "summary"
2632             },
2633             "edit": {
2634                 "type": "none"
2635             }
2636         },
2637         "panel": {
2638             "symbol": {
2639                 "type": "image",
2640                 "name": "/assets/item.png"
2641             },
2642             "caption": {
2643                 "type": "method",
2644                 "name": "plain_scenario",
2645                 "link": {
2646                     "type": "none"
2647                 }
2648             },
2649             "summary": {
2650                 "type": "template",
2651                 "name": "summary"
2652             },
2653             "edit": {
2654                 "type": "default"
2655             }
2656         },
2657         "panel_picture": {
2658             "symbol": {
2659                 "type": "picture",
2660                 "name": "symbol_option"
2661             },
2662             "caption": {
2663                 "type": "column",
2664                 "name": "caption"
2665             },
2666             "summary": {
2667                 "type": "template",
2668                 "name": "summary"
2669             },
2670             "edit": {
2671                 "type": "none"
2672             }
2673         },
2674         "speech_balloon": {
2675             "symbol": {
2676                 "type": "picture",
2677                 "name": "symbol_option"
2678             },
2679             "caption": {
2680                 "type": "method",
2681                 "name": "plain_scenario",
2682                 "link": {
2683                     "type": "none"
2684                 }
2685             },
2686             "summary": {
2687                 "type": "template",
2688                 "name": "summary"
2689             },
2690             "edit": {
2691                 "type": "none"
2692             }
2693         },
2694         "speech": {
2695             "symbol": {
2696                 "type": "picture",
2697                 "name": "symbol_option"
2698             },
2699             "caption": {
2700                 "type": "column",
2701                 "name": "content",
2702                 "link": {
2703                     "type": "none"
2704                 }
2705             },
2706             "summary": {
2707                 "type": "template",
2708                 "name": "summary"
2709             },
2710             "edit": {
2711                 "type": "none"
2712             }
2713         },
2714         "balloon": {
2715             "symbol": {
2716                 "type": "picture",
2717                 "name": "symbol_option"
2718             },
2719             "caption": {
2720                 "type": "none"
2721             },
2722             "summary": {
2723                 "type": "template",
2724                 "name": "summary"
2725             },
2726             "edit": {
2727                 "type": "none"
2728             }
2729         },
2730         "ground_picture": {
2731             "symbol": {
2732                 "type": "picture",
2733                 "name": "symbol_option"
2734             },
2735             "caption": {
2736                 "type": "column",
2737                 "name": "caption"
2738             },
2739             "summary": {
2740                 "type": "template",
2741                 "name": "summary"
2742             },
2743             "edit": {
2744                 "type": "none"
2745             }
2746         },
2747         "ground_color": {
2748             "symbol": {
2749                 "type": "template",
2750                 "name": "symbol"
2751             },
2752             "caption": {
2753                 "type": "column",
2754                 "name": "caption"
2755             },
2756             "summary": {
2757                 "type": "template",
2758                 "name": "summary"
2759             },
2760             "edit": {
2761                 "type": "none"
2762             }
2763         },
2764         "original_picture": {
2765             "symbol": {
2766                 "type": "picture",
2767                 "name": "symbol_option"
2768             },
2769             "caption": {
2770                 "type": "method",
2771                 "name": "revision",
2772                 "link": {
2773                     "type": "action",
2774                     "name": "history"
2775                 }
2776             },
2777             "summary": {
2778                 "type": "template",
2779                 "name": "summary"
2780             },
2781             "edit": {
2782                 "type": "template",
2783                 "name": "publish"
2784             }
2785         },
2786         "picture": {
2787             "symbol": {
2788                 "type": "picture",
2789                 "name": "symbol_option"
2790             },
2791             "caption": {
2792                 "type": "column",
2793                 "name": "revision"
2794             },
2795             "summary": {
2796                 "type": "template",
2797                 "name": "summary"
2798             },
2799             "edit": {
2800                 "type": "none"
2801             }
2802         },
2803         "resource_picture": {
2804             "symbol": {
2805                 "type": "picture",
2806                 "name": "symbol_option"
2807             },
2808             "caption": {
2809                 "type": "none"
2810             },
2811             "summary": {
2812                 "type": "template",
2813                 "name": "summary"
2814             },
2815             "edit": {
2816                 "type": "none"
2817             }
2818         },
2819         "speech_balloon_template": {
2820             "symbol": {
2821                 "type": "picture",
2822                 "name": "symbol_option"
2823             },
2824             "caption": {
2825                 "type": "column",
2826                 "name": "caption"
2827             },
2828             "summary": {
2829                 "type": "none"
2830             },
2831             "edit": {
2832                 "type": "none"
2833             }
2834         },
2835         "writing_format": {
2836             "symbol": {
2837                 "type": "image",
2838                 "name": "/assets/item.png"
2839             },
2840             "caption": {
2841                 "type": "column",
2842                 "name": "caption"
2843             },
2844             "summary": {
2845                 "type": "none"
2846             },
2847             "edit": {
2848                 "type": "none"
2849             }
2850         },
2851         "license_group": {
2852             "symbol": {
2853                 "type": "image",
2854                 "name": "/assets/item.png"
2855             },
2856             "caption": {
2857                 "type": "column",
2858                 "name": "caption",
2859                 "link": {
2860                     "type": "url_column",
2861                     "name": "url"
2862                 }
2863             },
2864             "summary": {
2865                 "type": "none"
2866             },
2867             "edit": {
2868                 "type": "none"
2869             }
2870         },
2871         "license": {
2872             "symbol": {
2873                 "type": "image",
2874                 "name": "/assets/item.png"
2875             },
2876             "caption": {
2877                 "type": "method",
2878                 "name": "caption_with_group",
2879                 "link": {
2880                     "type": "url_column",
2881                     "name": "url"
2882                 }
2883             },
2884             "summary": {
2885                 "type": "template",
2886                 "name": "summary"
2887             },
2888             "edit": {
2889                 "type": "none"
2890             }
2891         },
2892         "author": {
2893             "symbol": {
2894                 "type": "image",
2895                 "name": "/assets/item.png"
2896             },
2897             "caption": {
2898                 "type": "column",
2899                 "name": "name"
2900             },
2901             "summary": {
2902                 "type": "template",
2903                 "name": "summary"
2904             },
2905             "edit": {
2906                 "type": "account"
2907             }
2908         },
2909         "artist": {
2910             "symbol": {
2911                 "type": "image",
2912                 "name": "/assets/item.png"
2913             },
2914             "caption": {
2915                 "type": "column",
2916                 "name": "name"
2917             },
2918             "summary": {
2919                 "type": "template",
2920                 "name": "summary"
2921             },
2922             "edit": {
2923                 "type": "account"
2924             }
2925         },
2926         "system_picture": {
2927             "symbol": {
2928                 "type": "picture",
2929                 "name": "symbol_option"
2930             },
2931             "caption": {
2932                 "type": "none"
2933             },
2934             "summary": {
2935                 "type": "none"
2936             },
2937             "edit": {
2938                 "type": "none"
2939             }
2940         }
2941     },
2942     "elements": [
2943         {
2944             "name": "panel_picture",
2945             "path_name": "panel_pictures",
2946             "parts": []
2947         },
2948         {
2949             "name": "speech_balloon",
2950             "path_name": "circle_speech_balloon/speech_balloons",
2951             "parts": [
2952                 "balloon",
2953                 "speech"
2954             ]
2955         },
2956         {
2957             "name": "ground_picture",
2958             "path_name": "ground_pictures",
2959             "parts": []
2960         },
2961         {
2962             "name": "ground_color",
2963             "path_name": "ground_colors",
2964             "parts": []
2965         }
2966     ],
2967     "forms": {
2968         "Panel": "panel",
2969         "panel": {
2970             "attributes": {
2971                 "caption": {
2972                     "column": "caption",
2973                     "type": "text",
2974                     "label": {},
2975                     "options": {
2976                         "row_break": true
2977                     }
2978                 },
2979                 "width": {
2980                     "column": "width",
2981                     "type": "number",
2982                     "label": {},
2983                     "options": {
2984                         "size": 5
2985                     }
2986                 },
2987                 "height": {
2988                     "column": "height",
2989                     "type": "number",
2990                     "label": {},
2991                     "options": {
2992                         "size": 5,
2993                         "row_break": true
2994                     }
2995                 },
2996                 "border": {
2997                     "column": "border",
2998                     "type": "number",
2999                     "label": {},
3000                     "options": {
3001                         "size": 5
3002                     }
3003                 },
3004                 "publish": {
3005                     "column": "publish",
3006                     "type": "select",
3007                     "label": {},
3008                     "options": {
3009                         "source": "magic_number",
3010                         "key": "comic_visible_items",
3011                         "size": 5,
3012                         "row_break": true
3013                     }
3014                 },
3015                 "id": {
3016                     "column": "id",
3017                     "type": "hidden",
3018                     "label": {
3019                         "type": "hidden"
3020                     },
3021                     "options": {}
3022                 },
3023                 "author_id": {
3024                     "column": "author_id",
3025                     "type": "hidden",
3026                     "label": {
3027                         "type": "hidden"
3028                     },
3029                     "options": {}
3030                 }
3031             },
3032             "fields": [
3033                 "caption",
3034                 "width",
3035                 "height",
3036                 "border",
3037                 "publish",
3038                 "id",
3039                 "author_id"
3040             ]
3041         },
3042         "PanelPicture": "panel_picture",
3043         "panel_picture": {
3044             "attributes": {
3045                 "caption": {
3046                     "column": "caption",
3047                     "type": "text",
3048                     "label": {},
3049                     "options": {
3050                         "row_break": true
3051                     }
3052                 },
3053                 "x": {
3054                     "column": "x",
3055                     "type": "number",
3056                     "label": {},
3057                     "options": {
3058                         "size": 5
3059                     }
3060                 },
3061                 "y": {
3062                     "column": "y",
3063                     "type": "number",
3064                     "label": {},
3065                     "options": {
3066                         "size": 5,
3067                         "row_break": true
3068                     }
3069                 },
3070                 "width": {
3071                     "column": "width",
3072                     "type": "number",
3073                     "label": {},
3074                     "options": {
3075                         "size": 5,
3076                         "row_break": true
3077                     },
3078                     "helpers": {
3079                         "size": {
3080                             "path": "panels/size_helper",
3081                             "options": {
3082                                 "class": "panel_picture_width_tool"
3083                             }
3084                         }
3085                     }
3086                 },
3087                 "height": {
3088                     "column": "height",
3089                     "type": "number",
3090                     "label": {},
3091                     "options": {
3092                         "size": 5,
3093                         "row_break": true
3094                     },
3095                     "helpers": {
3096                         "size": {
3097                             "path": "panels/size_helper",
3098                             "options": {
3099                                 "class": "panel_picture_height_tool"
3100                             }
3101                         }
3102                     }
3103                 },
3104                 "link": {
3105                     "column": "link",
3106                     "type": "text",
3107                     "label": {},
3108                     "options": {
3109                         "row_break": true
3110                     }
3111                 },
3112                 "id": {
3113                     "column": "id",
3114                     "type": "hidden",
3115                     "label": {
3116                         "type": "hidden"
3117                     },
3118                     "options": {}
3119                 },
3120                 "panel_id": {
3121                     "column": "panel_id",
3122                     "type": "hidden",
3123                     "label": {
3124                         "type": "hidden"
3125                     },
3126                     "options": {}
3127                 },
3128                 "picture_id": {
3129                     "column": "picture_id",
3130                     "type": "hidden",
3131                     "label": {},
3132                     "helpers": {
3133                         "popup": {
3134                             "path": "panels/popup_helper",
3135                             "source": "pictures",
3136                             "options": {}
3137                         }
3138                     },
3139                     "options": {}
3140                 },
3141                 "z": {
3142                     "column": "z",
3143                     "type": "hidden",
3144                     "label": {
3145                         "type": "hidden"
3146                     },
3147                     "options": {}
3148                 },
3149                 "t": {
3150                     "column": "t",
3151                     "type": "hidden",
3152                     "label": {
3153                         "type": "hidden"
3154                     },
3155                     "options": {}
3156                 }
3157             },
3158             "fields": [
3159                 "caption",
3160                 "x",
3161                 "y",
3162                 "width",
3163                 "height",
3164                 "link",
3165                 "id",
3166                 "panel_id",
3167                 "picture_id",
3168                 "z",
3169                 "t"
3170             ]
3171         },
3172         "speech_balloon": {
3173             "attributes": {
3174                 "speech_balloon.id": {
3175                     "column": "id",
3176                     "type": "hidden",
3177                     "label": {
3178                         "type": "hidden"
3179                     },
3180                     "options": {}
3181                 },
3182                 "speech_balloon.panel_id": {
3183                     "column": "panel_id",
3184                     "type": "hidden",
3185                     "label": {
3186                         "type": "hidden"
3187                     },
3188                     "options": {}
3189                 },
3190                 "speech_balloon.speech_balloon_template_id": {
3191                     "column": "speech_balloon_template_id",
3192                     "type": "hidden",
3193                     "label": {
3194                         "type": "hidden"
3195                     },
3196                     "options": {}
3197                 },
3198                 "speech_balloon.caption": {
3199                     "column": "caption",
3200                     "type": "text",
3201                     "label": {},
3202                     "options": {
3203                         "row_break": true
3204                     }
3205                 },
3206                 "speech_balloon.z": {
3207                     "column": "z",
3208                     "type": "hidden",
3209                     "label": {
3210                         "type": "hidden"
3211                     },
3212                     "options": {}
3213                 },
3214                 "speech_balloon.t": {
3215                     "column": "t",
3216                     "type": "hidden",
3217                     "label": {
3218                         "type": "hidden"
3219                     },
3220                     "options": {}
3221                 },
3222                 "speech_balloon.classname": {
3223                     "column": "classname",
3224                     "type": "hidden",
3225                     "label": {
3226                         "type": "hidden"
3227                     },
3228                     "options": {}
3229                 },
3230                 "speech_balloon.settings": {
3231                     "column": "settings",
3232                     "type": "hidden",
3233                     "label": {
3234                         "type": "hidden"
3235                     },
3236                     "options": {}
3237                 },
3238                 "balloon.id": {
3239                     "model": "balloon",
3240                     "part": "balloon",
3241                     "column": "id",
3242                     "type": "hidden",
3243                     "label": {
3244                         "type": "hidden"
3245                     },
3246                     "options": {}
3247                 },
3248                 "balloon.speech_balloon_id": {
3249                     "model": "balloon",
3250                     "part": "balloon",
3251                     "column": "speech_balloon_id",
3252                     "type": "hidden",
3253                     "label": {
3254                         "type": "hidden"
3255                     },
3256                     "options": {}
3257                 },
3258                 "balloon.system_picture_id": {
3259                     "model": "balloon",
3260                     "part": "balloon",
3261                     "column": "system_picture_id",
3262                     "type": "hidden",
3263                     "label": {
3264                         "type": "hidden"
3265                     },
3266                     "options": {}
3267                 },
3268                 "balloon.r": {
3269                     "model": "balloon",
3270                     "part": "balloon",
3271                     "column": "r",
3272                     "type": "number",
3273                     "label": {},
3274                     "options": {
3275                         "size": 5,
3276                         "row_break": true
3277                     },
3278                     "helpers": {
3279                         "tail_angle": {
3280                             "path": "panels/tail_angle_helper",
3281                             "options": {}
3282                         }
3283                     }
3284                 },
3285                 "balloon.x": {
3286                     "model": "balloon",
3287                     "part": "balloon",
3288                     "column": "x",
3289                     "type": "number",
3290                     "label": {},
3291                     "options": {
3292                         "size": 5
3293                     }
3294                 },
3295                 "balloon.y": {
3296                     "model": "balloon",
3297                     "part": "balloon",
3298                     "column": "y",
3299                     "type": "number",
3300                     "label": {},
3301                     "options": {
3302                         "size": 5,
3303                         "row_break": true
3304                     }
3305                 },
3306                 "balloon.width": {
3307                     "model": "balloon",
3308                     "part": "balloon",
3309                     "column": "width",
3310                     "type": "number",
3311                     "label": {},
3312                     "options": {
3313                         "size": 5
3314                     }
3315                 },
3316                 "balloon.height": {
3317                     "model": "balloon",
3318                     "part": "balloon",
3319                     "column": "height",
3320                     "type": "number",
3321                     "label": {},
3322                     "options": {
3323                         "size": 5,
3324                         "row_break": true
3325                     }
3326                 },
3327                 "balloon.settings": {
3328                     "model": "balloon",
3329                     "part": "balloon",
3330                     "column": "settings",
3331                     "type": "hidden",
3332                     "label": {
3333                         "type": "hidden"
3334                     },
3335                     "options": {}
3336                 },
3337                 "speech.id": {
3338                     "model": "speech",
3339                     "part": "speech",
3340                     "column": "id",
3341                     "type": "hidden",
3342                     "label": {
3343                         "type": "hidden"
3344                     },
3345                     "options": {}
3346                 },
3347                 "speech.speech_balloon_id": {
3348                     "model": "speech",
3349                     "part": "speech",
3350                     "column": "speech_balloon_id",
3351                     "type": "hidden",
3352                     "label": {
3353                         "type": "hidden"
3354                     },
3355                     "options": {}
3356                 },
3357                 "speech.x": {
3358                     "model": "speech",
3359                     "part": "speech",
3360                     "column": "x",
3361                     "type": "hidden",
3362                     "label": {
3363                         "type": "hidden"
3364                     },
3365                     "options": {}
3366                 },
3367                 "speech.y": {
3368                     "model": "speech",
3369                     "part": "speech",
3370                     "column": "y",
3371                     "type": "hidden",
3372                     "label": {
3373                         "type": "hidden"
3374                     },
3375                     "options": {}
3376                 },
3377                 "speech.width": {
3378                     "model": "speech",
3379                     "part": "speech",
3380                     "column": "width",
3381                     "type": "hidden",
3382                     "label": {
3383                         "type": "hidden"
3384                     },
3385                     "options": {}
3386                 },
3387                 "speech.height": {
3388                     "model": "speech",
3389                     "part": "speech",
3390                     "column": "height",
3391                     "type": "hidden",
3392                     "label": {
3393                         "type": "hidden"
3394                     },
3395                     "options": {}
3396                 },
3397                 "speech.writing_format_id": {
3398                     "model": "speech",
3399                     "part": "speech",
3400                     "column": "writing_format_id",
3401                     "type": "select",
3402                     "label": {},
3403                     "options": {
3404                         "source": "model",
3405                         "model": "writing_format",
3406                         "method": "enable_list",
3407                         "caption": "caption"
3408                     }
3409                 },
3410                 "speech.font_size": {
3411                     "model": "speech",
3412                     "part": "speech",
3413                     "column": "font_size",
3414                     "type": "select",
3415                     "label": {},
3416                     "options": {
3417                         "source": "magic_number",
3418                         "key": "speech_font_size_items",
3419                         "row_break": true
3420                     }
3421                 },
3422                 "speech.text_align": {
3423                     "model": "speech",
3424                     "part": "speech",
3425                     "column": "text_align",
3426                     "type": "select",
3427                     "label": {},
3428                     "options": {
3429                         "source": "magic_number",
3430                         "key": "speech_text_align_items"
3431                     }
3432                 },
3433                 "speech.quotes": {
3434                     "model": "speech",
3435                     "part": "speech",
3436                     "column": "quotes",
3437                     "type": "text",
3438                     "label": {},
3439                     "options": {
3440                         "size": 5
3441                     }
3442                 },
3443                 "speech.content": {
3444                     "model": "speech",
3445                     "part": "speech",
3446                     "column": "content",
3447                     "type": "text_area",
3448                     "label": {
3449                         "row_break": true
3450                     },
3451                     "options": {
3452                         "size": "45x5"
3453                     }
3454                 },
3455                 "speech.fore_color": {
3456                     "model": "speech",
3457                     "part": "speech",
3458                     "column": "fore_color",
3459                     "type": "hidden",
3460                     "label": {
3461                         "row_break": true
3462                     },
3463                     "options": {},
3464                     "helpers": {
3465                         "color": {
3466                             "path": "panels/color_helper",
3467                             "options": {},
3468                             "wrapper": "speech-fore_color-wrap"
3469                         }
3470                     }
3471                 },
3472                 "speech.settings": {
3473                     "model": "speech",
3474                     "part": "speech",
3475                     "column": "settings",
3476                     "type": "hidden",
3477                     "label": {
3478                         "type": "hidden"
3479                     },
3480                     "options": {}
3481                 }
3482             }
3483         },
3484         "CircleSpeechBalloon": "circle_speech_balloon",
3485         "circle_speech_balloon": {
3486             "base": "speech_balloon",
3487             "attributes": {},
3488             "fields": [
3489                 "speech_balloon.caption",
3490                 "balloon.r",
3491                 "balloon.x",
3492                 "balloon.y",
3493                 "balloon.width",
3494                 "balloon.height",
3495                 "balloon.id",
3496                 "balloon.speech_balloon_id",
3497                 "balloon.system_picture_id",
3498                 "balloon.settings",
3499                 "speech.writing_format_id",
3500                 "speech.font_size",
3501                 "speech.text_align",
3502                 "speech.quotes",
3503                 "speech.content",
3504                 "speech.fore_color",
3505                 "speech.id",
3506                 "speech.speech_balloon_id",
3507                 "speech.x",
3508                 "speech.y",
3509                 "speech.width",
3510                 "speech.height",
3511                 "speech.settings",
3512                 "speech_balloon.id",
3513                 "speech_balloon.panel_id",
3514                 "speech_balloon.speech_balloon_template_id",
3515                 "speech_balloon.classname",
3516                 "speech_balloon.z",
3517                 "speech_balloon.t",
3518                 "speech_balloon.settings"
3519             ]
3520         },
3521         "PlainSpeechBalloon": "plain_speech_balloon",
3522         "plain_speech_balloon": {
3523             "base": "speech_balloon",
3524             "attributes": {
3525                 "balloon.r": {
3526                     "model": "balloon",
3527                     "part": "balloon",
3528                     "column": "r",
3529                     "type": "hidden",
3530                     "label": {
3531                         "type": "hidden"
3532                     },
3533                     "options": {}
3534                 }
3535             },
3536             "fields": [
3537                 "speech_balloon.caption",
3538                 "balloon.r",
3539                 "balloon.x",
3540                 "balloon.y",
3541                 "balloon.width",
3542                 "balloon.height",
3543                 "balloon.id",
3544                 "balloon.speech_balloon_id",
3545                 "balloon.system_picture_id",
3546                 "balloon.settings",
3547                 "speech.writing_format_id",
3548                 "speech.font_size",
3549                 "speech.text_align",
3550                 "speech.quotes",
3551                 "speech.content",
3552                 "speech.fore_color",
3553                 "speech.id",
3554                 "speech.speech_balloon_id",
3555                 "speech.x",
3556                 "speech.y",
3557                 "speech.width",
3558                 "speech.height",
3559                 "speech.settings",
3560                 "speech_balloon.id",
3561                 "speech_balloon.panel_id",
3562                 "speech_balloon.speech_balloon_template_id",
3563                 "speech_balloon.classname",
3564                 "speech_balloon.z",
3565                 "speech_balloon.t",
3566                 "speech_balloon.settings"
3567             ]
3568         },
3569         "SquareSpeechBalloon": "square_speech_balloon",
3570         "square_speech_balloon": {
3571             "base": "speech_balloon",
3572             "attributes": {
3573                 "balloon.r": {
3574                     "model": "balloon",
3575                     "part": "balloon",
3576                     "column": "r",
3577                     "type": "hidden",
3578                     "label": {
3579                         "type": "hidden"
3580                     },
3581                     "options": {}
3582                 }
3583             },
3584             "fields": [
3585                 "speech_balloon.caption",
3586                 "balloon.r",
3587                 "balloon.x",
3588                 "balloon.y",
3589                 "balloon.width",
3590                 "balloon.height",
3591                 "balloon.id",
3592                 "balloon.speech_balloon_id",
3593                 "balloon.system_picture_id",
3594                 "balloon.settings",
3595                 "speech.writing_format_id",
3596                 "speech.font_size",
3597                 "speech.text_align",
3598                 "speech.quotes",
3599                 "speech.content",
3600                 "speech.fore_color",
3601                 "speech.id",
3602                 "speech.speech_balloon_id",
3603                 "speech.x",
3604                 "speech.y",
3605                 "speech.width",
3606                 "speech.height",
3607                 "speech.settings",
3608                 "speech_balloon.id",
3609                 "speech_balloon.panel_id",
3610                 "speech_balloon.speech_balloon_template_id",
3611                 "speech_balloon.classname",
3612                 "speech_balloon.z",
3613                 "speech_balloon.t",
3614                 "speech_balloon.settings"
3615             ]
3616         },
3617         "GroundPicture": "ground_picture",
3618         "ground_picture": {
3619             "attributes": {
3620                 "id": {
3621                     "column": "id",
3622                     "type": "hidden",
3623                     "label": {
3624                         "type": "hidden"
3625                     },
3626                     "options": {}
3627                 },
3628                 "panel_id": {
3629                     "column": "panel_id",
3630                     "type": "hidden",
3631                     "label": {
3632                         "type": "hidden"
3633                     },
3634                     "options": {}
3635                 },
3636                 "picture_id": {
3637                     "column": "picture_id",
3638                     "type": "hidden",
3639                     "label": {
3640                         "type": "hidden"
3641                     },
3642                     "options": {}
3643                 },
3644                 "caption": {
3645                     "column": "caption",
3646                     "type": "text",
3647                     "label": {},
3648                     "options": {
3649                         "row_break": true
3650                     }
3651                 },
3652                 "repeat": {
3653                     "column": "repeat",
3654                     "type": "select",
3655                     "label": {},
3656                     "options": {
3657                         "source": "magic_number",
3658                         "key": "ground_picture_repeat_items",
3659                         "row_break": true
3660                     }
3661                 },
3662                 "x": {
3663                     "column": "x",
3664                     "type": "number",
3665                     "label": {},
3666                     "options": {
3667                         "size": 5
3668                     }
3669                 },
3670                 "y": {
3671                     "column": "y",
3672                     "type": "number",
3673                     "label": {},
3674                     "options": {
3675                         "size": 5,
3676                         "row_break": true
3677                     }
3678                 },
3679                 "z": {
3680                     "column": "z",
3681                     "type": "hidden",
3682                     "label": {
3683                         "type": "hidden"
3684                     },
3685                     "options": {}
3686                 },
3687                 "t": {
3688                     "column": "t",
3689                     "type": "hidden",
3690                     "label": {
3691                         "type": "hidden"
3692                     },
3693                     "options": {}
3694                 }
3695             },
3696             "fields": [
3697                 "caption",
3698                 "repeat",
3699                 "x",
3700                 "y",
3701                 "z",
3702                 "t",
3703                 "id",
3704                 "panel_id",
3705                 "picture_id"
3706             ]
3707         },
3708         "GroundColor": "ground_color",
3709         "ground_color": {
3710             "attributes": {
3711                 "id": {
3712                     "column": "id",
3713                     "type": "hidden",
3714                     "label": {
3715                         "type": "hidden"
3716                     },
3717                     "options": {}
3718                 },
3719                 "panel_id": {
3720                     "column": "panel_id",
3721                     "type": "hidden",
3722                     "label": {
3723                         "type": "hidden"
3724                     },
3725                     "options": {}
3726                 },
3727                 "caption": {
3728                     "column": "caption",
3729                     "type": "text",
3730                     "label": {},
3731                     "options": {
3732                         "row_break": true
3733                     }
3734                 },
3735                 "code": {
3736                     "column": "code",
3737                     "type": "hidden",
3738                     "label": {
3739                         "row_break": true
3740                     },
3741                     "options": {
3742                         "row_break": true
3743                     },
3744                     "helpers": {
3745                         "color": {
3746                             "path": "panels/color_helper",
3747                             "options": {},
3748                             "wrapper": "ground_color-code-wrap"
3749                         }
3750                     }
3751                 },
3752                 "orientation": {
3753                     "column": "orientation",
3754                     "type": "select",
3755                     "label": {},
3756                     "options": {
3757                         "source": "magic_number",
3758                         "key": "ground_color_orientation_items",
3759                         "row_break": true
3760                     }
3761                 },
3762                 "xy": {
3763                     "column": "xy",
3764                     "type": "number",
3765                     "label": {},
3766                     "options": {
3767                         "size": 5
3768                     }
3769                 },
3770                 "wh": {
3771                     "column": "wh",
3772                     "type": "number",
3773                     "label": {},
3774                     "options": {
3775                         "size": 5,
3776                         "row_break": true
3777                     }
3778                 },
3779                 "z": {
3780                     "column": "z",
3781                     "type": "hidden",
3782                     "label": {
3783                         "type": "hidden"
3784                     },
3785                     "options": {}
3786                 },
3787                 "t": {
3788                     "column": "t",
3789                     "type": "hidden",
3790                     "label": {
3791                         "type": "hidden"
3792                     },
3793                     "options": {}
3794                 }
3795             },
3796             "fields": [
3797                 "id",
3798                 "panel_id",
3799                 "caption",
3800                 "code",
3801                 "orientation",
3802                 "xy",
3803                 "wh",
3804                 "z",
3805                 "t"
3806             ]
3807         }
3808     },
3809     "locales": {
3810         "ja": {}
3811     }
3812 }
3813 HD
3814 )
3815   end
3816 end