File indexing completed on 2024-04-21 14:43:28

0001 /* GCompris - dataset.js
0002  *
0003  * SPDX-FileCopyrightText: 2016 Bruno Coudoin <bruno.coudoin@gcompris.net>
0004  *
0005  * Authors:
0006  *   Bruno Coudoin <bruno.coudoin@gcompris.net>
0007  *
0008  *   SPDX-License-Identifier: GPL-3.0-or-later
0009  */
0010 .pragma library
0011 
0012 /* dataset format
0013   - for each level we have:
0014     - bg: an optional background image
0015     - colorMask: the color of the shadowed target items
0016     - a list of pieces that each holds:
0017       - img: piece file name
0018       - flippable: is the piece flippable
0019       - flipping: target flipping state
0020       - x: target x position
0021       - y: target y position
0022       - width: item width
0023       - height: item height
0024       - rotation: item target rotation
0025       - moduloRotation: modulo rotation
0026       - initX: initial x position
0027       - initY: innitial y position
0028       - initRotation: initial rotation
0029       - initFlipping: initial flipping
0030 */
0031 
0032 var dataset = [
0033             {
0034                 'bg': '',
0035                 'name': 'train1',
0036                 'colorMask': '#999',
0037                 'pieces': [
0038                     {
0039                         'img': 'train/loco.svg',
0040                         'flippable': 0,
0041                         'flipping': false,
0042                         'height': 0.238,
0043                         'initFlipping': 0,
0044                         'initRotation': 0,
0045                         'initX': 0.84868,
0046                         'initY': 0.14357,
0047                         'moduloRotation': 0,
0048                         'rotation': 0,
0049                         'width': 0.237,
0050                         'x': 0.16136986301369866,
0051                         'y': 0.5003377010125074
0052                     },
0053                     {
0054                         'img': 'train/coal.svg',
0055                         'flippable': 0,
0056                         'flipping': false,
0057                         'height': 0.144,
0058                         'initFlipping': 0,
0059                         'initRotation': 0,
0060                         'initX': 0.40198,
0061                         'initY': 0.10248,
0062                         'moduloRotation': 0,
0063                         'rotation': 0,
0064                         'width': 0.221,
0065                         'x': 0.38829064919595,
0066                         'y': 0.5456027397260274
0067                     },
0068                     {
0069                         'img': 'train/wood.svg',
0070                         'flippable': 0,
0071                         'flipping': false,
0072                         'height': 0.141,
0073                         'initFlipping': 0,
0074                         'initRotation': 0,
0075                         'initX': 0.58434,
0076                         'initY': 0.23488,
0077                         'moduloRotation': 0,
0078                         'rotation': 0,
0079                         'width': 0.235,
0080                         'x': 0.6111453245979751,
0081                         'y': 0.5469714115544966
0082                     },
0083                     {
0084                         'img': 'train/passenger.svg',
0085                         'flippable': 0,
0086                         'flipping': false,
0087                         'height': 0.213,
0088                         'initFlipping': 0,
0089                         'initRotation': 0,
0090                         'initX': 0.15311,
0091                         'initY': 0.15368,
0092                         'moduloRotation': 0,
0093                         'rotation': 0,
0094                         'width': 0.238,
0095                         'x': 0.8362608695652176,
0096                         'y': 0.5122281119714115
0097                     },
0098                 ]
0099             },
0100             {
0101                 'bg': '',
0102                 'name': 'train2',
0103                 'colorMask': '#999',
0104                 'pieces': [
0105                     {
0106                         'img': 'train/loco.svg',
0107                         'flippable': 0,
0108                         'flipping': false,
0109                         'height': 0.238,
0110                         'initFlipping': 0,
0111                         'initRotation': 0,
0112                         'initX': 0.84868,
0113                         'initY': 0.14357,
0114                         'moduloRotation': 0,
0115                         'rotation': 0,
0116                         'width': 0.237,
0117                         'x': 0.16136986301369866,
0118                         'y': 0.5003377010125074
0119                     },
0120                     {
0121                         'img': 'train/coal.svg',
0122                         'flippable': 0,
0123                         'flipping': false,
0124                         'height': 0.144,
0125                         'initFlipping': 0,
0126                         'initRotation': 0,
0127                         'initX': 0.40198,
0128                         'initY': 0.10248,
0129                         'moduloRotation': 0,
0130                         'rotation': 0,
0131                         'width': 0.221,
0132                         'x': 0.6116378796902918,
0133                         'y': 0.5491762954139369
0134                     },
0135                     {
0136                         'img': 'train/wood.svg',
0137                         'flippable': 0,
0138                         'flipping': false,
0139                         'height': 0.141,
0140                         'initFlipping': 0,
0141                         'initRotation': 0,
0142                         'initX': 0.58434,
0143                         'initY': 0.23488,
0144                         'moduloRotation': 0,
0145                         'rotation': 0,
0146                         'width': 0.235,
0147                         'x': 0.8368749255509234,
0148                         'y': 0.5493537820131029
0149                     },
0150                     {
0151                         'img': 'train/passenger.svg',
0152                         'flippable': 0,
0153                         'flipping': false,
0154                         'height': 0.213,
0155                         'initFlipping': 0,
0156                         'initRotation': 0,
0157                         'initX': 0.15311,
0158                         'initY': 0.15368,
0159                         'moduloRotation': 0,
0160                         'rotation': 0,
0161                         'width': 0.238,
0162                         'x': 0.3913531864204886,
0163                         'y': 0.5140148898153662
0164                     },
0165                 ]
0166             },
0167             {
0168                 'bg': '',
0169                 'name': 'train3',
0170                 'colorMask': '#999',
0171                 'pieces': [
0172                     {
0173                         'img': 'train/loco.svg',
0174                         'flippable': 0,
0175                         'flipping': false,
0176                         'height': 0.238,
0177                         'initFlipping': 0,
0178                         'initRotation': 0,
0179                         'initX': 0.84868,
0180                         'initY': 0.14357,
0181                         'moduloRotation': 360,
0182                         'rotation': 45,
0183                         'width': 0.237,
0184                         'x': 0.19114949374627757,
0185                         'y': 0.22279154258487197
0186                     },
0187                     {
0188                         'img': 'train/coal.svg',
0189                         'flippable': 0,
0190                         'flipping': false,
0191                         'height': 0.144,
0192                         'initFlipping': 0,
0193                         'initRotation': 0,
0194                         'initX': 0.40198,
0195                         'initY': 0.10248,
0196                         'moduloRotation': 360,
0197                         'rotation': 45,
0198                         'width': 0.221,
0199                         'x': 0.6336748064324003,
0200                         'y': 0.7272584871947588
0201                     },
0202                     {
0203                         'img': 'train/wood.svg',
0204                         'flippable': 0,
0205                         'flipping': false,
0206                         'height': 0.141,
0207                         'initFlipping': 0,
0208                         'initRotation': 0,
0209                         'initX': 0.58434,
0210                         'initY': 0.23488,
0211                         'moduloRotation': 360,
0212                         'rotation': 45,
0213                         'width': 0.235,
0214                         'x': 0.4801149493746279,
0215                         'y': 0.5791334127456819
0216                     },
0217                     {
0218                         'img': 'train/passenger.svg',
0219                         'flippable': 0,
0220                         'flipping': false,
0221                         'height': 0.213,
0222                         'initFlipping': 0,
0223                         'initRotation': 0,
0224                         'initX': 0.84311,
0225                         'initY': 0.42368,
0226                         'moduloRotation': 360,
0227                         'rotation': 45,
0228                         'width': 0.238,
0229                         'x': 0.34251459201905915,
0230                         'y': 0.3925139964264443
0231                     },
0232                 ]
0233             },
0234             {
0235                 'bg': '',
0236                 'name': 'train4',
0237                 'colorMask': '#999',
0238                 'pieces': [
0239                     {
0240                         'img': 'train/loco.svg',
0241                         'flippable': 0,
0242                         'flipping': false,
0243                         'height': 0.238,
0244                         'initFlipping': 0,
0245                         'initRotation': 0,
0246                         'initX': 0.84868,
0247                         'initY': 0.14357,
0248                         'moduloRotation': 360,
0249                         'rotation': 315,
0250                         'width': 0.237,
0251                         'x': 0.20365693865396073,
0252                         'y': 0.4241018463371054
0253                     },
0254                     {
0255                         'img': 'train/coal.svg',
0256                         'flippable': 0,
0257                         'flipping': false,
0258                         'height': 0.144,
0259                         'initFlipping': 0,
0260                         'initRotation': 0,
0261                         'initX': 0.40198,
0262                         'initY': 0.10248,
0263                         'moduloRotation': 360,
0264                         'rotation': 90,
0265                         'width': 0.221,
0266                         'x': 0.7575580702799286,
0267                         'y': 0.6540005955926147
0268                     },
0269                     {
0270                         'img': 'train/wood.svg',
0271                         'flippable': 0,
0272                         'flipping': false,
0273                         'height': 0.141,
0274                         'initFlipping': 0,
0275                         'initRotation': 0,
0276                         'initX': 0.58434,
0277                         'initY': 0.23488,
0278                         'moduloRotation': 360,
0279                         'rotation': 45,
0280                         'width': 0.235,
0281                         'x': 0.6689178082191782,
0282                         'y': 0.4540589636688504
0283                     },
0284                     {
0285                         'img': 'train/passenger.svg',
0286                         'flippable': 0,
0287                         'flipping': false,
0288                         'height': 0.213,
0289                         'initFlipping': 0,
0290                         'initRotation': 0,
0291                         'initX': 0.84311,
0292                         'initY': 0.42368,
0293                         'moduloRotation': 360,
0294                         'rotation': 0,
0295                         'width': 0.238,
0296                         'x': 0.4550815961882075,
0297                         'y': 0.3317635497319833
0298                     },
0299                 ]
0300             },
0301             {
0302                 'bg': '',
0303                 'name': 'train5',
0304                 'colorMask': '#999',
0305                 'pieces': [
0306                     {
0307                         'img': 'train/loco.svg',
0308                         'flippable': 1,
0309                         'flipping': true,
0310                         'height': 0.238,
0311                         'initFlipping': 0,
0312                         'initRotation': 0,
0313                         'initX': 0.84868,
0314                         'initY': 0.14357,
0315                         'moduloRotation': 0,
0316                         'rotation': 0,
0317                         'width': 0.237,
0318                         'x': 0.8474925550923169,
0319                         'y': 0.48902144133412745
0320                     },
0321                     {
0322                         'img': 'train/coal.svg',
0323                         'flippable': 1,
0324                         'flipping': true,
0325                         'height': 0.144,
0326                         'initFlipping': 0,
0327                         'initRotation': 0,
0328                         'initX': 0.40198,
0329                         'initY': 0.10248,
0330                         'moduloRotation': 0,
0331                         'rotation': 0,
0332                         'width': 0.221,
0333                         'x': 0.619976176295414,
0334                         'y': 0.5354776652769506
0335                     },
0336                     {
0337                         'img': 'train/wood.svg',
0338                         'flippable': 1,
0339                         'flipping': true,
0340                         'height': 0.141,
0341                         'initFlipping': 0,
0342                         'initRotation': 0,
0343                         'initX': 0.58434,
0344                         'initY': 0.2348,
0345                         'moduloRotation': 0,
0346                         'rotation': 0,
0347                         'width': 0.235,
0348                         'x': 0.39375402025014905,
0349                         'y': 0.5374419297200713
0350                     },
0351                     {
0352                         'img': 'train/passenger.svg',
0353                         'flippable': 1,
0354                         'flipping': true,
0355                         'height': 0.213,
0356                         'initFlipping': 0,
0357                         'initRotation': 0,
0358                         'initX': 0.15311,
0359                         'initY': 0.15368,
0360                         'moduloRotation': 0,
0361                         'rotation': 0,
0362                         'width': 0.238,
0363                         'x': 0.16741036331149514,
0364                         'y': 0.5015074449076831
0365                     },
0366                 ]
0367             },
0368             {
0369                 'name': 'Level 1',
0370                 'bg': 'truck/traffic_bg.svg',
0371                 'colorMask': '#999',
0372                 'pieces': [
0373                     {
0374                         'img': 'truck/cabin.svg',
0375                         'flippable': 0,
0376                         'flipping': 0,
0377                         'x': 0.847,
0378                         'y': 0.435,
0379                         'width': 0.207,
0380                         'height': 0.178,
0381                         'rotation': 0,
0382                         'moduloRotation': 0,
0383                         'initX': 0.153,
0384                         'initY': 0.789,
0385                         'initRotation': 0,
0386                         'initFlipping': 0
0387                     },
0388                     {
0389                         'img': 'truck/container.svg',
0390                         'flippable': 0,
0391                         'flipping': 0,
0392                         'x': 0.358,
0393                         'y': 0.489,
0394                         'width': 0.676,
0395                         'height': 0.271,
0396                         'rotation': 0,
0397                         'moduloRotation': 0,
0398                         'initX': 0.338,
0399                         'initY': 0.135,
0400                         'initRotation': 0,
0401                         'initFlipping': 0
0402                     },
0403                     {
0404                         'img': 'truck/back_road.svg',
0405                         'flippable': 0,
0406                         'flipping': 0,
0407                         'x': 0.181,
0408                         'y': 0.633,
0409                         'width': 0.198,
0410                         'height': 0.092,
0411                         'rotation': 0,
0412                         'moduloRotation': 0,
0413                         'initX': 0.799,
0414                         'initY': 0.146,
0415                         'initRotation': 0,
0416                         'initFlipping': 0
0417                     },
0418                     {
0419                         'img': 'truck/front_road.svg',
0420                         'flippable': 0,
0421                         'flipping': 0,
0422                         'x': 0.766,
0423                         'y': 0.617,
0424                         'width': 0.403,
0425                         'height': 0.121,
0426                         'rotation': 0,
0427                         'moduloRotation': 0,
0428                         'initX': 0.501,
0429                         'initY': 0.760,
0430                         'initRotation': 0,
0431                         'initFlipping': 0
0432                     },
0433                     {
0434                         'img': 'truck/engine.svg',
0435                         'flippable': 0,
0436                         'flipping': 0,
0437                         'x': 0.860,
0438                         'y': 0.573,
0439                         'width': 0.233,
0440                         'height': 0.109,
0441                         'rotation': 0,
0442                         'moduloRotation': 0,
0443                         'initX': 0.866,
0444                         'initY': 0.754,
0445                         'initRotation': 0,
0446                         'initFlipping': 0
0447                     }
0448                 ]
0449             },
0450             {
0451                 'name': 'Level 2',
0452                 'bg': 'truck/traffic_bg.svg',
0453                 'colorMask': '#999',
0454                 'pieces': [
0455                     {
0456                         'img': 'truck/cabin.svg',
0457                         'flippable': 0,
0458                         'flipping': 0,
0459                         'x': 0.847,
0460                         'y': 0.435,
0461                         'width': 0.207,
0462                         'height': 0.178,
0463                         'rotation': 0,
0464                         'moduloRotation': 360,
0465                         'initX': 0.153,
0466                         'initY': 0.789,
0467                         'initRotation': 0,
0468                         'initFlipping': 0
0469                     },
0470                     {
0471                         'img': 'truck/container.svg',
0472                         'flippable': 0,
0473                         'flipping': 0,
0474                         'x': 0.358,
0475                         'y': 0.489,
0476                         'width': 0.676,
0477                         'height': 0.271,
0478                         'rotation': 0,
0479                         'moduloRotation': 360,
0480                         'initX': 0.338,
0481                         'initY': 0.135,
0482                         'initRotation': 0,
0483                         'initFlipping': 0
0484                     },
0485                     {
0486                         'img': 'truck/back_road.svg',
0487                         'flippable': 0,
0488                         'flipping': 0,
0489                         'x': 0.181,
0490                         'y': 0.633,
0491                         'width': 0.198,
0492                         'height': 0.092,
0493                         'rotation': 0,
0494                         'moduloRotation': 360,
0495                         'initX': 0.799,
0496                         'initY': 0.146,
0497                         'initRotation': 270,
0498                         'initFlipping': 0
0499                     },
0500                     {
0501                         'img': 'truck/front_road.svg',
0502                         'flippable': 1,
0503                         'flipping': 0,
0504                         'x': 0.766,
0505                         'y': 0.617,
0506                         'width': 0.403,
0507                         'height': 0.121,
0508                         'rotation': 0,
0509                         'moduloRotation': 360,
0510                         'initX': 0.501,
0511                         'initY': 0.760,
0512                         'initRotation': 90,
0513                         'initFlipping': 1
0514                     },
0515                     {
0516                         'img': 'truck/engine.svg',
0517                         'flippable': 1,
0518                         'flipping': 0,
0519                         'x': 0.860,
0520                         'y': 0.573,
0521                         'width': 0.233,
0522                         'height': 0.109,
0523                         'rotation': 0,
0524                         'moduloRotation': 360,
0525                         'initX': 0.866,
0526                         'initY': 0.754,
0527                         'initRotation': 0,
0528                         'initFlipping': 1
0529                     }
0530                 ]
0531             },
0532             {
0533                 'name': 'Level 3',
0534                 'bg': 'truck/traffic_bg.svg',
0535                 'colorMask': '#999',
0536                 'pieces': [
0537                     {
0538                         'img': 'truck/cabin.svg',
0539                         'flippable': 0,
0540                         'flipping': 0,
0541                         'x': 0.847,
0542                         'y': 0.435,
0543                         'width': 0.207,
0544                         'height': 0.178,
0545                         'rotation': 0,
0546                         'moduloRotation': 360,
0547                         'initX': 0.153,
0548                         'initY': 0.789,
0549                         'initRotation': 45,
0550                         'initFlipping': 0
0551                     },
0552                     {
0553                         'img': 'truck/container.svg',
0554                         'flippable': 1,
0555                         'flipping': 0,
0556                         'x': 0.358,
0557                         'y': 0.489,
0558                         'width': 0.676,
0559                         'height': 0.271,
0560                         'rotation': 0,
0561                         'moduloRotation': 360,
0562                         'initX': 0.338,
0563                         'initY': 0.135,
0564                         'initRotation': 0,
0565                         'initFlipping': 1
0566                     },
0567                     {
0568                         'img': 'truck/back_road.svg',
0569                         'flippable': 0,
0570                         'flipping': 0,
0571                         'x': 0.181,
0572                         'y': 0.633,
0573                         'width': 0.198,
0574                         'height': 0.092,
0575                         'rotation': 0,
0576                         'moduloRotation': 360,
0577                         'initX': 0.799,
0578                         'initY': 0.146,
0579                         'initRotation': 0,
0580                         'initFlipping': 0
0581                     },
0582                     {
0583                         'img': 'truck/front_road.svg',
0584                         'flippable': 1,
0585                         'flipping': 0,
0586                         'x': 0.766,
0587                         'y': 0.617,
0588                         'width': 0.403,
0589                         'height': 0.121,
0590                         'rotation': 0,
0591                         'moduloRotation': 360,
0592                         'initX': 0.501,
0593                         'initY': 0.760,
0594                         'initRotation': 270,
0595                         'initFlipping': 0
0596                     },
0597                     {
0598                         'img': 'truck/engine.svg',
0599                         'flippable': 1,
0600                         'flipping': 0,
0601                         'x': 0.860,
0602                         'y': 0.573,
0603                         'width': 0.233,
0604                         'height': 0.109,
0605                         'rotation': 0,
0606                         'moduloRotation': 360,
0607                         'initX': 0.866,
0608                         'initY': 0.754,
0609                         'initRotation': 0,
0610                         'initFlipping': 1
0611                     }
0612                 ]
0613             },
0614             {
0615                 'name': 'Level 4',
0616                 'bg': 'car1/car.svg',
0617                 'colorMask': '#999',
0618                 'pieces': [
0619                     {
0620                         'img': 'car1/windshield.svg',
0621                         'flippable': 0,
0622                         'flipping': 0,
0623                         'x': 0.5,
0624                         'y': 0.309,
0625                         'width': 0.563,
0626                         'height': 0.227,
0627                         'rotation': 0,
0628                         'moduloRotation': 360,
0629                         'initX': 0.301,
0630                         'initY': 0.133,
0631                         'initRotation': 0,
0632                         'initFlipping': 0
0633                     },
0634                     {
0635                         'img': 'car1/tire_right.svg',
0636                         'flippable': 0,
0637                         'flipping': 0,
0638                         'x': 0.226,
0639                         'y': 0.720,
0640                         'width': 0.126,
0641                         'height': 0.147,
0642                         'rotation': 0,
0643                         'moduloRotation': 360,
0644                         'initX': 0.863,
0645                         'initY': 0.123,
0646                         'initRotation': 0,
0647                         'initFlipping': 0
0648                     },
0649                     {
0650                         'img': 'car1/tire_right.svg',
0651                         'flippable': 0,
0652                         'flipping': 1,
0653                         'x': 0.782,
0654                         'y': 0.720,
0655                         'width': 0.126,
0656                         'height': 0.147,
0657                         'rotation': 0,
0658                         'moduloRotation': 360,
0659                         'initX': 0.663,
0660                         'initY': 0.123,
0661                         'initRotation': 0,
0662                         'initFlipping': 1
0663                     },
0664                     {
0665                         'img': 'car1/bumper.svg',
0666                         'flippable': 0,
0667                         'flipping': 0,
0668                         'x': 0.5,
0669                         'y': 0.668,
0670                         'width': 0.710,
0671                         'height': 0.184,
0672                         'rotation': 0,
0673                         'moduloRotation': 360,
0674                         'initX': 0.405,
0675                         'initY': 0.892,
0676                         'initRotation': 0,
0677                         'initFlipping': 0
0678                     },
0679                     {
0680                         'img': 'car1/grille.svg',
0681                         'flippable': 0,
0682                         'flipping': 0,
0683                         'x': 0.505,
0684                         'y': 0.600,
0685                         'width': 0.365,
0686                         'height': 0.051,
0687                         'rotation': 0,
0688                         'moduloRotation': 360,
0689                         'initX': 0.382,
0690                         'initY': 0.825,
0691                         'initRotation': 0,
0692                         'initFlipping': 0
0693                     },
0694                     {
0695                         'img': 'car1/headlights.svg',
0696                         'flippable': 0,
0697                         'flipping': 0,
0698                         'x': 0.768,
0699                         'y': 0.513,
0700                         'width': 0.134,
0701                         'height': 0.125,
0702                         'rotation': 0,
0703                         'moduloRotation': 360,
0704                         'initX': 0.90,
0705                         'initY': 0.85,
0706                         'initRotation': 0,
0707                         'initFlipping': 0
0708                     },
0709                     {
0710                         'img': 'car1/headlights.svg',
0711                         'flippable': 0,
0712                         'flipping': 1,
0713                         'x': 0.232,
0714                         'y': 0.513,
0715                         'width': 0.134,
0716                         'height': 0.125,
0717                         'rotation': 0,
0718                         'moduloRotation': 360,
0719                         'initX': 0.90,
0720                         'initY': 0.30,
0721                         'initRotation': 0,
0722                         'initFlipping': 1
0723                     }
0724                 ]
0725             }
0726         ]