tweaking activity selection

This commit is contained in:
William Jordan-Cooley 2024-11-21 16:54:00 -05:00
parent 121f06cb3b
commit 4c9cd60e95
4 changed files with 27 additions and 7 deletions

View file

@ -127,14 +127,30 @@ class MessageAnalyticsEntry {
}
// limit to 3 activities
return queue.take(3).toList();
final limited = queue.take(3).toList();
debugPrint("activities for ${PangeaToken.reconstructText(_tokens)}");
for (final activity in limited) {
debugPrint("activity: ${activity.activityType}");
for (final token in activity.tokens) {
debugPrint("token: ${token.analyticsDebugPrint}");
}
}
return limited;
}
/// Adds a word focus listening activity to the front of the queue
/// And limits to 3 activities
void addForWordMeaning(PangeaToken selectedToken) {
final int index = _activityQueue.isNotEmpty &&
_activityQueue.first.activityType ==
ActivityTypeEnum.hiddenWordListening
? 1
: 0;
_activityQueue.insert(
0,
index,
TargetTokensAndActivityType(
tokens: [selectedToken],
activityType: ActivityTypeEnum.wordMeaning,

View file

@ -140,6 +140,9 @@ class PangeaToken {
bool get isContentWord =>
["NOUN", "VERB", "ADJ", "ADV"].contains(pos) && lemma.saveVocab;
String get analyticsDebugPrint =>
"content: ${text.content} isContentWord: $isContentWord total_xp:$xp vocab_construct_xp: ${vocabConstruct.points} daysSincelastUseInWordMeaning ${daysSinceLastUseByType(ActivityTypeEnum.wordMeaning)}";
bool get canBeDefined =>
[
"ADJ",
@ -249,9 +252,11 @@ class PangeaToken {
switch (a) {
case ActivityTypeEnum.wordMeaning:
if (isContentWord) {
return vocabConstruct.points < 15 || daysSinceLastUseByType(a) > 2;
return vocabConstruct.points < 10 || daysSinceLastUseByType(a) > 7;
} else if (canBeDefined) {
return !_didActivity(a) && vocabConstruct.points < 5;
} else {
return vocabConstruct.points < 5 || daysSinceLastUseByType(a) > 7;
return false;
}
case ActivityTypeEnum.wordFocusListening:
return !_didActivitySuccessfully(a) || daysSinceLastUseByType(a) > 30;

View file

@ -86,8 +86,7 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
}
debugPrint(
"selected token: ${widget._initialSelectedToken?.text.content} total_xp:${widget._initialSelectedToken?.xp} vocab_construct_xp: ${widget._initialSelectedToken?.vocabConstruct.points} daysSincelastUseInWordMeaning ${widget._initialSelectedToken?.daysSinceLastUseByType(ActivityTypeEnum.wordMeaning)}",
);
"selected token ${widget._initialSelectedToken?.analyticsDebugPrint}");
debugPrint(
"${widget._initialSelectedToken?.vocabConstruct.uses.map((u) => "${u.useType} ${u.timeStamp}").join(", ")}",
);

View file

@ -136,7 +136,7 @@ class PracticeActivityCardState extends State<PracticeActivityCard> {
}
debugPrint(
"client requesting ${nextActivitySpecs.activityType.string} for: ${nextActivitySpecs.tokens.map((t) => t.text.content).join(' ')}",
"client requesting ${nextActivitySpecs.activityType.string} for: ${nextActivitySpecs.tokens.map((t) => "word: ${t.text.content} xp: ${t.xp}").join(' ')}",
);
final PracticeActivityModelResponse? activityResponse =