OSDN Git Service

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