Skip to content

Commit b59de3a

Browse files
committed
fullbody support
1 parent 24111ee commit b59de3a

File tree

7 files changed

+85
-30
lines changed

7 files changed

+85
-30
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "conditionalclobber",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"private": true,
55
"scripts": {
66
"serve": "vue-cli-service serve --mode web",

src/services/ml-service/ml-service.js

Lines changed: 78 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ headgear
2121
*/
2222

2323
function getRandomColor(type, category, gender) {
24+
console.log("type " + type + "category " + category + "gender" + gender);
2425
return _.sample(_.toArray(svgs_).filter(s => s.gender === gender).filter(s => s.category === category).filter(s => s.type === type)).name;
2526
}
2627

@@ -120,7 +121,7 @@ function processWeather(weather, timestart, timestop, resolution, tempstart, tem
120121

121122
const targetPercent = squish(getPercent(calcPercent(target.avg)));
122123

123-
const raining = weather.daily.data[0].precipProbability > 0.1;
124+
const raining = weather.daily.data[0].precipProbability > 0.25;
124125

125126
return {
126127
target: targetPercent,
@@ -138,11 +139,14 @@ function processDailyWeather(weather, tempstart, tempstop) {
138139
const calcPercent = w => 1.0 - ((w - tempstart) / (tempstop - tempstart));
139140
const avg = (a, b) => (a + b) / 2.0;
140141

142+
const raining = weather.precipProbability > 0.25;
143+
141144
const targetPercent = squish(getPercent(calcPercent(avg(timeWeather.apparentTemperatureHigh, timeWeather.apparentTemperatureLow))));
142145
return {
143146
target: targetPercent,
144147
min: squish(targetPercent - 10),
145148
max: squish(targetPercent + 10),
149+
raining,
146150
};
147151
}
148152

@@ -188,17 +192,20 @@ const categories = [
188192
omit: true,
189193
},
190194
{
191-
name: 'jacket',
195+
name: 'shoes',
192196
gender: true,
193-
omit: true,
197+
omit: false,
194198
},
199+
];
200+
201+
const nCategories = [
195202
{
196-
name: 'lowerbody',
203+
name: 'jacket',
197204
gender: true,
198-
omit: false,
205+
omit: true,
199206
},
200207
{
201-
name: 'shoes',
208+
name: 'lowerbody',
202209
gender: true,
203210
omit: false,
204211
},
@@ -210,30 +217,80 @@ const categories = [
210217
];
211218

212219
export function predict(param) {
220+
const weather = processWeather(
221+
param.weather,
222+
moment(param.dayInformation.start),
223+
moment(param.dayInformation.stop),
224+
param.settings.resolution,
225+
param.settings.mintemp,
226+
param.settings.maxtemp,
227+
);
228+
213229
const pieces = categories.map(predictType(
214230
param.gender,
215-
processWeather(
216-
param.weather,
217-
moment(param.dayInformation.start),
218-
moment(param.dayInformation.stop),
219-
param.settings.resolution,
220-
param.settings.mintemp,
221-
param.settings.maxtemp,
222-
),
231+
weather,
223232
false,
224233
));
225-
return _.reduce(pieces, _.extend);
234+
const nPieces = nCategories.map(predictType(
235+
param.gender,
236+
weather,
237+
false,
238+
));
239+
const fullbody = predictType(
240+
param.gender,
241+
weather,
242+
false,
243+
)({
244+
name: 'fullbody',
245+
gender: true,
246+
omit: false,
247+
});
248+
249+
console.log('fullbody');
250+
console.log(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''));
251+
console.log(fullbody);
252+
console.log(_.map(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''), p => _.toArray(svgs_).filter(s => s.name === p)[0].percentage));
253+
console.log(_.mean(_.map(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''), p => _.toArray(svgs_).filter(s => s.name === p)[0].percentage)));
254+
console.log(_.toArray(svgs_).filter(s => s.name === fullbody.fullbody)[0].percentage);
255+
256+
if (Math.abs(_.mean(_.map(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''), p => _.toArray(svgs_).filter(s => s.name === p)[0].percentage)) - weather.target) < Math.abs(_.toArray(svgs_).filter(s => s.name === fullbody.fullbody)[0].percentage - weather.target)) {
257+
return _.reduce(_.flatten([pieces, [{ type: 'seperate' }], nPieces, [{ fullbody: '' }]]), _.extend);
258+
}
259+
return _.reduce(_.flatten([pieces, [{ type: 'fullbody' }], [fullbody], _.map(nCategories, x => ({ [x.name]: '' }))]), _.extend);
226260
}
227261

