OSDN Git Service

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