diff --git a/.vscode/launch.json b/.vscode/launch.json index 2ba986f6..9c26d1f7 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,15 +1,22 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - { - "type": "chrome", - "request": "launch", - "name": "Launch Chrome against localhost", - "url": "http://localhost:8080", - "webRoot": "${workspaceFolder}" - } + { + "type": "node", + "request": "launch", + "name": "SPOT Server", + "runtimeExecutable": "npm", + "runtimeArgs": ["start"], + "outputCapture": "std" + }, + { + "type": "chrome", + "request": "launch", + "name": "SPOT Client", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}", + "outputCapture": "std" + }, ] -} \ No newline at end of file + } + \ No newline at end of file diff --git a/config/analysis-modules-2022.json b/config/analysis-modules-2022.json new file mode 100644 index 00000000..2dddec53 --- /dev/null +++ b/config/analysis-modules-2022.json @@ -0,0 +1,428 @@ +[ + { + "view": "team", + "module": "HeatmapScatterPlot", + "name": "Shot Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Shots", + "actions": ["upperHub", "lowerHub", "miss"] + } + ], + "actionLabels": { + "upperHub": "Upper", + "lowerHub": "Lower", + "miss": "Miss" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "team", + "module": "HeatmapScatterPlot", + "name": "Pickup Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Pickups", + "actions": ["groundPickup"] + } + ], + "actionLabels": { + "groundPickup": "Ground" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "team", + "module": "PerformanceTimePlot", + "name": "Performance Over Time", + "position": "main", + "options": { + "trackedStats": [ + "scores.auto", + "scores.teleop", + "scores.endgame", + "scores.all", + "accuracy" + ] + } + }, + { + "view": "team", + "module": "Stats", + "position": "side", + "name": "Team Stats", + "options": { + "list": [ + { + "name": "Initiation Cross", + "path": "averages.tarmacCrossTime", + "multiplier": -0.001, + "addend": 150, + "decimals": 2, + "hideIfValue": 150, + "sort": -1, + "unit": "s in" + }, + { + "name": "Climb Start Time", + "path": "averages.startClimbTime", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s to end" + }, + { + "name": "Climb End Time", + "path": "averages.endClimbTime", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s to end" + }, + { + "name": "Climb Duration", + "path": "averages.climbDuration", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Time Per Ball", + "path": "timePerBall", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Accuracy", + "path": "accuracy", + "multiplier": 100, + "decimals": 1, + "sort": 1, + "unit": "%" + }, + { + "name": "Average Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Climb Points", + "path": "averageScores.endgame", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Points", + "path": "averageScores.all", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Upper Hub Shots", + "path": "averages.upperHub", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Lower Hub Shots", + "path": "averages.lowerHub", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Misses", + "path": "averages.miss", + "decimals": 2, + "sort": -1 + } + ] + } + }, + { + "view": "team", + "module": "Pie", + "position": "main", + "name": "Climb Distribution", + "options": { + "slices": [ + { + "name": "No Climb", + "path": "climbLevels.noClimb" + }, + { + "name": "Fall", + "path": "climbLevels.climbF" + }, + { + "name": "Low Rung", + "path": "climbLevels.climb1" + }, + { + "name": "Mid Rung", + "path": "climbLevels.climb2" + }, + { + "name": "High Rung", + "path": "climbLevels.climb3" + }, + { + "name": "Traversal Rung", + "path": "climbLevels.climb4" + } + ] + } + }, + { + "view": "team", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Upper Hub", + "path": "counts.upperHub" + }, + { + "name": "Lower Hub", + "path": "counts.lowerHub" + }, + { + "name": "Miss", + "path": "counts.miss" + } + ] + } + }, + { + "view": "match", + "module": "SingleDisplay", + "name": "Alliance Score", + "position": "main", + "options": { + "path": "averageScores.all", + "aggrMethod": "sum", + "decimals": 2 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Auto Points", + "position": "main", + "options": { + "path": "averageScores.auto", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Climb Points", + "position": "main", + "options": { + "path": "averageScores.endgame", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Possible Climbs", + "position": "main", + "options": { + "string": true, + "path": "possibleClimbs" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Climb Time", + "position": "main", + "options": { + "path": "averages.climbDuration", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Total Points", + "position": "main", + "options": { + "path": "averageScores.all", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Time Per Ball", + "position": "main", + "options": { + "path": "timePerBall", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Accuracy", + "position": "main", + "options": { + "path": "accuracy", + "sort": 1, + "decimals": 1, + "multiplier": 100, + "unit": "%" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Possible Shots", + "position": "main", + "options": { + "string": true, + "path": "possibleShots" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Drivetrain", + "position": "main", + "options": { + "string": true, + "path": "manual.drivetrain" + } + }, + { + "view": "match", + "module": "HeatmapScatterPlot", + "name": "Alliance Shot Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Shots", + "actions": ["upperHub", "lowerHub", "miss"] + } + ], + "actionLabels": { + "upperHub": "Upper", + "lowerHub": "Lower", + "miss": "Miss" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "match", + "module": "HeatmapScatterPlot", + "name": "Alliance Pickup Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Pickups", + "actions": ["groundPickup"] + } + ], + "actionLabels": { + "groundPickup": "Ground" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "match", + "module": "Stats", + "position": "side", + "name": "Alliance Stats", + "options": { + "list": [ + { + "name": "Expected Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Teleop Points", + "path": "averageScores.teleop", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Climb Points", + "path": "averageScores.endgame", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Score", + "path": "averageScores.all", + "decimals": 2, + "aggrMethod": "sum" + } + ] + } + }, + { + "view": "match", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Upper Hub", + "path": "averages.upperHub" + }, + { + "name": "Lower Hub", + "path": "averages.lowerHub" + }, + { + "name": "Miss", + "path": "averages.miss" + } + ] + } + } +] \ No newline at end of file diff --git a/config/analysis-modules-2023.json b/config/analysis-modules-2023.json new file mode 100644 index 00000000..ea386c64 --- /dev/null +++ b/config/analysis-modules-2023.json @@ -0,0 +1,1049 @@ +[ + { + "view":"team", + "module":"Stats", + "position":"side", + "name":"Mobility", + "options":{ + "list":[ + { + "name":"Avg Time to Leave", + "path":"averageLeave", + "decimals":2, + "sort":1 + } + ] + } + }, + { + "view":"team", + "module":"Stats", + "position":"side", + "name":"Average Scores", + "options":{ + "list":[ + { + "name":"Avg Score", + "path":"averageScores.total", + "decimals":2, + "sort":1 + }, + { + "name":"Avg Auto", + "path":"averageScores.auto", + "decimals":2, + "sort":1 + }, + { + "name":"Avg Teleop", + "path":"averageScores.teleop", + "decimals":2, + "sort":1 + }, + { + "name":"Avg Dock", + "path":"averageScores.dock", + "decimals":2, + "sort":1 + } + ] + } + }, + { + "view":"team", + "module":"Stats", + "position":"side", + "name":"Charging Dock Averages", + "options": { + "list":[ + { + "name":"Attempts", + "path":"averages.chargingDock", + "decimals":2, + "sort":1 + }, + { + "name":"Docked", + "path":"averages.platformDocked", + "decimals":2, + "sort":1 + }, + { + "name":"Engaged", + "path":"averages.platformEngaged", + "decimals":2, + "sort":1 + }, + { + "name":"Left", + "path":"averages.platformLeave", + "decimals":2, + "sort":1 + }, + { + "name":"Fell", + "path":"averages.platformFall", + "decimals":2, + "sort":1 + }, + { + "name":"Engage Time", + "path":"dockCycle.averageTime", + "decimals":2, + "sort":-1, + "multiplier":0.001, + "unit":" sec" + }, + { + "name":"Park Rate", + "path":"averagePark", + "decimals":2, + "sort":-1 + } + ] + } + }, + { + "view":"team", + "module":"Stats", + "position":"side", + "name":"Cycle Times", + "options":{ + "list":[ + { + "name":"Overall", + "path":"cycle.averageTime", + "decimals":2, + "sort":-1, + "multiplier":0.001, + "unit":" sec" + },{ + "name":"Cone", + "path":"coneCycle.averageTime", + "decimals":2, + "sort":-1, + "multiplier":0.001, + "unit":" sec" + }, + { + "name":"Cube", + "path":"cubeCycle.averageTime", + "decimals":2, + "sort":-1, + "multiplier":0.001, + "unit":" sec" + } + ] + } + }, + { + "view":"team", + "module":"Stats", + "position":"side", + "name":"Broken Rate", + "options":{ + "list":[ + { + "name":"Rate", + "path":"averages.broken", + "decimals":2, + "sort":-1 + } + ] + } + }, + { + "view":"team", + "module": "Pie", + "position":"main", + "name":"Avg Cone Pickups", + "wholeMatch": false, + "options":{ + "slices":[ + { + "name":"Grid", + "path":"averages.conePickupGrid" + }, + { + "name":"Community", + "path":"averages.conePickupCommunity" + }, + { + "name":"Floor", + "path":"averages.conePickupFloor" + }, + { + "name":"Chute", + "path":"averages.conePickupChute" + }, + { + "name":"Shelf", + "path":"averages.conePickupShelf" + } + ] + } + }, + { + "view":"team", + "module": "Pie", + "position":"main", + "name":"Avg Cube Pickups", + "wholeMatch": false, + "options":{ + "slices":[ + { + "name":"Grid", + "path":"averages.cubePickupGrid" + }, + { + "name":"Community", + "path":"averages.cubePickupCommunity" + }, + { + "name":"Floor", + "path":"averages.cubePickupFloor" + }, + { + "name":"Chute", + "path":"averages.cubePickupChute" + }, + { + "name":"Shelf", + "path":"averages.cubePickupShelf" + } + ] + } + }, + { + "view":"team", + "module":"Grid", + "position":"main", + "name":"Avg Auto Placements", + "options":{ + "rows":3, + "cols":9, + "decimals":2, + "min":0, + "max":1, + "cells":[ + { + "x":1, + "y":1, + "path":"avgAuto.placement31", + "hex":"#f2d53e" + + }, + { + "x":2, + "y":1, + "path":"avgAuto.placement32", + "hex":"#a65de4" + }, + { + "x":3, + "y":1, + "path":"avgAuto.placement33", + "hex":"#f2d53e" + }, + { + "x":4, + "y":1, + "path":"avgAuto.placement34", + "hex":"#f2d53e" + }, + { + "x":5, + "y":1, + "path":"avgAuto.placement35", + "hex":"#a65de4" + }, + { + "x":6, + "y":1, + "path":"avgAuto.placement36", + "hex":"#f2d53e" + }, + { + "x":7, + "y":1, + "path":"avgAuto.placement37", + "hex":"#f2d53e" + }, + { + "x":8, + "y":1, + "path":"avgAuto.placement38", + "hex":"#a65de4" + }, + { + "x":9, + "y":1, + "path":"avgAuto.placement39", + "hex":"#f2d53e" + }, + { + "x":1, + "y":2, + "path":"avgAuto.placement21", + "hex":"#f2d53e" + }, + { + "x":2, + "y":2, + "path":"avgAuto.placement22", + "hex":"#a65de4" + }, + { + "x":3, + "y":2, + "path":"avgAuto.placement23", + "hex":"#f2d53e" + }, + { + "x":4, + "y":2, + "path":"avgAuto.placement24", + "hex":"#f2d53e" + }, + { + "x":5, + "y":2, + "path":"avgAuto.placement25", + "hex":"#a65de4" + }, + { + "x":6, + "y":2, + "path":"avgAuto.placement26", + "hex":"#f2d53e" + }, + { + "x":7, + "y":2, + "path":"avgAuto.placement27", + "hex":"#f2d53e" + }, + { + "x":8, + "y":2, + "path":"avgAuto.placement28", + "hex":"#a65de4" + }, + { + "x":9, + "y":2, + "path":"avgAuto.placement29", + "hex":"#f2d53e" + }, + { + "x":1, + "y":3, + "path":"avgAuto.placement11", + "hex":"#888888" + }, + { + "x":2, + "y":3, + "path":"avgAuto.placement12", + "hex":"#888888" + }, + { + "x":3, + "y":3, + "path":"avgAuto.placement13", + "hex":"#888888" + }, + { + "x":4, + "y":3, + "path":"avgAuto.placement14", + "hex":"#888888" + }, + { + "x":5, + "y":3, + "path":"avgAuto.placement15", + "hex":"#888888" + }, + { + "x":6, + "y":3, + "path":"avgAuto.placement16", + "hex":"#888888" + }, + { + "x":7, + "y":3, + "path":"avgAuto.placement17", + "hex":"#888888" + }, + { + "x":8, + "y":3, + "path":"avgAuto.placement18", + "hex":"#888888" + }, + { + "x":9, + "y":3, + "path":"avgAuto.placement19", + "hex":"#888888" + } + ] + } + }, + { + "view":"team", + "module":"Grid", + "position":"main", + "name":"Avg Teleop Placements", + "options":{ + "rows":3, + "cols":9, + "min":0, + "max":1, + "decimals":2, + "cells":[ + { + "x":1, + "y":1, + "path":"avgTeleop.placement31", + "hex":"#f2d53e" + + }, + { + "x":2, + "y":1, + "path":"avgTeleop.placement32", + "hex":"#a65de4" + }, + { + "x":3, + "y":1, + "path":"avgTeleop.placement33", + "hex":"#f2d53e" + }, + { + "x":4, + "y":1, + "path":"avgTeleop.placement34", + "hex":"#f2d53e" + }, + { + "x":5, + "y":1, + "path":"avgTeleop.placement35", + "hex":"#a65de4" + }, + { + "x":6, + "y":1, + "path":"avgTeleop.placement36", + "hex":"#f2d53e" + }, + { + "x":7, + "y":1, + "path":"avgTeleop.placement37", + "hex":"#f2d53e" + }, + { + "x":8, + "y":1, + "path":"avgTeleop.placement38", + "hex":"#a65de4" + }, + { + "x":9, + "y":1, + "path":"avgTeleop.placement39", + "hex":"#f2d53e" + }, + { + "x":1, + "y":2, + "path":"avgTeleop.placement21", + "hex":"#f2d53e" + }, + { + "x":2, + "y":2, + "path":"avgTeleop.placement22", + "hex":"#a65de4" + }, + { + "x":3, + "y":2, + "path":"avgTeleop.placement23", + "hex":"#f2d53e" + }, + { + "x":4, + "y":2, + "path":"avgTeleop.placement24", + "hex":"#f2d53e" + }, + { + "x":5, + "y":2, + "path":"avgTeleop.placement25", + "hex":"#a65de4" + }, + { + "x":6, + "y":2, + "path":"avgTeleop.placement26", + "hex":"#f2d53e" + }, + { + "x":7, + "y":2, + "path":"avgTeleop.placement27", + "hex":"#f2d53e" + }, + { + "x":8, + "y":2, + "path":"avgTeleop.placement28", + "hex":"#a65de4" + }, + { + "x":9, + "y":2, + "path":"avgTeleop.placement29", + "hex":"#f2d53e" + }, + { + "x":1, + "y":3, + "path":"avgTeleop.placement11", + "hex":"#888888" + }, + { + "x":2, + "y":3, + "path":"avgTeleop.placement12", + "hex":"#888888" + }, + { + "x":3, + "y":3, + "path":"avgTeleop.placement13", + "hex":"#888888" + }, + { + "x":4, + "y":3, + "path":"avgTeleop.placement14", + "hex":"#888888" + }, + { + "x":5, + "y":3, + "path":"avgTeleop.placement15", + "hex":"#888888" + }, + { + "x":6, + "y":3, + "path":"avgTeleop.placement16", + "hex":"#888888" + }, + { + "x":7, + "y":3, + "path":"avgTeleop.placement17", + "hex":"#888888" + }, + { + "x":8, + "y":3, + "path":"avgTeleop.placement18", + "hex":"#888888" + }, + { + "x":9, + "y":3, + "path":"avgTeleop.placement19", + "hex":"#888888" + } + ] + } + }, + { + "view": "team", + "module": "PerformanceTimePlot", + "name": "Scores Over Time", + "position": "main", + "options": { + "trackedStats": [ + "scores.auto", + "scores.teleop", + "scores.dock", + "scores.total" + ] + } + }, + { + "view": "match", + "module": "SingleDisplay", + "name": "Alliance Score", + "position": "main", + "options": { + "path": "averageScores.total", + "aggrMethod": "sum", + "decimals": 2 + } + }, + { + "view": "match", + "module": "SingleDisplay", + "name": "Percent Chance of Winning", + "position": "main", + "wholeMatch": true, + "options": { + "aggrMethod" : "percentChanceOfWinning", + "decimals": 2 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Auto Points", + "position": "main", + "options": { + "path": "averageScores.auto", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Dock Points", + "position": "main", + "options": { + "path": "averageScores.dock", + "sort": 1, + "decimals": 1 + } + }, + + { + "view":"match", + "module": "Pie", + "position":"main", + "name":"Avg Cone Pickups", + "wholeMatch": false, + "options":{ + "slices":[ + { + "name":"Grid", + "path":"averages.conePickupGrid" + }, + { + "name":"Community", + "path":"averages.conePickupCommunity" + }, + { + "name":"Floor", + "path":"averages.conePickupFloor" + }, + { + "name":"Chute", + "path":"averages.conePickupChute" + }, + { + "name":"Shelf", + "path":"averages.conePickupShelf" + } + ] + } + }, + { + "view":"match", + "module": "Pie", + "position":"main", + "name":"Avg Cube Pickups", + "options":{ + "slices":[ + { + "name":"Grid", + "path":"averages.cubePickupGrid" + }, + { + "name":"Community", + "path":"averages.cubePickupCommunity" + }, + { + "name":"Floor", + "path":"averages.cubePickupFloor" + }, + { + "name":"Chute", + "path":"averages.cubePickupChute" + }, + { + "name":"Shelf", + "path":"averages.cubePickupShelf" + } + ] + } + }, + { + "view":"match", + "module":"Grid", + "position":"main", + "name":"Avg Auto Placements", + "options":{ + "rows":3, + "cols":9, + "decimals":2, + "min":0, + "max":1, + "cells":[ + { + "x":1, + "y":1, + "path":"avgAuto.placement31", + "hex":"#f2d53e" + + }, + { + "x":2, + "y":1, + "path":"avgAuto.placement32", + "hex":"#a65de4" + }, + { + "x":3, + "y":1, + "path":"avgAuto.placement33", + "hex":"#f2d53e" + }, + { + "x":4, + "y":1, + "path":"avgAuto.placement34", + "hex":"#f2d53e" + }, + { + "x":5, + "y":1, + "path":"avgAuto.placement35", + "hex":"#a65de4" + }, + { + "x":6, + "y":1, + "path":"avgAuto.placement36", + "hex":"#f2d53e" + }, + { + "x":7, + "y":1, + "path":"avgAuto.placement37", + "hex":"#f2d53e" + }, + { + "x":8, + "y":1, + "path":"avgAuto.placement38", + "hex":"#a65de4" + }, + { + "x":9, + "y":1, + "path":"avgAuto.placement39", + "hex":"#f2d53e" + }, + { + "x":1, + "y":2, + "path":"avgAuto.placement21", + "hex":"#f2d53e" + }, + { + "x":2, + "y":2, + "path":"avgAuto.placement22", + "hex":"#a65de4" + }, + { + "x":3, + "y":2, + "path":"avgAuto.placement23", + "hex":"#f2d53e" + }, + { + "x":4, + "y":2, + "path":"avgAuto.placement24", + "hex":"#f2d53e" + }, + { + "x":5, + "y":2, + "path":"avgAuto.placement25", + "hex":"#a65de4" + }, + { + "x":6, + "y":2, + "path":"avgAuto.placement26", + "hex":"#f2d53e" + }, + { + "x":7, + "y":2, + "path":"avgAuto.placement27", + "hex":"#f2d53e" + }, + { + "x":8, + "y":2, + "path":"avgAuto.placement28", + "hex":"#a65de4" + }, + { + "x":9, + "y":2, + "path":"avgAuto.placement29", + "hex":"#f2d53e" + }, + { + "x":1, + "y":3, + "path":"avgAuto.placement11", + "hex":"#888888" + }, + { + "x":2, + "y":3, + "path":"avgAuto.placement12", + "hex":"#888888" + }, + { + "x":3, + "y":3, + "path":"avgAuto.placement13", + "hex":"#888888" + }, + { + "x":4, + "y":3, + "path":"avgAuto.placement14", + "hex":"#888888" + }, + { + "x":5, + "y":3, + "path":"avgAuto.placement15", + "hex":"#888888" + }, + { + "x":6, + "y":3, + "path":"avgAuto.placement16", + "hex":"#888888" + }, + { + "x":7, + "y":3, + "path":"avgAuto.placement17", + "hex":"#888888" + }, + { + "x":8, + "y":3, + "path":"avgAuto.placement18", + "hex":"#888888" + }, + { + "x":9, + "y":3, + "path":"avgAuto.placement19", + "hex":"#888888" + } + ] + } + }, + { + "view":"match", + "module":"Grid", + "position":"main", + "name":"Avg Teleop Placements", + "options":{ + "rows":3, + "cols":9, + "min":0, + "max":1, + "decimals":2, + "cells":[ + { + "x":1, + "y":1, + "path":"avgTeleop.placement31", + "hex":"#f2d53e" + + }, + { + "x":2, + "y":1, + "path":"avgTeleop.placement32", + "hex":"#a65de4" + }, + { + "x":3, + "y":1, + "path":"avgTeleop.placement33", + "hex":"#f2d53e" + }, + { + "x":4, + "y":1, + "path":"avgTeleop.placement34", + "hex":"#f2d53e" + }, + { + "x":5, + "y":1, + "path":"avgTeleop.placement35", + "hex":"#a65de4" + }, + { + "x":6, + "y":1, + "path":"avgTeleop.placement36", + "hex":"#f2d53e" + }, + { + "x":7, + "y":1, + "path":"avgTeleop.placement37", + "hex":"#f2d53e" + }, + { + "x":8, + "y":1, + "path":"avgTeleop.placement38", + "hex":"#a65de4" + }, + { + "x":9, + "y":1, + "path":"avgTeleop.placement39", + "hex":"#f2d53e" + }, + { + "x":1, + "y":2, + "path":"avgTeleop.placement21", + "hex":"#f2d53e" + }, + { + "x":2, + "y":2, + "path":"avgTeleop.placement22", + "hex":"#a65de4" + }, + { + "x":3, + "y":2, + "path":"avgTeleop.placement23", + "hex":"#f2d53e" + }, + { + "x":4, + "y":2, + "path":"avgTeleop.placement24", + "hex":"#f2d53e" + }, + { + "x":5, + "y":2, + "path":"avgTeleop.placement25", + "hex":"#a65de4" + }, + { + "x":6, + "y":2, + "path":"avgTeleop.placement26", + "hex":"#f2d53e" + }, + { + "x":7, + "y":2, + "path":"avgTeleop.placement27", + "hex":"#f2d53e" + }, + { + "x":8, + "y":2, + "path":"avgTeleop.placement28", + "hex":"#a65de4" + }, + { + "x":9, + "y":2, + "path":"avgTeleop.placement29", + "hex":"#f2d53e" + }, + { + "x":1, + "y":3, + "path":"avgTeleop.placement11", + "hex":"#888888" + }, + { + "x":2, + "y":3, + "path":"avgTeleop.placement12", + "hex":"#888888" + }, + { + "x":3, + "y":3, + "path":"avgTeleop.placement13", + "hex":"#888888" + }, + { + "x":4, + "y":3, + "path":"avgTeleop.placement14", + "hex":"#888888" + }, + { + "x":5, + "y":3, + "path":"avgTeleop.placement15", + "hex":"#888888" + }, + { + "x":6, + "y":3, + "path":"avgTeleop.placement16", + "hex":"#888888" + }, + { + "x":7, + "y":3, + "path":"avgTeleop.placement17", + "hex":"#888888" + }, + { + "x":8, + "y":3, + "path":"avgTeleop.placement18", + "hex":"#888888" + }, + { + "x":9, + "y":3, + "path":"avgTeleop.placement19", + "hex":"#888888" + } + ] + } + } +] \ No newline at end of file diff --git a/config/analysis-modules2.json b/config/analysis-modules-2023v1.json similarity index 100% rename from config/analysis-modules2.json rename to config/analysis-modules-2023v1.json diff --git a/config/analysis-modules-2024.json b/config/analysis-modules-2024.json new file mode 100644 index 00000000..b6971f43 --- /dev/null +++ b/config/analysis-modules-2024.json @@ -0,0 +1,382 @@ +[ + { + "view": "team", + "module": "PerformanceTimePlot", + "name": "Performance Over Time", + "position": "main", + "options": { + "trackedStats": [ + "scores.auto", + "scores.teleop", + "scores.climb", + "scores.all", + "accuracy" + ] + } + }, + { + "view": "team", + "module": "Stats", + "position": "side", + "name": "Team Stats", + "options": { + "list": [ + { + "name": "Climb Start Time", + "path": "averages.startClimbTime", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s to end" + }, + { + "name": "Climb End Time", + "path": "averages.endClimbTime", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s to end" + }, + { + "name": "Climb Duration", + "path": "averages.climbDuration", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Time Per Ball", + "path": "timePerBall", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Accuracy", + "path": "accuracy", + "multiplier": 100, + "decimals": 1, + "sort": 1, + "unit": "%" + }, + { + "name": "Average Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Climb Points", + "path": "averageScores.endgame", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Points", + "path": "averageScores.all", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Upper Hub Shots", + "path": "averages.upperHub", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Lower Hub Shots", + "path": "averages.lowerHub", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Misses", + "path": "averages.miss", + "decimals": 2, + "sort": -1 + } + ] + } + }, + { + "view": "team", + "module": "Pie", + "position": "main", + "name": "Climb Distribution", + "options": { + "slices": [ + { + "name": "No Climb", + "path": "climbLevels.noClimb" + }, + { + "name": "Fall", + "path": "climbLevels.climbF" + }, + { + "name": "Low Rung", + "path": "climbLevels.climb1" + }, + { + "name": "Mid Rung", + "path": "climbLevels.climb2" + }, + { + "name": "High Rung", + "path": "climbLevels.climb3" + }, + { + "name": "Traversal Rung", + "path": "climbLevels.climb4" + } + ] + } + }, + { + "view": "team", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Upper Hub", + "path": "counts.upperHub" + }, + { + "name": "Lower Hub", + "path": "counts.lowerHub" + }, + { + "name": "Miss", + "path": "counts.miss" + } + ] + } + }, + { + "view": "match", + "module": "SingleDisplay", + "name": "Alliance Score", + "position": "main", + "options": { + "path": "averageScores.all", + "aggrMethod": "sum", + "decimals": 2 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Auto Points", + "position": "main", + "options": { + "path": "averageScores.auto", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Climb Points", + "position": "main", + "options": { + "path": "averageScores.endgame", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Possible Climbs", + "position": "main", + "options": { + "string": true, + "path": "possibleClimbs" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Climb Time", + "position": "main", + "options": { + "path": "averages.climbDuration", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Total Points", + "position": "main", + "options": { + "path": "averageScores.all", + "sort": 1, + "decimals": 1 + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Time Per Ball", + "position": "main", + "options": { + "path": "timePerBall", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Accuracy", + "position": "main", + "options": { + "path": "accuracy", + "sort": 1, + "decimals": 1, + "multiplier": 100, + "unit": "%" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Possible Shots", + "position": "main", + "options": { + "string": true, + "path": "possibleShots" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Drivetrain", + "position": "main", + "options": { + "string": true, + "path": "manual.drivetrain" + } + }, + { + "view": "match", + "module": "HeatmapScatterPlot", + "name": "Alliance Shot Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Shots", + "actions": [ + "upperHub", + "lowerHub", + "miss" + ] + } + ], + "actionLabels": { + "upperHub": "Upper", + "lowerHub": "Lower", + "miss": "Miss" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "match", + "module": "HeatmapScatterPlot", + "name": "Alliance Pickup Plot", + "position": "main", + "options": { + "coordinatePath": "other.pos", + "aggregatedActionsPath": "aggregatedActions", + "actionGroups": [ + { + "name": "Pickups", + "actions": [ + "groundPickup" + ] + } + ], + "actionLabels": { + "groundPickup": "Ground" + }, + "imgPath": "img/field.svg" + } + }, + { + "view": "match", + "module": "Stats", + "position": "side", + "name": "Alliance Stats", + "options": { + "list": [ + { + "name": "Expected Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Teleop Points", + "path": "averageScores.teleop", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Climb Points", + "path": "averageScores.endgame", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Score", + "path": "averageScores.all", + "decimals": 2, + "aggrMethod": "sum" + } + ] + } + }, + { + "view": "match", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Upper Hub", + "path": "averages.upperHub" + }, + { + "name": "Lower Hub", + "path": "averages.lowerHub" + }, + { + "name": "Miss", + "path": "averages.miss" + } + ] + } + } +] \ No newline at end of file diff --git a/config/analysis-modules.json b/config/analysis-modules.json index ea386c64..9903fae6 100644 --- a/config/analysis-modules.json +++ b/config/analysis-modules.json @@ -1,590 +1,195 @@ [ - { - "view":"team", - "module":"Stats", - "position":"side", - "name":"Mobility", - "options":{ - "list":[ - { - "name":"Avg Time to Leave", - "path":"averageLeave", - "decimals":2, - "sort":1 - } - ] - } - }, { - "view":"team", - "module":"Stats", - "position":"side", - "name":"Average Scores", - "options":{ - "list":[ - { - "name":"Avg Score", - "path":"averageScores.total", - "decimals":2, - "sort":1 - }, - { - "name":"Avg Auto", - "path":"averageScores.auto", - "decimals":2, - "sort":1 - }, - { - "name":"Avg Teleop", - "path":"averageScores.teleop", - "decimals":2, - "sort":1 - }, - { - "name":"Avg Dock", - "path":"averageScores.dock", - "decimals":2, - "sort":1 - } - ] - } + "view": "team", + "module": "PerformanceTimePlot", + "name": "Performance Over Time", + "position": "main", + "options": { + "trackedStats": [ + "scores.auto", + "scores.teleop", + "scores.stage", + "scores.total", + "accuracy%" + ] + } }, { - "view":"team", - "module":"Stats", - "position":"side", - "name":"Charging Dock Averages", - "options": { - "list":[ - { - "name":"Attempts", - "path":"averages.chargingDock", - "decimals":2, - "sort":1 - }, - { - "name":"Docked", - "path":"averages.platformDocked", - "decimals":2, - "sort":1 - }, - { - "name":"Engaged", - "path":"averages.platformEngaged", - "decimals":2, - "sort":1 - }, - { - "name":"Left", - "path":"averages.platformLeave", - "decimals":2, - "sort":1 - }, - { - "name":"Fell", - "path":"averages.platformFall", - "decimals":2, - "sort":1 - }, - { - "name":"Engage Time", - "path":"dockCycle.averageTime", - "decimals":2, - "sort":-1, - "multiplier":0.001, - "unit":" sec" - }, - { - "name":"Park Rate", - "path":"averagePark", - "decimals":2, - "sort":-1 - } - ] - } - }, - { - "view":"team", - "module":"Stats", - "position":"side", - "name":"Cycle Times", - "options":{ - "list":[ - { - "name":"Overall", - "path":"cycle.averageTime", - "decimals":2, - "sort":-1, - "multiplier":0.001, - "unit":" sec" - },{ - "name":"Cone", - "path":"coneCycle.averageTime", - "decimals":2, - "sort":-1, - "multiplier":0.001, - "unit":" sec" - }, - { - "name":"Cube", - "path":"cubeCycle.averageTime", - "decimals":2, - "sort":-1, - "multiplier":0.001, - "unit":" sec" - } - ] - } - }, - { - "view":"team", - "module":"Stats", - "position":"side", - "name":"Broken Rate", - "options":{ - "list":[ - { - "name":"Rate", - "path":"averages.broken", - "decimals":2, - "sort":-1 - } - ] - } - }, - { - "view":"team", - "module": "Pie", - "position":"main", - "name":"Avg Cone Pickups", - "wholeMatch": false, - "options":{ - "slices":[ - { - "name":"Grid", - "path":"averages.conePickupGrid" - }, - { - "name":"Community", - "path":"averages.conePickupCommunity" - }, - { - "name":"Floor", - "path":"averages.conePickupFloor" - }, - { - "name":"Chute", - "path":"averages.conePickupChute" - }, - { - "name":"Shelf", - "path":"averages.conePickupShelf" - } - ] - } - }, - { - "view":"team", - "module": "Pie", - "position":"main", - "name":"Avg Cube Pickups", - "wholeMatch": false, - "options":{ - "slices":[ - { - "name":"Grid", - "path":"averages.cubePickupGrid" - }, - { - "name":"Community", - "path":"averages.cubePickupCommunity" - }, - { - "name":"Floor", - "path":"averages.cubePickupFloor" - }, - { - "name":"Chute", - "path":"averages.cubePickupChute" - }, - { - "name":"Shelf", - "path":"averages.cubePickupShelf" - } - ] - } - }, - { - "view":"team", - "module":"Grid", - "position":"main", - "name":"Avg Auto Placements", - "options":{ - "rows":3, - "cols":9, - "decimals":2, - "min":0, - "max":1, - "cells":[ - { - "x":1, - "y":1, - "path":"avgAuto.placement31", - "hex":"#f2d53e" + "view": "team", + "module": "Stats", + "position": "side", + "name": "Team Stats", + "options": { + "list": [ + { + "name": "Time Per Note", + "path": "timePerNote", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Accuracy", + "path": "accuracy", + "multiplier": 100, + "decimals": 1, + "sort": 1, + "unit": "%" + }, + { + "name": "Average Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Teleop Points", + "path": "averageScores.teleop", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Stage Points", + "path": "averageScores.stage", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Points", + "path": "averageScores.total", + "decimals": 2, + "sort": 1 + }, + { + "name": "Average Amp", + "path": "averages.scoreAmp", + "decimals": 1, + "sort": 1 + }, + { + "name": "Average Speaker", + "path": "averages.scoreSpeaker", + "decimals": 1, + "sort": 1 + }, + { + "name": "Average Amped Speaker", + "path": "averages.scoreAmpedSpeaker", + "decimals": 1, + "sort": 1 + }, + { + "name": "Average Misses", + "path": "averages.miss", + "decimals": 1, + "sort": -1 + }, - }, - { - "x":2, - "y":1, - "path":"avgAuto.placement32", - "hex":"#a65de4" - }, - { - "x":3, - "y":1, - "path":"avgAuto.placement33", - "hex":"#f2d53e" - }, - { - "x":4, - "y":1, - "path":"avgAuto.placement34", - "hex":"#f2d53e" - }, - { - "x":5, - "y":1, - "path":"avgAuto.placement35", - "hex":"#a65de4" - }, - { - "x":6, - "y":1, - "path":"avgAuto.placement36", - "hex":"#f2d53e" - }, - { - "x":7, - "y":1, - "path":"avgAuto.placement37", - "hex":"#f2d53e" - }, - { - "x":8, - "y":1, - "path":"avgAuto.placement38", - "hex":"#a65de4" - }, - { - "x":9, - "y":1, - "path":"avgAuto.placement39", - "hex":"#f2d53e" - }, - { - "x":1, - "y":2, - "path":"avgAuto.placement21", - "hex":"#f2d53e" - }, - { - "x":2, - "y":2, - "path":"avgAuto.placement22", - "hex":"#a65de4" - }, - { - "x":3, - "y":2, - "path":"avgAuto.placement23", - "hex":"#f2d53e" - }, - { - "x":4, - "y":2, - "path":"avgAuto.placement24", - "hex":"#f2d53e" - }, - { - "x":5, - "y":2, - "path":"avgAuto.placement25", - "hex":"#a65de4" - }, - { - "x":6, - "y":2, - "path":"avgAuto.placement26", - "hex":"#f2d53e" - }, - { - "x":7, - "y":2, - "path":"avgAuto.placement27", - "hex":"#f2d53e" - }, - { - "x":8, - "y":2, - "path":"avgAuto.placement28", - "hex":"#a65de4" - }, - { - "x":9, - "y":2, - "path":"avgAuto.placement29", - "hex":"#f2d53e" - }, - { - "x":1, - "y":3, - "path":"avgAuto.placement11", - "hex":"#888888" - }, - { - "x":2, - "y":3, - "path":"avgAuto.placement12", - "hex":"#888888" - }, - { - "x":3, - "y":3, - "path":"avgAuto.placement13", - "hex":"#888888" - }, - { - "x":4, - "y":3, - "path":"avgAuto.placement14", - "hex":"#888888" - }, - { - "x":5, - "y":3, - "path":"avgAuto.placement15", - "hex":"#888888" - }, - { - "x":6, - "y":3, - "path":"avgAuto.placement16", - "hex":"#888888" - }, - { - "x":7, - "y":3, - "path":"avgAuto.placement17", - "hex":"#888888" - }, - { - "x":8, - "y":3, - "path":"avgAuto.placement18", - "hex":"#888888" - }, - { - "x":9, - "y":3, - "path":"avgAuto.placement19", - "hex":"#888888" + { + "name": "Average Onstage Time", + "path": "stageCycle.averageTimeComplete", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + }, + { + "name": "Total Brokens", + "path": "counts.broken", + "decimals": 0, + "sort": -1 + }, + { + "name": "Total A-Stops", + "path": "counts.aStop", + "decimals": 0, + "sort": -1 + } + ] } - ] - } - }, + }, { - "view":"team", - "module":"Grid", - "position":"main", - "name":"Avg Teleop Placements", - "options":{ - "rows":3, - "cols":9, - "min":0, - "max":1, - "decimals":2, - "cells":[ - { - "x":1, - "y":1, - "path":"avgTeleop.placement31", - "hex":"#f2d53e" - - }, - { - "x":2, - "y":1, - "path":"avgTeleop.placement32", - "hex":"#a65de4" - }, - { - "x":3, - "y":1, - "path":"avgTeleop.placement33", - "hex":"#f2d53e" - }, - { - "x":4, - "y":1, - "path":"avgTeleop.placement34", - "hex":"#f2d53e" - }, - { - "x":5, - "y":1, - "path":"avgTeleop.placement35", - "hex":"#a65de4" - }, - { - "x":6, - "y":1, - "path":"avgTeleop.placement36", - "hex":"#f2d53e" - }, - { - "x":7, - "y":1, - "path":"avgTeleop.placement37", - "hex":"#f2d53e" - }, - { - "x":8, - "y":1, - "path":"avgTeleop.placement38", - "hex":"#a65de4" - }, - { - "x":9, - "y":1, - "path":"avgTeleop.placement39", - "hex":"#f2d53e" - }, - { - "x":1, - "y":2, - "path":"avgTeleop.placement21", - "hex":"#f2d53e" - }, - { - "x":2, - "y":2, - "path":"avgTeleop.placement22", - "hex":"#a65de4" - }, - { - "x":3, - "y":2, - "path":"avgTeleop.placement23", - "hex":"#f2d53e" - }, - { - "x":4, - "y":2, - "path":"avgTeleop.placement24", - "hex":"#f2d53e" - }, - { - "x":5, - "y":2, - "path":"avgTeleop.placement25", - "hex":"#a65de4" - }, - { - "x":6, - "y":2, - "path":"avgTeleop.placement26", - "hex":"#f2d53e" - }, - { - "x":7, - "y":2, - "path":"avgTeleop.placement27", - "hex":"#f2d53e" - }, - { - "x":8, - "y":2, - "path":"avgTeleop.placement28", - "hex":"#a65de4" - }, - { - "x":9, - "y":2, - "path":"avgTeleop.placement29", - "hex":"#f2d53e" - }, - { - "x":1, - "y":3, - "path":"avgTeleop.placement11", - "hex":"#888888" - }, - { - "x":2, - "y":3, - "path":"avgTeleop.placement12", - "hex":"#888888" - }, - { - "x":3, - "y":3, - "path":"avgTeleop.placement13", - "hex":"#888888" - }, - { - "x":4, - "y":3, - "path":"avgTeleop.placement14", - "hex":"#888888" - }, - { - "x":5, - "y":3, - "path":"avgTeleop.placement15", - "hex":"#888888" - }, - { - "x":6, - "y":3, - "path":"avgTeleop.placement16", - "hex":"#888888" - }, - { - "x":7, - "y":3, - "path":"avgTeleop.placement17", - "hex":"#888888" - }, - { - "x":8, - "y":3, - "path":"avgTeleop.placement18", - "hex":"#888888" - }, - { - "x":9, - "y":3, - "path":"avgTeleop.placement19", - "hex":"#888888" + "view": "team", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Amp", + "path": "counts.scoreAmp" + }, + { + "name": "Speaker", + "path": "counts.scoreSpeaker" + }, + { + "name": "Amped Speaker", + "path": "counts.scoreAmpedSpeaker" + }, + { + "name": "Miss", + "path": "counts.miss" + } + ] } - ] - } - }, + }, { - "view": "team", - "module": "PerformanceTimePlot", - "name": "Scores Over Time", - "position": "main", - "options": { - "trackedStats": [ - "scores.auto", - "scores.teleop", - "scores.dock", - "scores.total" - ] - } + "view": "team", + "module": "Pie", + "position": "main", + "name": "Pickup Distribution", + "options": { + "slices": [ + { + "name": "Source", + "path": "counts.sourcePickup" + }, + { + "name": "Ground", + "path": "counts.groundPickup" + } + ] + } }, - { + { + "view": "team", + "module": "Bar", + "position": "main", + "name": "Stage", + "options": { + "bars": [ + { + "name": "Park", + "path": "avgStage.park" + }, + { + "name": "Unpark", + "path": "avgStage.unpark" + }, + { + "name": "Onstage", + "path": "avgStage.onstage" + }, + { + "name": "Onstage Fall", + "path": "avgStage.onstageFall" + }, + { + "name": "Harmony", + "path": "averages.harmony" + }, + { + "name": "Spotlit", + "path": "avgStage.spotlit" + } + ] + } + }, + { "view": "match", "module": "SingleDisplay", "name": "Alliance Score", @@ -595,24 +200,24 @@ "decimals": 2 } }, - { + { "view": "match", - "module": "SingleDisplay", - "name": "Percent Chance of Winning", + "module": "ColumnDisplay", + "name": "Auto Points", "position": "main", - "wholeMatch": true, "options": { - "aggrMethod" : "percentChanceOfWinning", - "decimals": 2 + "path": "averageScores.auto", + "sort": 1, + "decimals": 1 } }, { "view": "match", "module": "ColumnDisplay", - "name": "Auto Points", + "name": "Stage Points", "position": "main", "options": { - "path": "averageScores.auto", + "path": "averageScores.stage", "sort": 1, "decimals": 1 } @@ -620,430 +225,99 @@ { "view": "match", "module": "ColumnDisplay", - "name": "Dock Points", + "name": "Total Points", "position": "main", "options": { - "path": "averageScores.dock", + "path": "averageScores.total", "sort": 1, "decimals": 1 } }, - - { - "view":"match", - "module": "Pie", - "position":"main", - "name":"Avg Cone Pickups", - "wholeMatch": false, - "options":{ - "slices":[ - { - "name":"Grid", - "path":"averages.conePickupGrid" - }, - { - "name":"Community", - "path":"averages.conePickupCommunity" - }, - { - "name":"Floor", - "path":"averages.conePickupFloor" - }, - { - "name":"Chute", - "path":"averages.conePickupChute" - }, - { - "name":"Shelf", - "path":"averages.conePickupShelf" - } - ] - } - }, - { - "view":"match", - "module": "Pie", - "position":"main", - "name":"Avg Cube Pickups", - "options":{ - "slices":[ - { - "name":"Grid", - "path":"averages.cubePickupGrid" - }, - { - "name":"Community", - "path":"averages.cubePickupCommunity" - }, - { - "name":"Floor", - "path":"averages.cubePickupFloor" - }, - { - "name":"Chute", - "path":"averages.cubePickupChute" - }, - { - "name":"Shelf", - "path":"averages.cubePickupShelf" - } - ] - } - }, - { - "view":"match", - "module":"Grid", - "position":"main", - "name":"Avg Auto Placements", - "options":{ - "rows":3, - "cols":9, - "decimals":2, - "min":0, - "max":1, - "cells":[ - { - "x":1, - "y":1, - "path":"avgAuto.placement31", - "hex":"#f2d53e" - - }, - { - "x":2, - "y":1, - "path":"avgAuto.placement32", - "hex":"#a65de4" - }, - { - "x":3, - "y":1, - "path":"avgAuto.placement33", - "hex":"#f2d53e" - }, - { - "x":4, - "y":1, - "path":"avgAuto.placement34", - "hex":"#f2d53e" - }, - { - "x":5, - "y":1, - "path":"avgAuto.placement35", - "hex":"#a65de4" - }, - { - "x":6, - "y":1, - "path":"avgAuto.placement36", - "hex":"#f2d53e" - }, - { - "x":7, - "y":1, - "path":"avgAuto.placement37", - "hex":"#f2d53e" - }, - { - "x":8, - "y":1, - "path":"avgAuto.placement38", - "hex":"#a65de4" - }, - { - "x":9, - "y":1, - "path":"avgAuto.placement39", - "hex":"#f2d53e" - }, - { - "x":1, - "y":2, - "path":"avgAuto.placement21", - "hex":"#f2d53e" - }, - { - "x":2, - "y":2, - "path":"avgAuto.placement22", - "hex":"#a65de4" - }, - { - "x":3, - "y":2, - "path":"avgAuto.placement23", - "hex":"#f2d53e" - }, - { - "x":4, - "y":2, - "path":"avgAuto.placement24", - "hex":"#f2d53e" - }, - { - "x":5, - "y":2, - "path":"avgAuto.placement25", - "hex":"#a65de4" - }, - { - "x":6, - "y":2, - "path":"avgAuto.placement26", - "hex":"#f2d53e" - }, - { - "x":7, - "y":2, - "path":"avgAuto.placement27", - "hex":"#f2d53e" - }, - { - "x":8, - "y":2, - "path":"avgAuto.placement28", - "hex":"#a65de4" - }, - { - "x":9, - "y":2, - "path":"avgAuto.placement29", - "hex":"#f2d53e" - }, - { - "x":1, - "y":3, - "path":"avgAuto.placement11", - "hex":"#888888" - }, - { - "x":2, - "y":3, - "path":"avgAuto.placement12", - "hex":"#888888" - }, - { - "x":3, - "y":3, - "path":"avgAuto.placement13", - "hex":"#888888" - }, - { - "x":4, - "y":3, - "path":"avgAuto.placement14", - "hex":"#888888" - }, - { - "x":5, - "y":3, - "path":"avgAuto.placement15", - "hex":"#888888" - }, - { - "x":6, - "y":3, - "path":"avgAuto.placement16", - "hex":"#888888" - }, - { - "x":7, - "y":3, - "path":"avgAuto.placement17", - "hex":"#888888" - }, - { - "x":8, - "y":3, - "path":"avgAuto.placement18", - "hex":"#888888" - }, - { - "x":9, - "y":3, - "path":"avgAuto.placement19", - "hex":"#888888" + { + "view": "match", + "module": "ColumnDisplay", + "name": "Time Per Note", + "position": "main", + "options": { + "path": "timePerNote", + "multiplier": 0.001, + "decimals": 2, + "hideIfValue": 0, + "sort": -1, + "unit": "s" + } + }, + { + "view": "match", + "module": "ColumnDisplay", + "name": "Accuracy", + "position": "main", + "options": { + "path": "accuracy", + "sort": 1, + "decimals": 1, + "multiplier": 100, + "unit": "%" + } + }, + { + "view": "match", + "module": "Stats", + "position": "side", + "name": "Alliance Stats", + "options": { + "list": [ + { + "name": "Expected Auto Points", + "path": "averageScores.auto", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Teleop Points", + "path": "averageScores.teleop", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Stage Points", + "path": "averageScores.stage", + "decimals": 2, + "aggrMethod": "sum" + }, + { + "name": "Expected Score", + "path": "averageScores.total", + "decimals": 2, + "aggrMethod": "sum" + } + ] } - ] - } - }, + }, { - "view":"match", - "module":"Grid", - "position":"main", - "name":"Avg Teleop Placements", - "options":{ - "rows":3, - "cols":9, - "min":0, - "max":1, - "decimals":2, - "cells":[ - { - "x":1, - "y":1, - "path":"avgTeleop.placement31", - "hex":"#f2d53e" - - }, - { - "x":2, - "y":1, - "path":"avgTeleop.placement32", - "hex":"#a65de4" - }, - { - "x":3, - "y":1, - "path":"avgTeleop.placement33", - "hex":"#f2d53e" - }, - { - "x":4, - "y":1, - "path":"avgTeleop.placement34", - "hex":"#f2d53e" - }, - { - "x":5, - "y":1, - "path":"avgTeleop.placement35", - "hex":"#a65de4" - }, - { - "x":6, - "y":1, - "path":"avgTeleop.placement36", - "hex":"#f2d53e" - }, - { - "x":7, - "y":1, - "path":"avgTeleop.placement37", - "hex":"#f2d53e" - }, - { - "x":8, - "y":1, - "path":"avgTeleop.placement38", - "hex":"#a65de4" - }, - { - "x":9, - "y":1, - "path":"avgTeleop.placement39", - "hex":"#f2d53e" - }, - { - "x":1, - "y":2, - "path":"avgTeleop.placement21", - "hex":"#f2d53e" - }, - { - "x":2, - "y":2, - "path":"avgTeleop.placement22", - "hex":"#a65de4" - }, - { - "x":3, - "y":2, - "path":"avgTeleop.placement23", - "hex":"#f2d53e" - }, - { - "x":4, - "y":2, - "path":"avgTeleop.placement24", - "hex":"#f2d53e" - }, - { - "x":5, - "y":2, - "path":"avgTeleop.placement25", - "hex":"#a65de4" - }, - { - "x":6, - "y":2, - "path":"avgTeleop.placement26", - "hex":"#f2d53e" - }, - { - "x":7, - "y":2, - "path":"avgTeleop.placement27", - "hex":"#f2d53e" - }, - { - "x":8, - "y":2, - "path":"avgTeleop.placement28", - "hex":"#a65de4" - }, - { - "x":9, - "y":2, - "path":"avgTeleop.placement29", - "hex":"#f2d53e" - }, - { - "x":1, - "y":3, - "path":"avgTeleop.placement11", - "hex":"#888888" - }, - { - "x":2, - "y":3, - "path":"avgTeleop.placement12", - "hex":"#888888" - }, - { - "x":3, - "y":3, - "path":"avgTeleop.placement13", - "hex":"#888888" - }, - { - "x":4, - "y":3, - "path":"avgTeleop.placement14", - "hex":"#888888" - }, - { - "x":5, - "y":3, - "path":"avgTeleop.placement15", - "hex":"#888888" - }, - { - "x":6, - "y":3, - "path":"avgTeleop.placement16", - "hex":"#888888" - }, - { - "x":7, - "y":3, - "path":"avgTeleop.placement17", - "hex":"#888888" - }, - { - "x":8, - "y":3, - "path":"avgTeleop.placement18", - "hex":"#888888" - }, - { - "x":9, - "y":3, - "path":"avgTeleop.placement19", - "hex":"#888888" + "view": "match", + "module": "Pie", + "position": "main", + "name": "Shot Distribution", + "options": { + "slices": [ + { + "name": "Amp", + "path": "averages.scoreAmp" + }, + { + "name": "Speaker", + "path": "averages.scoreSpeaker" + }, + { + "name": "Amped Speaker", + "path": "averages.scoreAmpedSpeaker" + }, + { + "name": "Miss", + "path": "averages.miss" + } + ] } - ] } - } ] \ No newline at end of file diff --git a/config/analysis-pipeline-2022.json b/config/analysis-pipeline-2022.json new file mode 100644 index 00000000..d0b67b74 --- /dev/null +++ b/config/analysis-pipeline-2022.json @@ -0,0 +1,453 @@ +[ + { + "type": "tmp", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "sum", + "outputPath": "counts.balls", + "options": { + "addends": [ + "counts.upperHub", + "counts.lowerHub", + "counts.miss" + ] + } + }, + + { + "type": "team", + "name": "aggregateArray", + "outputPath": "aggregatedActions", + "options": { + "path": "actionQueue" + } + }, + + { + "type": "team", + "name": "countMatches", + "outputPath": "temp.totalTimeMs", + "options": { + "weight": 150000 + } + }, + { + "type": "team", + "name": "ratio", + "outputPath": "timePerBall", + "options": { + "numerator": ["temp.totalTimeMs"], + "denominator": ["counts.balls"] + }, + "divByZero": 150000 + }, + + { + "type": "tmp", + "name": "cycle", + "outputPath": "cycle", + "options": { + "pickups": [ + "groundPickup" + ], + "scores": [ + "upperHub", + "lowerHub" + ], + "misses": [ + "miss" + ] + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cycle.all", + "options": { + "path": "cycle.all" + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cycle.allComplete", + "options": { + "path": "cycle.allComplete" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cycle.averageTime", + "options": { + "arrayPath": "cycle.all", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cycle.averageTimeComplete", + "options": { + "arrayPath": "cycle.allComplete", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averages", + "options": { + "path": "counts" + } + }, + + { + "type": "tmp", + "name": "ratio", + "outputPath": "accuracy", + "options": { + "numerator": [ + "counts.lowerHub", + "counts.upperHub" + ], + "denominator": [ + "counts.lowerHub", + "counts.upperHub", + "counts.miss" + ], + "divByZero": 0 + } + }, + { + "type": "team", + "name": "ratio", + "outputPath": "accuracy", + "options": { + "numerator": [ + "counts.lowerHub", + "counts.upperHub" + ], + "denominator": [ + "counts.lowerHub", + "counts.upperHub", + "counts.miss" + ], + "divByZero": 0 + } + }, + + + + { + "type": "tmp", + "name": "actionTime", + "outputPath": "tarmacCrossTime", + "options": { + "actionId": "leaveTarmac" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averages.tarmacCrossTime", + "options": { + "path": "tarmacCrossTime" + } + }, + { + "type": "tmp", + "name": "actionTime", + "outputPath": "startClimbTime", + "options": { + "actionId": "startClimb" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averages.startClimbTime", + "options": { + "path": "startClimbTime" + } + }, + { + "type": "tmp", + "name": "actionTimeFilter", + "outputPath": "autoActions", + "options": { + "timeMin": 131000 + } + }, + { + "type": "tmp", + "name": "countActions", + "outputPath": "countsAuto", + "options": { + "all": true, + "actionArrayPath": "autoActions" + } + }, + { + "type": "tmp", + "name": "weightedSum", + "outputPath": "scores.auto", + "options": { + "weightedPaths": { + "countsAuto.leaveTarmac": 2, + "countsAuto.lowerHub": 2, + "countsAuto.upperHub": 4 + } + } + }, + + { + "type": "tmp", + "name": "actionTimeFilter", + "outputPath": "teleopActions", + "options": { + "timeMax": 131000 + } + }, + { + "type": "tmp", + "name": "countActions", + "outputPath": "countsTeleop", + "options": { + "all": true, + "actionArrayPath": "teleopActions" + } + }, + { + "type": "tmp", + "name": "weightedSum", + "outputPath": "scores.teleop", + "options": { + "weightedPaths": { + "countsTeleop.lowerHub": 1, + "countsTeleop.upperHub": 2 + } + } + }, + + { + "type": "tmp", + "name": "finalActionOccurence", + "outputPath": "finalClimbState", + "options": { + "ids": ["climb1","climb2","climb3","climb4","climbF"], + "default": { + "id": "noClimb", + "ts": 0 + } + } + }, + + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.noClimb", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 1, + "climbF": 0, + "climb1": 0, + "climb2": 0, + "climb3": 0, + "climb4": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.climbF", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 1, + "climb1": 0, + "climb2": 0, + "climb3": 0, + "climb4": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.climb1", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 0, + "climb1": 1, + "climb2": 0, + "climb3": 0, + "climb4": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.climb2", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 0, + "climb1": 0, + "climb2": 1, + "climb3": 0, + "climb4": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.climb3", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 0, + "climb1": 0, + "climb2": 0, + "climb3": 1, + "climb4": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "climbCounts.climb4", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 0, + "climb1": 0, + "climb2": 0, + "climb3": 0, + "climb4": 1 + } + } + }, + { + "type": "team", + "name": "average", + "outputPath": "climbLevels", + "options": { + "path": "climbCounts" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averages.endClimbTime", + "options": { + "path": "finalClimbState.ts" + } + }, + { + "type": "tmp", + "name": "subtract", + "outputPath": "climbDuration", + "options": { + "minuend": "startClimbTime", + "subtrahend": "finalClimbState.ts" + } + }, + { + "type": "team", + "name": "subtract", + "outputPath": "averages.climbDuration", + "options": { + "minuend": "averages.startClimbTime", + "subtrahend": "averages.endClimbTime" + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "scores.endgame", + "options": { + "path": "finalClimbState.id", + "map": { + "noClimb": 0, + "climbF": 0, + "climb1": 4, + "climb2": 6, + "climb3": 10, + "climb4": 15 + } + } + }, + + { + "type": "tmp", + "name": "sum", + "outputPath": "scores.all", + "options": { + "addends": ["scores.teleop","scores.auto","scores.endgame"] + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averageScores", + "options": { + "path": "scores" + } + }, + { + "type": "team", + "name": "threshold", + "outputPath": "possibleClimbs", + "options": { + "threshold": 0, + "separator": ", ", + "none": "—", + "paths": { + "climbLevels.climb1": "1", + "climbLevels.climb2": "2", + "climbLevels.climb3": "3", + "climbLevels.climb4": "4" + } + } + }, + { + "type": "team", + "name": "threshold", + "outputPath": "possibleShots", + "options": { + "threshold": 1, + "separator": ", ", + "none": "—", + "paths": { + "averages.upperHub": "U", + "averages.lowerHub": "L" + } + } + } +] \ No newline at end of file diff --git a/config/analysis-pipeline-2023.json b/config/analysis-pipeline-2023.json new file mode 100644 index 00000000..038f535f --- /dev/null +++ b/config/analysis-pipeline-2023.json @@ -0,0 +1,529 @@ +[ + { + "type": "tmp", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "sum", + "outputPath": "counts.totalScored", + "options":{ + "addends":[ + "counts.placement11", + "counts.placement12", + "counts.placement13", + "counts.placement14", + "counts.placement15", + "counts.placement16", + "counts.placement17", + "counts.placement18", + "counts.placement19", + "counts.placement21", + "counts.placement22", + "counts.placement23", + "counts.placement24", + "counts.placement25", + "counts.placement26", + "counts.placement27", + "counts.placement28", + "counts.placement29", + "counts.placement31", + "counts.placement32", + "counts.placement33", + "counts.placement34", + "counts.placement35", + "counts.placement36", + "counts.placement37", + "counts.placement38", + "counts.placement39" + ] + } + }, + { + "type":"tmp", + "name":"countHybrid", + "outputPath": "counts.hybrid", + "options":{ + "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], + "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"] + } + }, + { + "type": "team", + "name": "countMatches", + "outputPath": "temp.totalTimeMs", + "options": { + "weight": 150000 + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "aggregatedActions", + "options": { + "path": "actionQueue" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averages", + "options": { + "path": "counts" + } + }, + { + "type":"tmp", + "name":"actionTimeFilter", + "outputPath":"autoFilter", + "options":{ + "timeMin":135000 + } + }, + { + "type":"tmp", + "name":"actionTimeFilter", + "outputPath":"teleopFilter", + "options":{ + "timeMax":135000 + } + }, + { + "type":"tmp", + "name":"countActions", + "outputPath":"countsAuto", + "options":{ + "all":true, + "actionArrayPath":"autoFilter" + } + }, + { + "type":"tmp", + "name":"countActions", + "outputPath":"countsTeleop", + "options":{ + "all":true, + "actionArrayPath":"teleopFilter" + } + }, + { + "type":"tmp", + "name":"countHybrid", + "outputPath":"autoCounts.hybrid", + "options":{ + "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], + "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"], + "actionArrayPath":"autoFilter" + } + }, + { + "type":"tmp", + "name":"countHybrid", + "outputPath":"teleopCounts.hybrid", + "options":{ + "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], + "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"], + "actionArrayPath":"teleopFilter" + } + }, + { + "type":"tmp", + "name":"weightedSum", + "outputPath":"scores.auto", + "options":{ + "weightedPaths":{ + "countsAuto.placement31":7.666, + "countsAuto.placement32":7.666, + "countsAuto.placement33":7.666, + "countsAuto.placement34":7.666, + "countsAuto.placement35":7.666, + "countsAuto.placement36":7.666, + "countsAuto.placement37":7.666, + "countsAuto.placement38":7.666, + "countsAuto.placement39":7.666, + "countsAuto.placement21":5.666, + "countsAuto.placement22":5.666, + "countsAuto.placement23":5.666, + "countsAuto.placement24":5.666, + "countsAuto.placement25":5.666, + "countsAuto.placement26":5.666, + "countsAuto.placement27":5.666, + "countsAuto.placement28":5.666, + "countsAuto.placement29":5.666, + "autoCounts.hybrid.conePickupGrid":4.666, + "autoCounts.hybrid.conePickupCommunity":4.666, + "autoCounts.hybrid.conePickupFloor":4.666, + "autoCounts.hybrid.conePickupChute":4.666, + "autoCounts.hybrid.conePickupPlatform":4.666, + "autoCounts.hybrid.cubePickupGrid":4.666, + "autoCounts.hybrid.cubePickupCommunity":4.666, + "autoCounts.hybrid.cubePickupFloor":4.666, + "autoCounts.hybrid.cubePickupChute":4.666, + "autoCounts.hybrid.cubePickupPlatform":4.666 + } + } + }, + { + "type":"tmp", + "name":"weightedSum", + "outputPath":"scores.teleop", + "options":{ + "weightedPaths":{ + "countsTeleop.placement31":6.666, + "countsTeleop.placement32":6.666, + "countsTeleop.placement33":6.666, + "countsTeleop.placement34":6.666, + "countsTeleop.placement35":6.666, + "countsTeleop.placement36":6.666, + "countsTeleop.placement37":6.666, + "countsTeleop.placement38":6.666, + "countsTeleop.placement39":6.666, + "countsTeleop.placement21":4.666, + "countsTeleop.placement22":4.666, + "countsTeleop.placement23":4.666, + "countsTeleop.placement24":4.666, + "countsTeleop.placement25":4.666, + "countsTeleop.placement26":4.666, + "countsTeleop.placement27":4.666, + "countsTeleop.placement28":4.666, + "countsTeleop.placement29":4.666, + "teleopCounts.hybrid.conePickupGrid":3.666, + "teleopCounts.hybrid.conePickupCommunity":3.666, + "teleopCounts.hybrid.conePickupFloor":3.666, + "teleopCounts.hybrid.conePickupChute":3.666, + "teleopCounts.hybrid.conePickupPlatform":3.666, + "teleopCounts.hybrid.cubePickupGrid":3.666, + "teleopCounts.hybrid.cubePickupCommunity":3.666, + "teleopCounts.hybrid.cubePickupFloor":3.666, + "teleopCounts.hybrid.cubePickupChute":3.666, + "teleopCounts.hybrid.cubePickupPlatform":3.666 + } + } + }, + { + "type":"team", + "name":"average", + "outputPath":"avgAuto", + "options":{ + "path":"countsAuto" + } + }, + { + "type":"team", + "name":"average", + "outputPath":"avgTeleop", + "options":{ + "path":"countsTeleop" + } + }, + { + "type":"tmp", + "name":"cycle", + "outputPath":"dockCycle", + "options":{ + "pickups":[ + "platformDocked" + ], + "scores":[ + "platformEngaged" + ], + "misses":[ + "platformLeave", + "platformFall" + ] + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "dockCycle.all", + "options": { + "path": "dockCycle.all" + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "dockCycle.allComplete", + "options": { + "path": "dockCycle.allComplete" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "dockCycle.averageTime", + "options": { + "arrayPath": "dockCycle.all", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "dockCycle.averageTimeComplete", + "options": { + "arrayPath": "dockCycle.allComplete", + "valuePath": "timeDifferential" + } + }, + { + "type": "tmp", + "name": "finalActionOccurence", + "outputPath": "finalAutoDock", + "options": { + "actionArrayPath": "autoFilter", + "ids":[ + "platformFall", + "platformEngaged", + "platformLeave", + "platformDocked" + ], + "default": { + "id": "noDock", + "ts": 0 + } + } + }, + { + "type": "tmp", + "name": "finalActionOccurence", + "outputPath": "finalTeleopDock", + "options": { + "actionArrayPath": "teleopFilter", + "ids":[ + "platformFall", + "platformEngaged", + "platformLeave", + "platformDocked" + ], + "default": { + "id": "noDock", + "ts": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "scores.autoDock", + "options": { + "path":"finalAutoDock.id", + "map":{ + "noDock":0, + "platformDock":8, + "platformEngaged":12, + "platformFall":0, + "platformLeave":0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "scores.teleopDock", + "options": { + "path":"finalTeleopDock.id", + "map":{ + "noDock":0, + "platformDock":6, + "platformEngaged":10, + "platformFall":0, + "platformLeave":0 + } + } + }, + { + "type":"tmp", + "name":"sum", + "outputPath":"scores.dock", + "options":{ + "addends":["scores.autoDock","scores.teleopDock"] + } + }, + { + "type":"tmp", + "name":"sum", + "outputPath":"scores.total", + "options":{ + "addends":["scores.auto","scores.teleop","scores.dock"] + } + }, + { + "type":"tmp", + "name":"cycle", + "outputPath":"coneCycle", + "options":{ + "pickups":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], + "scores":["placement31","placement21","placement33","placement23","placement34","placement24","placement36","placement26","placement37","placement27","placement39","placement29","counts.hybrid.conePickupGrid","counts.hybrid.conePickupCommunity","counts.hybrid.conePickupFloor","counts.hybrid.conePickupChute","counts.hybrid.conePickupPlatform"], + "misses":["dropCone"] + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "coneCycle.all", + "options": { + "path": "coneCycle.all" + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "coneCycle.allComplete", + "options": { + "path": "coneCycle.allComplete" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "coneCycle.averageTime", + "options": { + "arrayPath": "coneCycle.all", + "valuePath": "timeDifferential" + } + }, + { + "type":"tmp", + "name":"cycle", + "outputPath":"cubeCycle", + "options":{ + "pickups":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf","conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], + "scores":["placement32","placement22","placement35","placement25","placement38","placement28","counts.hybrid.cubePickupGrid","counts.hybrid.cubePickupCommunity","counts.hybrid.cubePickupFloor","counts.hybrid.cubePickupChute","counts.hybrid.cubePickupPlatform"], + "misses":["dropCube"] + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cubeCycle.all", + "options": { + "path": "cubeCycle.all" + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cubeCycle.allComplete", + "options": { + "path": "cubeCycle.allComplete" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cubeCycle.averageTime", + "options": { + "arrayPath": "cubeCycle.all", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cubeCycle.averageTimeComplete", + "options": { + "arrayPath": "cubeCycle.allComplete", + "valuePath": "timeDifferential" + } + }, + { + "type":"tmp", + "name":"cycle", + "outputPath":"cycle", + "options":{ + "pickups":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf","conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], + "scores":["placement32","placement22","placement35","placement25","placement38","placement28","counts.hybrid.cubePickupGrid","counts.hybrid.cubePickupCommunity","counts.hybrid.cubePickupFloor","counts.hybrid.cubePickupChute","counts.hybrid.cubePickupPlatform","placement31","placement21","placement33","placement23","placement34","placement24","placement36","placement26","placement37","placement27","placement39","placement29","counts.hybrid.conePickupGrid","counts.hybrid.conePickupCommunity","counts.hybrid.conePickupFloor","counts.hybrid.conePickupChute","counts.hybrid.conePickupPlatform"], + "misses":["dropCube","dropCone"] + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cycle.all", + "options": { + "path": "cycle.all" + } + }, + { + "type": "team", + "name": "aggregateArray", + "outputPath": "cycle.allComplete", + "options": { + "path": "cycle.allComplete" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cycle.averageTime", + "options": { + "arrayPath": "cycle.all", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "averageArray", + "outputPath": "cycle.averageTimeComplete", + "options": { + "arrayPath": "cycle.allComplete", + "valuePath": "timeDifferential" + } + }, + { + "type": "team", + "name": "average", + "outputPath": "averageScores", + "options": { + "path": "scores" + } + }, + + { + "type": "team", + "name": "standardDeviation", + "outputPath": "standardDeviation", + "options": { + "path" : "scores.total" + } + }, + { + "type":"team", + "name":"average", + "outputPath":"averagePark", + "options":{ + "path":"counts.park" + } + }, + { + "type":"tmp", + "name":"actionTime", + "outputPath":"leaveTime", + "options":{ + "path":"leaveCommunity" + } + }, + { + "type":"team", + "name":"average", + "outputPath":"averageLeave", + "options":{ + "path":"leaveTime" + } + } + +] \ No newline at end of file diff --git a/config/analysis-pipeline2.json b/config/analysis-pipeline-2023v1.json similarity index 100% rename from config/analysis-pipeline2.json rename to config/analysis-pipeline-2023v1.json diff --git a/config/analysis-pipeline-2024.json b/config/analysis-pipeline-2024.json new file mode 100644 index 00000000..e69de29b diff --git a/config/analysis-pipeline.json b/config/analysis-pipeline.json index 038f535f..38a6444f 100644 --- a/config/analysis-pipeline.json +++ b/config/analysis-pipeline.json @@ -1,489 +1,482 @@ [ - { - "type": "tmp", - "name": "countActions", - "outputPath": "counts", - "options": { - "all": true - } - }, - { - "type": "team", - "name": "countActions", - "outputPath": "counts", - "options": { - "all": true - } - }, - { - "type": "team", - "name": "sum", - "outputPath": "counts.totalScored", - "options":{ - "addends":[ - "counts.placement11", - "counts.placement12", - "counts.placement13", - "counts.placement14", - "counts.placement15", - "counts.placement16", - "counts.placement17", - "counts.placement18", - "counts.placement19", - "counts.placement21", - "counts.placement22", - "counts.placement23", - "counts.placement24", - "counts.placement25", - "counts.placement26", - "counts.placement27", - "counts.placement28", - "counts.placement29", - "counts.placement31", - "counts.placement32", - "counts.placement33", - "counts.placement34", - "counts.placement35", - "counts.placement36", - "counts.placement37", - "counts.placement38", - "counts.placement39" - ] - } - }, - { - "type":"tmp", - "name":"countHybrid", - "outputPath": "counts.hybrid", - "options":{ - "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], - "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"] - } - }, - { + { + "type": "tmp", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "countActions", + "outputPath": "counts", + "options": { + "all": true + } + }, + { + "type": "team", + "name": "sum", + "outputPath": "counts.notes", + "options": { + "addends": [ + "counts.scoreAmp", + "counts.scoreSpeaker", + "counts.scoreAmpedSpeaker", + "counts.miss" + ] + } + }, + { "type": "team", "name": "countMatches", "outputPath": "temp.totalTimeMs", "options": { "weight": 150000 } - }, - { - "type": "team", - "name": "aggregateArray", - "outputPath": "aggregatedActions", - "options": { - "path": "actionQueue" - } - }, - { - "type": "team", - "name": "average", - "outputPath": "averages", - "options": { - "path": "counts" - } - }, - { - "type":"tmp", - "name":"actionTimeFilter", - "outputPath":"autoFilter", - "options":{ - "timeMin":135000 - } - }, - { - "type":"tmp", - "name":"actionTimeFilter", - "outputPath":"teleopFilter", - "options":{ - "timeMax":135000 - } - }, - { - "type":"tmp", - "name":"countActions", - "outputPath":"countsAuto", - "options":{ - "all":true, - "actionArrayPath":"autoFilter" - } - }, - { - "type":"tmp", - "name":"countActions", - "outputPath":"countsTeleop", - "options":{ - "all":true, - "actionArrayPath":"teleopFilter" - } - }, - { - "type":"tmp", - "name":"countHybrid", - "outputPath":"autoCounts.hybrid", - "options":{ - "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], - "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"], - "actionArrayPath":"autoFilter" - } - }, - { - "type":"tmp", - "name":"countHybrid", - "outputPath":"teleopCounts.hybrid", - "options":{ - "pickup":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf","cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"], - "hybrid":["placement11","placement12","placement13","placement14","placement15","placement16","placement17","placement18","placement19"], - "actionArrayPath":"teleopFilter" - } - }, - { - "type":"tmp", - "name":"weightedSum", - "outputPath":"scores.auto", - "options":{ - "weightedPaths":{ - "countsAuto.placement31":7.666, - "countsAuto.placement32":7.666, - "countsAuto.placement33":7.666, - "countsAuto.placement34":7.666, - "countsAuto.placement35":7.666, - "countsAuto.placement36":7.666, - "countsAuto.placement37":7.666, - "countsAuto.placement38":7.666, - "countsAuto.placement39":7.666, - "countsAuto.placement21":5.666, - "countsAuto.placement22":5.666, - "countsAuto.placement23":5.666, - "countsAuto.placement24":5.666, - "countsAuto.placement25":5.666, - "countsAuto.placement26":5.666, - "countsAuto.placement27":5.666, - "countsAuto.placement28":5.666, - "countsAuto.placement29":5.666, - "autoCounts.hybrid.conePickupGrid":4.666, - "autoCounts.hybrid.conePickupCommunity":4.666, - "autoCounts.hybrid.conePickupFloor":4.666, - "autoCounts.hybrid.conePickupChute":4.666, - "autoCounts.hybrid.conePickupPlatform":4.666, - "autoCounts.hybrid.cubePickupGrid":4.666, - "autoCounts.hybrid.cubePickupCommunity":4.666, - "autoCounts.hybrid.cubePickupFloor":4.666, - "autoCounts.hybrid.cubePickupChute":4.666, - "autoCounts.hybrid.cubePickupPlatform":4.666 - } - } - }, - { - "type":"tmp", - "name":"weightedSum", - "outputPath":"scores.teleop", - "options":{ - "weightedPaths":{ - "countsTeleop.placement31":6.666, - "countsTeleop.placement32":6.666, - "countsTeleop.placement33":6.666, - "countsTeleop.placement34":6.666, - "countsTeleop.placement35":6.666, - "countsTeleop.placement36":6.666, - "countsTeleop.placement37":6.666, - "countsTeleop.placement38":6.666, - "countsTeleop.placement39":6.666, - "countsTeleop.placement21":4.666, - "countsTeleop.placement22":4.666, - "countsTeleop.placement23":4.666, - "countsTeleop.placement24":4.666, - "countsTeleop.placement25":4.666, - "countsTeleop.placement26":4.666, - "countsTeleop.placement27":4.666, - "countsTeleop.placement28":4.666, - "countsTeleop.placement29":4.666, - "teleopCounts.hybrid.conePickupGrid":3.666, - "teleopCounts.hybrid.conePickupCommunity":3.666, - "teleopCounts.hybrid.conePickupFloor":3.666, - "teleopCounts.hybrid.conePickupChute":3.666, - "teleopCounts.hybrid.conePickupPlatform":3.666, - "teleopCounts.hybrid.cubePickupGrid":3.666, - "teleopCounts.hybrid.cubePickupCommunity":3.666, - "teleopCounts.hybrid.cubePickupFloor":3.666, - "teleopCounts.hybrid.cubePickupChute":3.666, - "teleopCounts.hybrid.cubePickupPlatform":3.666 - } - } - }, - { - "type":"team", - "name":"average", - "outputPath":"avgAuto", - "options":{ - "path":"countsAuto" - } - }, - { - "type":"team", - "name":"average", - "outputPath":"avgTeleop", - "options":{ - "path":"countsTeleop" - } - }, - { - "type":"tmp", - "name":"cycle", - "outputPath":"dockCycle", - "options":{ - "pickups":[ - "platformDocked" - ], - "scores":[ - "platformEngaged" - ], - "misses":[ - "platformLeave", - "platformFall" - ] - } - }, - { + }, + { + "type": "team", + "name": "ratio", + "outputPath": "timePerNote", + "options": { + "numerator": [ + "temp.totalTimeMs" + ], + "denominator": [ + "counts.notes" + ] + }, + "divByZero": 150000 + }, + { + "type": "tmp", + "name": "cycle", + "outputPath": "cycle", + "options": { + "pickups": [ + "groundPickup", + "sourcePickup" + ], + "scores": [ + "scoreAmp", + "scoreSpeaker", + "scoreAmpedSpeaker" + ], + "misses": [ + "miss" + ] + } + }, + { "type": "team", "name": "aggregateArray", - "outputPath": "dockCycle.all", + "outputPath": "cycle.all", "options": { - "path": "dockCycle.all" + "path": "cycle.all" } }, - { + { "type": "team", "name": "aggregateArray", - "outputPath": "dockCycle.allComplete", + "outputPath": "cycle.allComplete", "options": { - "path": "dockCycle.allComplete" + "path": "cycle.allComplete" } }, - { + { "type": "team", "name": "averageArray", - "outputPath": "dockCycle.averageTime", + "outputPath": "cycle.averageTime", "options": { - "arrayPath": "dockCycle.all", + "arrayPath": "cycle.all", "valuePath": "timeDifferential" } }, - { + { "type": "team", "name": "averageArray", - "outputPath": "dockCycle.averageTimeComplete", + "outputPath": "cycle.averageTimeComplete", "options": { - "arrayPath": "dockCycle.allComplete", + "arrayPath": "cycle.allComplete", "valuePath": "timeDifferential" } - }, - { - "type": "tmp", - "name": "finalActionOccurence", - "outputPath": "finalAutoDock", - "options": { - "actionArrayPath": "autoFilter", - "ids":[ - "platformFall", - "platformEngaged", - "platformLeave", - "platformDocked" - ], - "default": { - "id": "noDock", - "ts": 0 - } - } - }, - { - "type": "tmp", - "name": "finalActionOccurence", - "outputPath": "finalTeleopDock", - "options": { - "actionArrayPath": "teleopFilter", - "ids":[ - "platformFall", - "platformEngaged", - "platformLeave", - "platformDocked" - ], - "default": { - "id": "noDock", - "ts": 0 - } - } - }, - { - "type": "tmp", - "name": "map", - "outputPath": "scores.autoDock", - "options": { - "path":"finalAutoDock.id", - "map":{ - "noDock":0, - "platformDock":8, - "platformEngaged":12, - "platformFall":0, - "platformLeave":0 - } - } - }, - { - "type": "tmp", - "name": "map", - "outputPath": "scores.teleopDock", - "options": { - "path":"finalTeleopDock.id", - "map":{ - "noDock":0, - "platformDock":6, - "platformEngaged":10, - "platformFall":0, - "platformLeave":0 - } - } - }, - { - "type":"tmp", - "name":"sum", - "outputPath":"scores.dock", - "options":{ - "addends":["scores.autoDock","scores.teleopDock"] - } - }, - { - "type":"tmp", - "name":"sum", - "outputPath":"scores.total", - "options":{ - "addends":["scores.auto","scores.teleop","scores.dock"] - } - }, - { - "type":"tmp", - "name":"cycle", - "outputPath":"coneCycle", - "options":{ - "pickups":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], - "scores":["placement31","placement21","placement33","placement23","placement34","placement24","placement36","placement26","placement37","placement27","placement39","placement29","counts.hybrid.conePickupGrid","counts.hybrid.conePickupCommunity","counts.hybrid.conePickupFloor","counts.hybrid.conePickupChute","counts.hybrid.conePickupPlatform"], - "misses":["dropCone"] - } - }, - { + }, + { "type": "team", - "name": "aggregateArray", - "outputPath": "coneCycle.all", + "name": "average", + "outputPath": "averages", "options": { - "path": "coneCycle.all" + "path": "counts" } }, - { - "type": "team", - "name": "aggregateArray", - "outputPath": "coneCycle.allComplete", + { + "type": "tmp", + "name": "ratio", + "outputPath": "accuracy", "options": { - "path": "coneCycle.allComplete" + "numerator": [ + "counts.scoreAmp", + "counts.scoreSpeaker", + "counts.scoreAmpedSpeaker" + ], + "denominator": [ + "counts.scoreAmp", + "counts.scoreSpeaker", + "counts.scoreAmpedSpeaker", + "counts.miss" + ], + "divByZero": 0 } }, - { + { + "type": "tmp", + "name": "ratio", + "outputPath": "accuracy%", + "options": { + "numerator": [ + "accuracy" + ], + "denominator": [ + 0.01 + ], + "divByZero": 0 + } + }, + { "type": "team", - "name": "averageArray", - "outputPath": "coneCycle.averageTime", + "name": "ratio", + "outputPath": "accuracy", "options": { - "arrayPath": "coneCycle.all", - "valuePath": "timeDifferential" + "numerator": [ + "counts.scoreAmp", + "counts.scoreSpeaker", + "counts.scoreAmpedSpeaker" + ], + "denominator": [ + "counts.scoreAmp", + "counts.scoreSpeaker", + "counts.scoreAmpedSpeaker", + "counts.miss" + ], + "divByZero": 0 } }, - { - "type":"tmp", - "name":"cycle", - "outputPath":"cubeCycle", - "options":{ - "pickups":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf","conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], - "scores":["placement32","placement22","placement35","placement25","placement38","placement28","counts.hybrid.cubePickupGrid","counts.hybrid.cubePickupCommunity","counts.hybrid.cubePickupFloor","counts.hybrid.cubePickupChute","counts.hybrid.cubePickupPlatform"], - "misses":["dropCube"] - } - }, - { + { "type": "team", "name": "aggregateArray", - "outputPath": "cubeCycle.all", + "outputPath": "aggregatedActions", "options": { - "path": "cubeCycle.all" + "path": "actionQueue" } }, - { + { "type": "team", - "name": "aggregateArray", - "outputPath": "cubeCycle.allComplete", + "name": "average", + "outputPath": "averages", + "options": { + "path": "counts" + } + }, + { + "type": "tmp", + "name": "actionTimeFilter", + "outputPath": "autoFilter", + "options": { + "timeMin": 135000 + } + }, + { + "type": "tmp", + "name": "actionTimeFilter", + "outputPath": "teleopFilter", + "options": { + "timeMax": 135000 + } + }, + { + "type": "tmp", + "name": "countActions", + "outputPath": "countsAuto", + "options": { + "all": true, + "actionArrayPath": "autoFilter" + } + }, + { + "type": "tmp", + "name": "countActions", + "outputPath": "countsTeleop", + "options": { + "all": true, + "actionArrayPath": "teleopFilter" + } + }, + { + "type": "tmp", + "name": "weightedSum", + "outputPath": "scores.auto", + "options": { + "weightedPaths": { + "countsAuto.leave": 2, + "countsAuto.scoreAmp": 2, + "countsAuto.scoreSpeaker": 5 + } + } + }, + { + "type": "tmp", + "name": "weightedSum", + "outputPath": "scores.teleop", "options": { - "path": "cubeCycle.allComplete" + "weightedPaths": { + "countsTeleop.scoreAmp": 1, + "countsTeleop.scoreSpeaker": 2, + "countsTeleop.scoreAmpedSpeaker": 5 + } } }, - { + { "type": "team", - "name": "averageArray", - "outputPath": "cubeCycle.averageTime", + "name": "average", + "outputPath": "avgAuto", "options": { - "arrayPath": "cubeCycle.all", - "valuePath": "timeDifferential" + "path": "countsAuto" } }, - { + { "type": "team", - "name": "averageArray", - "outputPath": "cubeCycle.averageTimeComplete", + "name": "average", + "outputPath": "avgTeleop", "options": { - "arrayPath": "cubeCycle.allComplete", - "valuePath": "timeDifferential" + "path": "countsTeleop" } }, - { - "type":"tmp", - "name":"cycle", - "outputPath":"cycle", - "options":{ - "pickups":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf","conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], - "scores":["placement32","placement22","placement35","placement25","placement38","placement28","counts.hybrid.cubePickupGrid","counts.hybrid.cubePickupCommunity","counts.hybrid.cubePickupFloor","counts.hybrid.cubePickupChute","counts.hybrid.cubePickupPlatform","placement31","placement21","placement33","placement23","placement34","placement24","placement36","placement26","placement37","placement27","placement39","placement29","counts.hybrid.conePickupGrid","counts.hybrid.conePickupCommunity","counts.hybrid.conePickupFloor","counts.hybrid.conePickupChute","counts.hybrid.conePickupPlatform"], - "misses":["dropCube","dropCone"] - } - }, - { + { + "type": "tmp", + "name": "cycle", + "outputPath": "stageCycle", + "options": { + "pickups": [ + "park" + ], + "scores": [ + "onstage" + ], + "misses": [ + "unpark", + "onstageFall" + ] + } + }, + { "type": "team", "name": "aggregateArray", - "outputPath": "cycle.all", + "outputPath": "stageCycle.all", "options": { - "path": "cycle.all" + "path": "stageCycle.all" } }, - { + { "type": "team", "name": "aggregateArray", - "outputPath": "cycle.allComplete", + "outputPath": "stageCycle.allComplete", "options": { - "path": "cycle.allComplete" + "path": "stageCycle.allComplete" } }, - { + { "type": "team", "name": "averageArray", - "outputPath": "cycle.averageTime", + "outputPath": "stageCycle.averageTime", "options": { - "arrayPath": "cycle.all", + "arrayPath": "stageCycle.all", "valuePath": "timeDifferential" } }, - { + { "type": "team", "name": "averageArray", - "outputPath": "cycle.averageTimeComplete", + "outputPath": "stageCycle.averageTimeComplete", "options": { - "arrayPath": "cycle.allComplete", + "arrayPath": "stageCycle.allComplete", "valuePath": "timeDifferential" } }, + { + "type": "tmp", + "name": "finalActionOccurence", + "outputPath": "finalStage", + "options": { + "actionArrayPath": "teleopFilter", + "ids": [ + "onstage", + "park", + "spotlit", + "unpark", + "onstageFall" + ], + "default": { + "id": "noStage", + "ts": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "scores.stageExclusive", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 3, + "park": 1, + "spotlit": 4, + "unpark": 0, + "onstageFall": 1 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.noStage", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 1, + "onstage": 0, + "park": 0, + "spotlit": 0, + "unpark": 0, + "onstageFall": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.onstage", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 1, + "park": 0, + "spotlit": 0, + "unpark": 0, + "onstageFall": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.park", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 0, + "park": 1, + "spotlit": 0, + "unpark": 0, + "onstageFall": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.spotlit", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 0, + "park": 0, + "spotlit": 1, + "unpark": 0, + "onstageFall": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.unpark", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 0, + "park": 0, + "spotlit": 0, + "unpark": 1, + "onstageFall": 0 + } + } + }, + { + "type": "tmp", + "name": "map", + "outputPath": "stage.onstageFall", + "options": { + "path": "finalStage.id", + "map": { + "noStage": 0, + "onstage": 0, + "park": 0, + "spotlit": 0, + "unpark": 0, + "onstageFall": 1 + } + } + }, + { + "type": "team", + "name": "average", + "outputPath": "avgStage", + "options": { + "path": "stage" + } + }, + { + "type": "tmp", + "name": "weightedSum", + "outputPath": "scores.stageInclusive", + "options": { + "weightedPaths": { + "countsTeleop.trap": 5, + "countsTeleop.harmony": 2 + } + } + }, + { + "type": "tmp", + "name": "sum", + "outputPath": "scores.stage", + "options": { + "addends": [ + "scores.stageExclusive", + "scores.stageInclusive" + ] + } + }, + { + "type": "tmp", + "name": "sum", + "outputPath": "scores.total", + "options": { + "addends": [ + "scores.auto", + "scores.teleop", + "scores.stage" + ] + } + }, { "type": "team", "name": "average", @@ -492,38 +485,12 @@ "path": "scores" } }, - - { - "type": "team", - "name": "standardDeviation", - "outputPath": "standardDeviation", - "options": { - "path" : "scores.total" - } - }, - { - "type":"team", - "name":"average", - "outputPath":"averagePark", - "options":{ - "path":"counts.park" - } - }, - { - "type":"tmp", - "name":"actionTime", - "outputPath":"leaveTime", - "options":{ - "path":"leaveCommunity" - } - }, - { - "type":"team", - "name":"average", - "outputPath":"averageLeave", - "options":{ - "path":"leaveTime" + { + "type": "team", + "name": "standardDeviation", + "outputPath": "standardDeviation", + "options": { + "path": "scores.total" + } } - } - ] \ No newline at end of file diff --git a/config/match-scouting-2022.json b/config/match-scouting-2022.json new file mode 100644 index 00000000..c9b222db --- /dev/null +++ b/config/match-scouting-2022.json @@ -0,0 +1,255 @@ +{ + "timing": { + "totalTime": 150000, + "timeTransitions": { + "149990": { + "layer": 1, + "displayText": "Auto" + }, + "131000": { + "layer": 3, + "displayText": "Teleop" + } + } + }, + "layout": { + "gridRows": 5, + "gridColumns": 5, + "layers": [ + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "2", "2", "5"], + "class": "gray timer", + "type": "match-control", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "2", "2", "5"], + "class": "gray timer", + "type": "match-control", + "executables": [] + }, + { + "id": "leaveTarmac", + "displayText": "Leave Tarmac Zone", + "gridArea": ["3", "2", "4", "5"], + "class": "gray largeAction", + "type": "action", + "executables": [{"type": "hide", "args": []}] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["5", "2", "6", "3"], + "class": "green", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ball Pickup", + "gridArea": ["5", "1", "6", "2"], + "class": "navy", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "upperHub", + "displayText": "Upper Hub", + "gridArea": ["4", "5", "5", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "lowerHub", + "displayText": "Lower Hub", + "gridArea": ["5", "5", "6", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5", "4", "6", "5"], + "class": "red", + "type": "action", + "executables": [{"type": "position", "args":[]}] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "2", "2", "5"], + "class": "gray", + "type": "match-control", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["5", "2", "6", "3"], + "class": "green", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ball Pickup", + "gridArea": ["5", "1", "6", "2"], + "class": "navy", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "upperHub", + "displayText": "Upper Hub", + "gridArea": ["4", "5", "5", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "lowerHub", + "displayText": "Lower Hub", + "gridArea": ["5", "5", "6", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5", "4", "6", "5"], + "class": "red", + "type": "action", + "executables": [{"type": "position", "args":[]}] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "2", "2", "5"], + "class": "gray", + "type": "match-control", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["5", "2", "6", "3"], + "class": "green", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ball Pickup", + "gridArea": ["5", "1", "6", "2"], + "class": "navy", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "upperHub", + "displayText": "Upper Hub", + "gridArea": ["4", "5", "5", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "lowerHub", + "displayText": "Lower Hub", + "gridArea": ["5", "5", "6", "6"], + "class": "orange", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5", "4", "6", "5"], + "class": "red", + "type": "action", + "executables": [{"type": "position", "args":[]}] + }, + { + "id": "startClimb", + "displayText": "Start Climb", + "gridArea": ["3", "2", "4", "5"], + "class": "gray", + "type": "action", + "executables": [{"type": "layer", "args":[3,4]}] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "2", "2", "5"], + "class": "gray", + "type": "match-control", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["5", "2", "6", "5"], + "class": "green", + "type": "undo", + "executables": [] + }, + { + "id": "climb1", + "displayText": "1", + "gridArea": ["3", "1", "4", "2"], + "class": "pink", + "type": "action", + "executables": [{"type":"climbHighlight","args":[]}] + }, + { + "id": "climb2", + "displayText": "2", + "gridArea": ["3", "2", "4", "3"], + "class": "pink", + "type": "action", + "executables": [{"type":"climbHighlight","args":[]}] + }, + { + "id": "climb3", + "displayText": "3", + "gridArea": ["3", "3", "4", "4"], + "class": "pink", + "type": "action", + "executables": [{"type":"climbHighlight","args":[]}] + }, + { + "id": "climb4", + "displayText": "4", + "gridArea": ["3", "4", "4", "5"], + "class": "pink", + "type": "action", + "executables": [{"type":"climbHighlight","args":[]}] + }, + { + "id": "climbF", + "displayText": "Fall", + "gridArea": ["3", "5", "4", "6"], + "class": "red", + "type": "action", + "executables": [{"type": "layer", "args":[4,3]}] + } + ] + ] + } +} \ No newline at end of file diff --git a/config/match-scouting-2023.json b/config/match-scouting-2023.json new file mode 100644 index 00000000..17ef8276 --- /dev/null +++ b/config/match-scouting-2023.json @@ -0,0 +1,4671 @@ +{ + "timing":{ + "totalTime":150000, + "timeTransitions":{ + "149990":{ + "layer":1, + "displayText":"Auto", + "variables":{ + + }, + "always":[ + "chargingDock", + "broken", + "startGame", + "undo" + ], + "conditional":{ + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + }, + "131000":{ + "layer":1, + "displayText":"Teleop", + "variables":{ + + }, + "always":[ + "chargingDock", + "broken", + "startGame", + "undo" + ], + "conditional":{ + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + }, + "30000":{ + "layer":1, + "displayText":"Endgame", + "variables":{ + "showPark":"true" + }, + "always":[ + "chargingDock", + "broken", + "startGame", + "undo" + ], + "conditional":{ + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":["park"] + } + } + } + } + }, + "variables":{ + "heldPiece":"none", + "leftCommunity":"false", + "showPark":"false" + }, + "layout":{ + "gridRows":6, + "gridColumns":9, + "layers":[ + [ + { + "id":"startGame", + "displayText":"Start", + "gridArea":[ + "4", + "1", + "6", + "10" + ], + "class":"silver timer", + "type":"match-control", + "executables":[ + { + "type":"conditionalLayer", + "args":[ + 0, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"undo", + "displayText":"Undo", + "gridArea":[ + "1", + "8", + "2", + "10" + ], + "class":"green", + "type":"undo", + "executables":[ + + ] + }, + { + "id":"prePickupCone", + "displayText":"Cone", + "gridArea":[ + "2", + "1", + "4", + "4" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + } + ] + }, + { + "id":"prePickupNone", + "displayText":"None", + "gridArea":[ + "2", + "4", + "4", + "7" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + } + ] + }, + { + "id":"prePickupCube", + "displayText":"Cube", + "gridArea":[ + "2", + "7", + "4", + "10" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + } + ] + } + ], + [ + { + "id":"startGame", + "displayText":"Start", + "gridArea":[ + "1", + "4", + "2", + "7" + ], + "class":"silver timer", + "type":"match-control", + "executables":[ + + ] + }, + { + "id":"undo", + "displayText":"Undo", + "gridArea":[ + "1", + "8", + "2", + "10" + ], + "class":"green", + "type":"undo", + "executables":[ + + ] + }, + { + "id":"broken", + "displayText":"Disabled", + "gridArea":[ + "1", + "1", + "2", + "3" + ], + "class":"red", + "type":"action", + "executables":[ + + ] + }, + { + "id":"conePickup", + "displayText":"Cone", + "gridArea":[ + "3", + "1", + "4", + "3" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "pickType", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[1,2,[ + "chargingDock", + "broken", + "startGame", + "undo" + ],{ + "pickType":{ + "cone":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], + "cube":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"] + } + }] + } + ] + }, + { + "id":"cubePickup", + "displayText":"Cube", + "gridArea":[ + "3", + "8", + "4", + "10" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "pickType", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[1,2,[ + "chargingDock", + "broken", + "startGame", + "undo" + ],{ + "pickType":{ + "cone":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], + "cube":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"] + } + }] + } + ] + }, + { + "id":"chargingDock", + "displayText":"Charging Dock", + "gridArea":[ + "3", + "4", + "4", + "7" + ], + "class":"gray", + "type":"action", + "executables":[ + {"type":"layer", + "args":[1,3] + } + ] + }, + { + "id":"park", + "displayText":"Park", + "gridArea":[ + "2", + "1", + "3", + "3" + ], + "class":"pink", + "type":"action", + "executables":[ + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + }, + { + "type":"setVariable", + "args":[ + "showPark", + "false" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"leaveCommunity", + "displayText":"Leave Community", + "gridArea":[ + "2", + "4", + "3", + "7" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "leftCommunity", + "true" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"dropCone", + "displayText":"Drop", + "gridArea":[ + "3", + "8", + "4", + "10" + ], + "class":"red", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"dropCube", + "displayText":"Drop", + "gridArea":[ + "3", + "1", + "4", + "3" + ], + "class":"red", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement31", + "displayText":" ", + "gridArea":[ + "4", + "1", + "5", + "2" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement33", + "displayText":" ", + "gridArea":[ + "4", + "3", + "5", + "4" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement34", + "displayText":" ", + "gridArea":[ + "4", + "4", + "5", + "5" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement36", + "displayText":" ", + "gridArea":[ + "4", + "6", + "5", + "7" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement37", + "displayText":" ", + "gridArea":[ + "4", + "7", + "5", + "8" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement39", + "displayText":" ", + "gridArea":[ + "4", + "9", + "5", + "10" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement21", + "displayText":" ", + "gridArea":[ + "5", + "1", + "6", + "2" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement23", + "displayText":" ", + "gridArea":[ + "5", + "3", + "6", + "4" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement24", + "displayText":" ", + "gridArea":[ + "5", + "4", + "6", + "5" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement26", + "displayText":" ", + "gridArea":[ + "5", + "6", + "6", + "7" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement27", + "displayText":" ", + "gridArea":[ + "5", + "7", + "6", + "8" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement29", + "displayText":" ", + "gridArea":[ + "5", + "9", + "6", + "10" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement32", + "displayText":" ", + "gridArea":[ + "4", + "2", + "5", + "3" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement35", + "displayText":" ", + "gridArea":[ + "4", + "5", + "5", + "6" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement38", + "displayText":" ", + "gridArea":[ + "4", + "8", + "5", + "9" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement22", + "displayText":" ", + "gridArea":[ + "5", + "2", + "6", + "3" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement25", + "displayText":" ", + "gridArea":[ + "5", + "5", + "6", + "6" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement28", + "displayText":" ", + "gridArea":[ + "5", + "8", + "6", + "9" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement11", + "displayText":" ", + "gridArea":[ + "6", + "1", + "7", + "2" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement12", + "displayText":" ", + "gridArea":[ + "6", + "2", + "7", + "3" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement13", + "displayText":" ", + "gridArea":[ + "6", + "3", + "7", + "4" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement14", + "displayText":" ", + "gridArea":[ + "6", + "4", + "7", + "5" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement15", + "displayText":" ", + "gridArea":[ + "6", + "5", + "7", + "6" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement16", + "displayText":" ", + "gridArea":[ + "6", + "6", + "7", + "7" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement17", + "displayText":" ", + "gridArea":[ + "6", + "7", + "7", + "8" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement18", + "displayText":" ", + "gridArea":[ + "6", + "8", + "7", + "9" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + }, + { + "id":"placement19", + "displayText":" ", + "gridArea":[ + "6", + "9", + "7", + "10" + ], + "class":"gray", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "none" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 1, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + }, + "showPark":{ + "true":[ + "park" + ] + } + } + ] + } + ] + } + ], + [ + { + "id":"startGame", + "displayText":"Start", + "gridArea":[ + "1", + "4", + "2", + "7" + ], + "class":"silver timer", + "type":"match-control", + "executables":[ + + ] + }, + { + "id":"undo", + "displayText":"Undo", + "gridArea":[ + "1", + "8", + "2", + "10" + ], + "class":"green", + "type":"undo", + "executables":[ + + ] + }, + { + "id":"broken", + "displayText":"Disabled", + "gridArea":[ + "1", + "1", + "2", + "3" + ], + "class":"red", + "type":"action", + "executables":[ + + ] + }, + { + "id":"conePickupGrid", + "displayText":"Grid", + "gridArea":[ + "4", + "3", + "5", + "4" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"conePickupCommunity", + "displayText":"Comm", + "gridArea":[ + "4", + "4", + "5", + "5" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"conePickupFloor", + "displayText":"Floor", + "gridArea":[ + "4", + "5", + "5", + "6" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"conePickupChute", + "displayText":"Chute", + "gridArea":[ + "4", + "6", + "5", + "7" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"conePickupShelf", + "displayText":"Shelf", + "gridArea":[ + "4", + "7", + "5", + "8" + ], + "class":"yellow", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cone" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"cubePickupGrid", + "displayText":"Grid", + "gridArea":[ + "4", + "3", + "5", + "4" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"cubePickupCommunity", + "displayText":"Comm", + "gridArea":[ + "4", + "4", + "5", + "5" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"cubePickupFloor", + "displayText":"Floor", + "gridArea":[ + "4", + "5", + "5", + "6" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"cubePickupChute", + "displayText":"Chute", + "gridArea":[ + "4", + "6", + "5", + "7" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"cubePickupShelf", + "displayText":"Shelf", + "gridArea":[ + "4", + "7", + "5", + "8" + ], + "class":"highlight", + "type":"action", + "executables":[ + { + "type":"setVariable", + "args":[ + "heldPiece", + "cube" + ] + }, + { + "type":"conditionalLayer", + "args":[ + 2, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + } + ], + [ + { + "id":"startGame", + "displayText":"Start", + "gridArea":[ + "1", + "4", + "2", + "7" + ], + "class":"silver timer", + "type":"match-control", + "executables":[ + + ] + }, + { + "id":"undo", + "displayText":"Undo", + "gridArea":[ + "1", + "8", + "2", + "10" + ], + "class":"green", + "type":"undo", + "executables":[ + + ] + }, + { + "id":"platformDocked", + "displayText":"Docked", + "gridArea":[ + "3", + "3", + "4", + "5" + ], + "class":"gray", + "type":"action", + "executables":[ + + ] + }, + { + "id":"platformEngaged", + "displayText":"Engaged", + "gridArea":[ + "3", + "6", + "4", + "8" + ], + "class":"gray", + "type":"action", + "executables":[ + + ] + }, + { + "id":"platformLeave", + "displayText":"Leave", + "gridArea":[ + "5", + "3", + "6", + "5" + ], + "class":"orange", + "type":"action", + "executables":[ + { + "type":"conditionalLayer", + "args":[ + 3, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + }, + { + "id":"platformFall", + "displayText":"Fall", + "gridArea":[ + "5", + "6", + "6", + "8" + ], + "class":"red", + "type":"action", + "executables":[ + { + "type":"conditionalLayer", + "args":[ + 3, + 1, + [ + "chargingDock", + "broken", + "startGame", + "undo" + ], + { + "heldPiece":{ + "cone":[ + "placement31", + "placement33", + "placement34", + "placement36", + "placement37", + "placement39", + "placement21", + "placement23", + "placement24", + "placement26", + "placement27", + "placement29", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCone" + ], + "cube":[ + "placement32", + "placement35", + "placement38", + "placement22", + "placement25", + "placement28", + "placement11", + "placement12", + "placement13", + "placement14", + "placement15", + "placement16", + "placement17", + "placement18", + "placement19", + "dropCube" + ], + "none":[ + "conePickup", + "cubePickup" + ] + }, + "leftCommunity":{ + "false":[ + "leaveCommunity" + ] + } + } + ] + } + ] + } + ] + ] + } +} \ No newline at end of file diff --git a/config/match-scouting2.json b/config/match-scouting-2023v1.json similarity index 100% rename from config/match-scouting2.json rename to config/match-scouting-2023v1.json diff --git a/config/match-scouting-2024.json b/config/match-scouting-2024.json new file mode 100644 index 00000000..5d778fcf --- /dev/null +++ b/config/match-scouting-2024.json @@ -0,0 +1,351 @@ +{ + "timing": { + "totalTime": 150000, + "timeTransitions": { + "149990": { + "layer": 1, + "displayText": "Auto" + }, + "131000": { + "layer": 3, + "displayText": "Teleop" + } + } + }, + "layout": { + "gridRows": 6, + "gridColumns": 9, + "layers": [ + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["2", "1", "4", "10"], + "class": "silver timer", + "type": "match-control", + "executables": [{"type": "layer", "args":[0,1]}] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "4", "2", "7"], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": ["1", "1", "2", "3"], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "aStop", + "displayText": "A-Stop", + "gridArea": ["2","1","3","3"], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["1", "8", "2", "10"], + "class": "orange", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": ["3", "8", "4", "10"], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "leave", + "displayText": "Leave", + "gridArea": ["3", "4", "4", "7"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": ["6","1","7","3"], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "scoreSpeaker", + "displayText": "Speaker", + "gridArea": ["6","8","7","10"], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5","8","6","10"], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "4", "2", "7"], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": ["1", "1", "2", "3"], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["1", "8", "2", "10"], + "class": "orange", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": ["3", "8", "4", "10"], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "sourcePickup", + "displayText": "Source", + "gridArea": ["3", "1", "4", "3"], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "stage", + "displayText": "Stage", + "gridArea": ["3", "4", "4", "7"], + "class": "gray", + "type": "action", + "executables": [{"type": "layer", "args":[2,4]}] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": ["6","1","7","3"], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "amplify", + "displayText": "Amplify", + "gridArea": ["5","1","6","3"], + "class": "green", + "type": "action", + "executables": [{"type": "layer", "args":[2,3]}] + }, + { + "id": "scoreSpeaker", + "displayText": "Speaker", + "gridArea": ["6","8","7","10"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5","8","6","10"], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "4", "2", "7"], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": ["1", "1", "2", "3"], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["1", "8", "2", "10"], + "class": "orange", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": ["3", "8", "4", "10"], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "sourcePickup", + "displayText": "Source", + "gridArea": ["3", "1", "4", "3"], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "stage", + "displayText": "Stage", + "gridArea": ["3", "4", "4", "7"], + "class": "gray", + "type": "action", + "executables": [{"type": "layer", "args":[2,4]}] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": ["6","1","7","3"], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "endAmp", + "displayText": "End Amp", + "gridArea": ["5","1","6","3"], + "class": "green", + "type": "action", + "executables": [{"type": "layer", "args":[3,2]}] + }, + { + "id": "scoreAmpedSpeaker", + "displayText": "Speaker", + "gridArea": ["6","8","7","10"], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": ["5","8","6","10"], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": ["1", "4", "2", "7"], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": ["1", "1", "2", "3"], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": ["1", "8", "2", "10"], + "class": "orange", + "type": "undo", + "executables": [] + }, + { + "id": "climb", + "displayText": "Climb", + "gridArea": ["3","4","4","7"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "stageFall", + "displayText": "Fall", + "gridArea": ["3","8","4","10"], + "class": "red", + "type": "action", + "executables": [{"type": "layer", "args": [4,2]}] + }, + { + "id": "harmony", + "displayText": "Harmony", + "gridArea": ["3","1","4","3"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "spotlit", + "displayText": "Spotlit", + "gridArea": ["6","8","7","10"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "trap", + "displayText": "Trap", + "gridArea": ["6","1","7","3"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "park", + "displayText": "Park", + "gridArea": ["6","4","7","7"], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "stageBack", + "displayText": "Back", + "gridArea": ["6","1","7","3"], + "class": "orange", + "type": "action", + "executables": [{"type": "layer", "args":[4,2]}] + } + ] + ] + } +} \ No newline at end of file diff --git a/config/match-scouting.json b/config/match-scouting.json index 17ef8276..1650a055 100644 --- a/config/match-scouting.json +++ b/config/match-scouting.json @@ -1,4671 +1,589 @@ { - "timing":{ - "totalTime":150000, - "timeTransitions":{ - "149990":{ - "layer":1, - "displayText":"Auto", - "variables":{ - - }, - "always":[ - "chargingDock", - "broken", - "startGame", - "undo" - ], - "conditional":{ - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - }, - "131000":{ - "layer":1, - "displayText":"Teleop", - "variables":{ - - }, - "always":[ - "chargingDock", - "broken", - "startGame", - "undo" - ], - "conditional":{ - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - }, - "30000":{ - "layer":1, - "displayText":"Endgame", - "variables":{ - "showPark":"true" - }, - "always":[ - "chargingDock", - "broken", - "startGame", - "undo" - ], - "conditional":{ - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":["park"] - } - } - } - } - }, - "variables":{ - "heldPiece":"none", - "leftCommunity":"false", - "showPark":"false" - }, - "layout":{ - "gridRows":6, - "gridColumns":9, - "layers":[ - [ - { - "id":"startGame", - "displayText":"Start", - "gridArea":[ - "4", - "1", - "6", - "10" - ], - "class":"silver timer", - "type":"match-control", - "executables":[ - { - "type":"conditionalLayer", - "args":[ - 0, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"undo", - "displayText":"Undo", - "gridArea":[ - "1", - "8", - "2", - "10" - ], - "class":"green", - "type":"undo", - "executables":[ - - ] - }, - { - "id":"prePickupCone", - "displayText":"Cone", - "gridArea":[ - "2", - "1", - "4", - "4" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - } - ] - }, - { - "id":"prePickupNone", - "displayText":"None", - "gridArea":[ - "2", - "4", - "4", - "7" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - } - ] - }, - { - "id":"prePickupCube", - "displayText":"Cube", - "gridArea":[ - "2", - "7", - "4", - "10" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - } - ] - } - ], - [ - { - "id":"startGame", - "displayText":"Start", - "gridArea":[ - "1", - "4", - "2", - "7" - ], - "class":"silver timer", - "type":"match-control", - "executables":[ - - ] - }, - { - "id":"undo", - "displayText":"Undo", - "gridArea":[ - "1", - "8", - "2", - "10" - ], - "class":"green", - "type":"undo", - "executables":[ - - ] - }, - { - "id":"broken", - "displayText":"Disabled", - "gridArea":[ - "1", - "1", - "2", - "3" - ], - "class":"red", - "type":"action", - "executables":[ - - ] - }, - { - "id":"conePickup", - "displayText":"Cone", - "gridArea":[ - "3", - "1", - "4", - "3" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "pickType", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[1,2,[ - "chargingDock", - "broken", - "startGame", - "undo" - ],{ - "pickType":{ - "cone":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], - "cube":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"] - } - }] - } - ] - }, - { - "id":"cubePickup", - "displayText":"Cube", - "gridArea":[ - "3", - "8", - "4", - "10" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "pickType", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[1,2,[ - "chargingDock", - "broken", - "startGame", - "undo" - ],{ - "pickType":{ - "cone":["conePickupGrid","conePickupCommunity","conePickupFloor","conePickupChute","conePickupShelf"], - "cube":["cubePickupGrid","cubePickupCommunity","cubePickupFloor","cubePickupChute","cubePickupShelf"] - } - }] - } - ] - }, - { - "id":"chargingDock", - "displayText":"Charging Dock", - "gridArea":[ - "3", - "4", - "4", - "7" - ], - "class":"gray", - "type":"action", - "executables":[ - {"type":"layer", - "args":[1,3] - } - ] - }, - { - "id":"park", - "displayText":"Park", - "gridArea":[ - "2", - "1", - "3", - "3" - ], - "class":"pink", - "type":"action", - "executables":[ - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - }, - { - "type":"setVariable", - "args":[ - "showPark", - "false" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"leaveCommunity", - "displayText":"Leave Community", - "gridArea":[ - "2", - "4", - "3", - "7" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "leftCommunity", - "true" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"dropCone", - "displayText":"Drop", - "gridArea":[ - "3", - "8", - "4", - "10" - ], - "class":"red", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"dropCube", - "displayText":"Drop", - "gridArea":[ - "3", - "1", - "4", - "3" - ], - "class":"red", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement31", - "displayText":" ", - "gridArea":[ - "4", - "1", - "5", - "2" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement33", - "displayText":" ", - "gridArea":[ - "4", - "3", - "5", - "4" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement34", - "displayText":" ", - "gridArea":[ - "4", - "4", - "5", - "5" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement36", - "displayText":" ", - "gridArea":[ - "4", - "6", - "5", - "7" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement37", - "displayText":" ", - "gridArea":[ - "4", - "7", - "5", - "8" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement39", - "displayText":" ", - "gridArea":[ - "4", - "9", - "5", - "10" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement21", - "displayText":" ", - "gridArea":[ - "5", - "1", - "6", - "2" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement23", - "displayText":" ", - "gridArea":[ - "5", - "3", - "6", - "4" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement24", - "displayText":" ", - "gridArea":[ - "5", - "4", - "6", - "5" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement26", - "displayText":" ", - "gridArea":[ - "5", - "6", - "6", - "7" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement27", - "displayText":" ", - "gridArea":[ - "5", - "7", - "6", - "8" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement29", - "displayText":" ", - "gridArea":[ - "5", - "9", - "6", - "10" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement32", - "displayText":" ", - "gridArea":[ - "4", - "2", - "5", - "3" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement35", - "displayText":" ", - "gridArea":[ - "4", - "5", - "5", - "6" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement38", - "displayText":" ", - "gridArea":[ - "4", - "8", - "5", - "9" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement22", - "displayText":" ", - "gridArea":[ - "5", - "2", - "6", - "3" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement25", - "displayText":" ", - "gridArea":[ - "5", - "5", - "6", - "6" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement28", - "displayText":" ", - "gridArea":[ - "5", - "8", - "6", - "9" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement11", - "displayText":" ", - "gridArea":[ - "6", - "1", - "7", - "2" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement12", - "displayText":" ", - "gridArea":[ - "6", - "2", - "7", - "3" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement13", - "displayText":" ", - "gridArea":[ - "6", - "3", - "7", - "4" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement14", - "displayText":" ", - "gridArea":[ - "6", - "4", - "7", - "5" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement15", - "displayText":" ", - "gridArea":[ - "6", - "5", - "7", - "6" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement16", - "displayText":" ", - "gridArea":[ - "6", - "6", - "7", - "7" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement17", - "displayText":" ", - "gridArea":[ - "6", - "7", - "7", - "8" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement18", - "displayText":" ", - "gridArea":[ - "6", - "8", - "7", - "9" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - }, - { - "id":"placement19", - "displayText":" ", - "gridArea":[ - "6", - "9", - "7", - "10" - ], - "class":"gray", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "none" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 1, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - }, - "showPark":{ - "true":[ - "park" - ] - } - } - ] - } - ] - } - ], - [ - { - "id":"startGame", - "displayText":"Start", - "gridArea":[ - "1", - "4", - "2", - "7" - ], - "class":"silver timer", - "type":"match-control", - "executables":[ - - ] - }, - { - "id":"undo", - "displayText":"Undo", - "gridArea":[ - "1", - "8", - "2", - "10" - ], - "class":"green", - "type":"undo", - "executables":[ - - ] - }, - { - "id":"broken", - "displayText":"Disabled", - "gridArea":[ - "1", - "1", - "2", - "3" - ], - "class":"red", - "type":"action", - "executables":[ - - ] - }, - { - "id":"conePickupGrid", - "displayText":"Grid", - "gridArea":[ - "4", - "3", - "5", - "4" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"conePickupCommunity", - "displayText":"Comm", - "gridArea":[ - "4", - "4", - "5", - "5" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"conePickupFloor", - "displayText":"Floor", - "gridArea":[ - "4", - "5", - "5", - "6" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"conePickupChute", - "displayText":"Chute", - "gridArea":[ - "4", - "6", - "5", - "7" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"conePickupShelf", - "displayText":"Shelf", - "gridArea":[ - "4", - "7", - "5", - "8" - ], - "class":"yellow", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cone" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"cubePickupGrid", - "displayText":"Grid", - "gridArea":[ - "4", - "3", - "5", - "4" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"cubePickupCommunity", - "displayText":"Comm", - "gridArea":[ - "4", - "4", - "5", - "5" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"cubePickupFloor", - "displayText":"Floor", - "gridArea":[ - "4", - "5", - "5", - "6" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"cubePickupChute", - "displayText":"Chute", - "gridArea":[ - "4", - "6", - "5", - "7" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"cubePickupShelf", - "displayText":"Shelf", - "gridArea":[ - "4", - "7", - "5", - "8" - ], - "class":"highlight", - "type":"action", - "executables":[ - { - "type":"setVariable", - "args":[ - "heldPiece", - "cube" - ] - }, - { - "type":"conditionalLayer", - "args":[ - 2, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - } - ], - [ - { - "id":"startGame", - "displayText":"Start", - "gridArea":[ - "1", - "4", - "2", - "7" - ], - "class":"silver timer", - "type":"match-control", - "executables":[ - - ] - }, - { - "id":"undo", - "displayText":"Undo", - "gridArea":[ - "1", - "8", - "2", - "10" - ], - "class":"green", - "type":"undo", - "executables":[ - - ] - }, - { - "id":"platformDocked", - "displayText":"Docked", - "gridArea":[ - "3", - "3", - "4", - "5" - ], - "class":"gray", - "type":"action", - "executables":[ - - ] - }, - { - "id":"platformEngaged", - "displayText":"Engaged", - "gridArea":[ - "3", - "6", - "4", - "8" - ], - "class":"gray", - "type":"action", - "executables":[ - - ] - }, - { - "id":"platformLeave", - "displayText":"Leave", - "gridArea":[ - "5", - "3", - "6", - "5" - ], - "class":"orange", - "type":"action", - "executables":[ - { - "type":"conditionalLayer", - "args":[ - 3, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] - }, - { - "id":"platformFall", - "displayText":"Fall", - "gridArea":[ - "5", - "6", - "6", - "8" - ], - "class":"red", - "type":"action", - "executables":[ - { - "type":"conditionalLayer", - "args":[ - 3, - 1, - [ - "chargingDock", - "broken", - "startGame", - "undo" - ], - { - "heldPiece":{ - "cone":[ - "placement31", - "placement33", - "placement34", - "placement36", - "placement37", - "placement39", - "placement21", - "placement23", - "placement24", - "placement26", - "placement27", - "placement29", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCone" - ], - "cube":[ - "placement32", - "placement35", - "placement38", - "placement22", - "placement25", - "placement28", - "placement11", - "placement12", - "placement13", - "placement14", - "placement15", - "placement16", - "placement17", - "placement18", - "placement19", - "dropCube" - ], - "none":[ - "conePickup", - "cubePickup" - ] - }, - "leftCommunity":{ - "false":[ - "leaveCommunity" - ] - } - } - ] - } - ] + "timing": { + "totalTime": 150000, + "timeTransitions": { + "149990": { + "layer": 1, + "displayText": "Auto", + "variables": {} + }, + "131000": { + "layer": 2, + "displayText": "Teleop", + "variables": {} } - ] - ] - } + } + }, + "variables": {}, + "layout": { + "gridRows": 6, + "gridColumns": 9, + "layers": [ + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": [ + "2", + "1", + "4", + "10" + ], + "class": "silver timer", + "type": "match-control", + "executables": [ + { + "type": "layer", + "args": [ + 0, + 1 + ] + } + ] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": [ + "1", + "4", + "2", + "7" + ], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": [ + "1", + "1", + "2", + "3" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "aStop", + "displayText": "A-Stop", + "gridArea": [ + "2", + "1", + "3", + "3" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": [ + "1", + "8", + "2", + "10" + ], + "class": "pink", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": [ + "3", + "8", + "4", + "10" + ], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "leave", + "displayText": "Leave", + "gridArea": [ + "3", + "4", + "4", + "7" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": [ + "6", + "1", + "7", + "3" + ], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "scoreSpeaker", + "displayText": "Speaker", + "gridArea": [ + "6", + "8", + "7", + "10" + ], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": [ + "5", + "8", + "6", + "10" + ], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": [ + "1", + "4", + "2", + "7" + ], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": [ + "1", + "1", + "2", + "3" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": [ + "1", + "8", + "2", + "10" + ], + "class": "pink", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": [ + "3", + "8", + "4", + "10" + ], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "sourcePickup", + "displayText": "Source", + "gridArea": [ + "3", + "1", + "4", + "3" + ], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "park", + "displayText": "Park", + "gridArea": [ + "3", + "4", + "4", + "7" + ], + "class": "gray", + "type": "action", + "executables": [ + { + "type": "layer", + "args": [ + 2, + 4 + ] + } + ] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": [ + "6", + "1", + "7", + "3" + ], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "amplify", + "displayText": "Amplify", + "gridArea": [ + "5", + "1", + "6", + "3" + ], + "class": "green", + "type": "action", + "executables": [ + { + "type": "layer", + "args": [ + 2, + 3 + ] + } + ] + }, + { + "id": "scoreSpeaker", + "displayText": "Speaker", + "gridArea": [ + "6", + "8", + "7", + "10" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": [ + "5", + "8", + "6", + "10" + ], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": [ + "1", + "4", + "2", + "7" + ], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": [ + "1", + "1", + "2", + "3" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": [ + "1", + "8", + "2", + "10" + ], + "class": "pink", + "type": "undo", + "executables": [] + }, + { + "id": "groundPickup", + "displayText": "Ground", + "gridArea": [ + "3", + "8", + "4", + "10" + ], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "sourcePickup", + "displayText": "Source", + "gridArea": [ + "3", + "1", + "4", + "3" + ], + "class": "orange", + "type": "action", + "executables": [] + }, + { + "id": "park", + "displayText": "Park", + "gridArea": [ + "3", + "4", + "4", + "7" + ], + "class": "gray", + "type": "action", + "executables": [ + { + "type": "layer", + "args": [ + 2, + 4 + ] + } + ] + }, + { + "id": "scoreAmp", + "displayText": "Score Amp", + "gridArea": [ + "6", + "1", + "7", + "3" + ], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "endAmp", + "displayText": "End Amp", + "gridArea": [ + "5", + "1", + "6", + "3" + ], + "class": "green", + "type": "action", + "executables": [ + { + "type": "layer", + "args": [ + 3, + 2 + ] + } + ] + }, + { + "id": "scoreAmpedSpeaker", + "displayText": "Speaker", + "gridArea": [ + "6", + "8", + "7", + "10" + ], + "class": "green", + "type": "action", + "executables": [] + }, + { + "id": "miss", + "displayText": "Miss", + "gridArea": [ + "5", + "8", + "6", + "10" + ], + "class": "red", + "type": "action", + "executables": [] + } + ], + [ + { + "id": "startGame", + "displayText": "Start", + "gridArea": [ + "1", + "4", + "2", + "7" + ], + "class": "silver timer", + "type": "match-control", + "executables": [] + }, + { + "id": "broken", + "displayText": "Disabled", + "gridArea": [ + "1", + "1", + "2", + "3" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "undo", + "displayText": "Undo", + "gridArea": [ + "1", + "8", + "2", + "10" + ], + "class": "pink", + "type": "undo", + "executables": [] + }, + { + "id": "onstage", + "displayText": "Onstage/Climb", + "gridArea": [ + "3", + "4", + "4", + "7" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "onstageFall", + "displayText": "Fall", + "gridArea": [ + "3", + "8", + "4", + "10" + ], + "class": "red", + "type": "action", + "executables": [] + }, + { + "id": "harmony", + "displayText": "Harmony", + "gridArea": [ + "3", + "1", + "4", + "3" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "spotlit", + "displayText": "Spotlit", + "gridArea": [ + "6", + "8", + "7", + "10" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "trap", + "displayText": "Trap", + "gridArea": [ + "6", + "4", + "7", + "7" + ], + "class": "gray", + "type": "action", + "executables": [] + }, + { + "id": "unpark", + "displayText": "Unpark", + "gridArea": [ + "6", + "1", + "7", + "3" + ], + "class": "orange", + "type": "action", + "executables": [ + { + "type": "layer", + "args": [ + 4, + 2 + ] + } + ] + } + ] + ] + } } \ No newline at end of file diff --git a/package.json b/package.json index 20b24208..066a49b0 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "SPOT is an open-source modular scouting app framework for FRC developed by Team 3061 Huskie Robotics. SPOT provides a simple platform upon which a team can build a scouting app with little to no prior experience.", "main": "./src/app.js", "scripts": { - "start": "node src/app.js", + "start": "nodemon src/app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { diff --git a/src/app.js b/src/app.js index 3c916bb5..4f6679a0 100644 --- a/src/app.js +++ b/src/app.js @@ -19,7 +19,7 @@ if (fs.existsSync("config/config.json")) { app.use("/admin", require("./admin/admin.js")); app.use("/setup", require("./setup/setup.js")); app.use("/checklist", require("./checklist/checklist.js")); - app.use("/schedule", require("./schedule/schedule.js")); + app.use("/schedule", require("./schedule/schedule").router); } else { console.log(chalk.cyan.bold.underline("config.json not detected! First time setup flow enabled on server.")) app.use("/",require("./setup/setup.js")); diff --git a/src/scouting/views/pages/landing.ejs b/src/scouting/views/pages/landing.ejs index 2e35b112..7b9d1975 100644 --- a/src/scouting/views/pages/landing.ejs +++ b/src/scouting/views/pages/landing.ejs @@ -24,7 +24,7 @@ -
Championships v0.3.4
+
2024 Beta v3.0.0-beta.0