228262
export function predictDay(param) {
263+
const weather = processDailyWeather(
264+
param.weather,
265+
param.settings.mintemp,
266+
param.settings.maxtemp,
267+
);
268+
229269
const pieces = categories.map(predictType(
230270
param.gender,
231-
processDailyWeather(
232-
param.weather,
233-
param.settings.mintemp,
234-
param.settings.maxtemp,
235-
),
271+
weather,
272+
true,
273+
));
274+
const nPieces = nCategories.map(predictType(
275+
param.gender,
276+
weather,
236277
true,
237278
));
238-
return _.reduce(pieces, _.extend);
279+
const fullbody = predictType(
280+
param.gender,
281+
weather,
282+
true,
283+
)({
284+
name: 'fullbody',
285+
gender: true,
286+
omit: false,
287+
});
288+
289+
console.log(fullbody);
290+
console.log(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''));
291+
292+
if (Math.abs(_.mean(_.map(_.map(nPieces, x => x[_.keys(x)[0]]).filter(x => x !== ''), p => _.toArray(svgs_).filter(s => s.type === p)[0].percentage)) - weather.target) < Math.abs(_.toArray(svgs_).filter(s => s.type === fullbody.fullbody)[0].percentage - weather.target)) {
293+
return _.reduce(_.flatten([pieces, nPieces, [{ fullbody: '' }]]), _.extend);
294+
}
295+
return _.reduce(_.flatten([pieces, [fullbody], _.map(nCategories, x => ({ [x.name]: '' }))]), _.extend);
239296
}

src/services/picture-service/svgs.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,16 +1127,16 @@ const svgs = {
11271127
name: 'manExtraTrunkBlue',
11281128
gender: 'male',
11291129
type: 'trunk',
1130-
category: 'extra',
1131-
percentage: 5,
1130+
category: 'fullbody',
1131+
percentage: 3,
11321132
svg: manExtraTrunkBlue,
11331133
},
11341134
manExtraTrunkGray: {
11351135
name: 'manExtraTrunkGray',
11361136
gender: 'male',
11371137
type: 'trunk',
1138-
category: 'extra',
1139-
percentage: 5,
1138+
category: 'fullbody',
1139+
percentage: 3,
11401140
svg: manExtraTrunkGray,
11411141
},
11421142
manExtraCapBlue: {

src/views/settings/Settings.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<div class="md-title">Version</div>
104104
</md-card-header>
105105
<md-card-content>
106-
<p>Conditional Clobber v1.0.0</p>
106+
<p>Conditional Clobber v1.1.0</p>
107107
</md-card-content>
108108
</md-card>
109109
</md-list-item>

src/views/travel/Travel.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ export default {
115115
destination: this.destination.value,
116116
treturn: this.treturn.value,
117117
});
118-
this.$router.push('/travel/result');
119118
},
120119
},
121120
};

src/views/travel/TravelResult.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ export default {
4646
methods: {
4747
requery() {
4848
this.$store.commit('setQueryMode', true);
49-
this.$router.push('/travel');
5049
},
5150
},
5251
computed: {

src/views/travel/travelsvgs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ const svgs = {
254254
type: 'bra',
255255
svg: womanBra,
256256
display: 'bra',
257-
holds: 1,
257+
holds: 2,
258258
},
259259
manBikini: {
260260
name: 'manBikini',

0 commit comments

Comments
 (0)