Refactor scoring logic and update file paths for consistency

This commit is contained in:
2025-02-04 12:01:07 +09:00
parent 0fd7ed005c
commit 26d699c7dd
21 changed files with 1251 additions and 135 deletions

View File

@@ -0,0 +1,368 @@
{
"0": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "none",
"point": 0
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "none",
"point": 0
},
"7": {
"ele": "none",
"point": 0
},
"8": {
"ele": "$[?(@.width == 65 && @.height == 45)]",
"type": "boolean",
"point": 10
}
},
"1": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "$.children[?(@.name=='Amusement Park')]",
"type": "boolean",
"point": 10
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "$.children[?(@.name=='Amusement Park')].name",
"value": "Amusement Park",
"point": 10
},
"7": {
"ele": "$.children[?(@.name=='Amusement Park')].text.font.names[0]",
"type": "font",
"value": "Arial",
"point": 10
},
"8": {
"ele": "$.children[?(@.name=='Amusement Park')].text.font.names[0]",
"value": "Arial-BoldItalicMT",
"point": 10
},
"9": {
"ele": "$.children[?(@.name=='Amusement Park')].text.font.sizes[0]",
"value": 48,
"point": 10
},
"10": {
"ele": "$.children[?(@.name=='Amusement Park')].text.font.colors[0]",
"type": "color",
"value": "aaaaaa",
"point": 10
},
"11": {
"ele": "none",
"point": 0
},
"12": {
"ele": "none",
"point": 0
},
"13": {
"ele": "none",
"point": 0
},
"14": {
"ele": "$.children[?(@.name=='가오슝 놀이공원 가요')].name",
"value": "가오슝 놀이공원 가요",
"point": 10
},
"15": {
"ele": "$.children[?(@.name=='가오슝 놀이공원 가요')].text.font.names[0]",
"type": "font",
"value": "DotumChe",
"point": 10
},
"16": {
"ele": "$.children[?(@.name=='가오슝 놀이공원 가요')].text.font.sizes[0]",
"value": 36,
"point": 10
},
"17": {
"ele": "$.children[?(@.name=='가오슝 놀이공원 가요')].text.font.colors[0]",
"type": "color",
"value": "261795",
"point": 10
},
"18": {
"ele": "none",
"point": 0
},
"19": {
"ele": "none",
"point": 0
},
"20": {
"ele": "none",
"point": 0
},
"21": {
"ele": "none",
"point": 0
},
"22": {
"ele": "$.children[?(@.name=='드롭존')]",
"type": "boolean",
"point": 10
},
"23": {
"ele": "none",
"point": 0
},
"24": {
"ele": "none",
"point": 0
},
"25": {
"ele": "none",
"point": 0
},
"26": {
"ele": "$[?(@.width == 65 && @.height == 35)]",
"type": "boolean",
"point": 10
}
},
"2": {
"1": {
"ele": "//CRClipArr/CRClip[position() = //CRTrackList[1]/CRTrackClip/@ClipIndex]/@Path",
"type": "array",
"value": [
"동영상.mp4",
"이미지1.jpg",
"이미지3.jpg",
"이미지2.jpg"
],
"point": 4
},
"2": {
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1][@Speed='150']",
"point": 2
},
"3": {
"ele": "count(//CRClip[@Path='동영상.mp4']/preceding-sibling::*)",
"type": "startend",
"start": "0",
"end": "230",
"point": 2
},
"4": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='동영상.mp4']/preceding-sibling::*)]//CRFilter[@ID='43'][@VID100='5'][@VID103='0.89999998']",
"point": 3
},
"5": {
"ele": "//GPString[@VID7='재미있는 놀이공원']/@VID7",
"type": "subtitle",
"length": 1,
"point": 3
},
"6": {
"ele": "//CRCUnitArr[@Name='재미있는 놀이공원']//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
"point": 2
},
"7": {
"ele": "//CRCUnitArr[@Name='재미있는 놀이공원']//GCUnitPool[@Type='1']/GCUnit[@VID101='130']",
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='130']",
"point": 2
},
"8": {
"ele": "//CRCUnitArr[@Name='재미있는 놀이공원']//GCUnitPool/GCUnit[@Type='4'][@VID100='-6742488']",
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-6742488']",
"point": 2
},
"9": {
"ele": "//CRCUnitArr[@Name='재미있는 놀이공원']/@VID600 | //CRCUnitArr[@Name='재미있는 놀이공원']/@VID601",
"ele2": "//CROwneUnit[1]/CRCUnitArr/@VID600 | //CROwneUnit[1]/CRCUnitArr/@VID601",
"type": "multi",
"value": [
0.291,
0.914
],
"point": 2
},
"10": {
"existEle": "//CRCUnitArr[@Name='재미있는 놀이공원']",
"ele": "sum(//CRTrackList[@Name='텍스트']/CRTrackClip[not(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='재미있는 놀이공원']]/preceding::CROwneUnit))]/@Length)",
"type": "searchIndex",
"value": 150,
"point": 2
},
"11": {
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='재미있는 놀이공원']]/preceding::CROwneUnit))][@Length='120']",
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[1]/CRCUnitArr/preceding::CROwneUnit))][@Length='120']",
"point": 2
},
"12": {
"existEle": "//CRClip[@Path='동영상.mp4']",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='동영상.mp4']/preceding-sibling::*)]/@Mute",
"type": "searchIndex",
"value": "1",
"point": 2
},
"13": {
"existEle": "//CRClip[@Path='이미지1.jpg']",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]/@Length",
"type": "searchIndex",
"value": "150",
"point": 2
},
"14": {
"type": "multi",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]//CRFilter/@ID |//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]//CRFilter/@VID100",
"value": [
"102",
"2"
],
"point": 2
},
"15": {
"type": "multi",
"ele": "//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@ID|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Range|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지1.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Type",
"value": [
"11",
"320:380",
"2"
],
"point": 2
},
"16": {
"existEle": "//CRClip[@Path='이미지3.jpg']",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]/@Length",
"type": "searchIndex",
"value": "180",
"point": 2
},
"17": {
"type": "multi",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]//CRFilter/@ID |//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]//CRFilter/@VID101",
"value": [
"103",
"10"
],
"point": 2
},
"18": {
"type": "multi",
"ele": "//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@ID|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Range|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Type",
"value": [
"8",
"500:560",
"2"
],
"point": 2
},
"19": {
"existEle": "//CRClip[@Path='이미지2.jpg']",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]/@Length",
"type": "searchIndex",
"value": "180",
"point": 2
},
"20": {
"type": "multi",
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]//CRFilter/@ID |//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]//CRFilter/@VID100",
"value": [
"67",
"4"
],
"point": 2
},
"21": {
"type": "multi",
"ele": "//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@ID|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Range|//CRTransFilter[@ClipIndex=count(//CRTrackList/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지2.jpg']/preceding-sibling::*)]/preceding-sibling::CRTrackClip)]/@Type",
"value": [
"19",
"710:740",
"2"
],
"point": 2
},
"22": {
"ele": "//GPString[@VID7='자동차 레이싱 코스' or @VID7='(A Car Racing Course)']/@VID7",
"type": "subtitle",
"length": 2,
"point": 3
},
"23": {
"ele": "//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
"point": 2
},
"24": {
"ele": "//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
"point": 2
},
"25": {
"ele": "//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']//GCUnitPool/GCUnit[@Type='4'][@VID100='-8036654']",
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-8036654']",
"point": 2
},
"26": {
"ele": "//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-16777216']",
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-16777216']",
"point": 2
},
"27": {
"ele": "//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)'][@VID505='1'][@VID507='2']",
"ele2": "//CROwneUnit[2]/CRCUnitArr[@VID505='1'][@VID507='2']",
"point": 3
},
"28": {
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']]/preceding::CROwneUnit)][@Pos='0']",
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Pos='0']",
"point": 2
},
"29": {
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='자동차 레이싱 코스 (A Car Racing Course)']]/preceding::CROwneUnit))][@Length='120']",
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Length='120']",
"point": 2
},
"30": {
"ele": "//CRTrackArr/CRAudioTrackArr/CRTrackList[@Name='오디오1']/CRTrackClip[@Pos='0']",
"point": 2
},
"31": {
"ele": "//CRTrackArr/CRAudioTrackArr/CRTrackList[@Name='오디오1']/CRTrackClip[@Length='720']",
"point": 2
},
"32": {
"ele": "//CRTrackArr/CRAudioTrackArr/CRTrackList[@Name='오디오1']//CRFilter[@Type='2'][@ID='1'][@VID8='90']",
"point": 2
}
}
}