Current source: Rusty Rabbit Fluffle. Loading from fluffle structure.
Companion HTML: open moon_rabbit.html | Personality JS: open moon_rabbit.js
Files found in avatar/
Files found in images/
No gallery images found.
Files found in notes/
Extraction notes for Moon Rabbit Rusty Rabbit - Manifest label: Moon Rabbit - Registered label: Moon Rabbit - DemoOrder from playerlist.js: 8 - PersonalityLevel from register(...): 6 - Companion title: Moon Rabbit Rusty Rabbit Companion - Companion sections: Working notes, Main tuning knobs, Starter recipe, Questions to ask after a tournament, Safe edit checklist If DemoOrder and PersonalityLevel differ, keep both. They appear to serve different roles.
Files found in prompts/
Moon Rabbit Rusty Rabbit Core identity: More positional and values shape and branching.
Rabbit: Moon Rabbit Rusty Rabbit RabbitID: moon_rabbit Demo order: 8 Personality level: 6 Cheat door: none Core identity: More positional and values shape and branching. Strategy hooks present: - forceAction: 0 - filterActions: 1 - scoreAction: 1 - chooseAction: 0 - describeStrategy: 0 Voice categories: 20 Voice lines total: 240 Sample voice lines: - ahead: Do not hurry the finish. - bad_move: Too coarse. - behind: There is still a clearer path. - bonus_move: A second touch may finish the pattern. - capture: The line has closed. - close_game: The air is thin now. - erase: Let that fade. - good_move: Yes. That settled well. - human_move_bad: Too forceful. - human_move_good: That was elegant. - lose_match: The light chose another line. - lose_tournament: Another moon will rise. - my_turn: A small step. - start_match: The board is quiet enough to speak. - taunt: You moved too loudly. - thinking: A calm board reveals its seams. - tile_place: A tile to carry the light forward. - token_place: A mark where it matters. - win_match: A gentle result. - win_tournament: A pleasing cycle.
Files found in personality/
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Moon Rabbit Rusty Rabbit Companion</title>
<style>
:root{
--bg:#071118;
--bg2:#050B10;
--card:rgba(10,22,32,0.72);
--card2:rgba(6,12,18,0.68);
--line:rgba(160,200,255,0.14);
--text:#E6F1FF;
--muted:#AFC4D9;
--green:#00fd00;
--yellow:#ffff00;
--cyan:#00fdfd;
--red:#ff4040;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0;
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
background:
radial-gradient(1200px 800px at 50% -200px, rgba(120,200,255,0.18), rgba(0,0,0,0) 60%),
linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
color:var(--text);
line-height:1.5;
}
.page{
max-width:1100px;
margin:0 auto;
padding:22px 14px 40px;
}
.card{
background:linear-gradient(180deg,var(--card),var(--card2));
border:1px solid var(--line);
border-radius:16px;
box-shadow:0 20px 60px rgba(0,0,0,.45);
padding:20px;
}
h1,h2,h3{margin:0 0 10px 0;color:var(--text)}
h1{font-size:34px;line-height:1.15}
h2{
margin-top:30px;
padding-top:10px;
border-top:1px solid rgba(255,255,255,0.12);
font-size:24px;
}
h3{margin-top:18px;font-size:19px}
p,li{font-size:16px}
code,pre{
font-family:Consolas,"Courier New",monospace;
font-size:14px;
}
pre{
background:rgba(0,0,0,.28);
border:1px solid rgba(255,255,255,.12);
color:#dfefff;
padding:12px;
overflow:auto;
white-space:pre-wrap;
border-radius:10px;
}
.box{
background:linear-gradient(180deg,var(--card),var(--card2));
border:1px solid var(--line);
padding:14px;
margin:14px 0;
border-radius:14px;
box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.warn{
background:linear-gradient(180deg, rgba(70,42,10,.78), rgba(45,24,6,.72));
border:1px solid rgba(225,185,107,.55);
}
.good{
background:linear-gradient(180deg, rgba(20,60,28,.78), rgba(10,34,16,.72));
border:1px solid rgba(143,196,143,.55);
}
table{
width:100%;
border-collapse:collapse;
margin:12px 0;
background:rgba(0,0,0,.12);
}
th,td{
border:1px solid rgba(255,255,255,.12);
padding:8px 10px;
text-align:left;
vertical-align:top;
}
th{
background:rgba(119,208,255,.10);
color:#dff4ff;
}
a{color:#9fd6ff}
a:hover{text-decoration:underline}
.small{font-size:14px;color:var(--muted)}
ul{margin-top:8px}
.siteHeader{
position:sticky;
top:0;
z-index:999;
backdrop-filter:blur(10px);
background:linear-gradient(180deg, rgba(6,12,18,0.92), rgba(6,12,18,0.72));
border-bottom:1px solid rgba(160,200,255,0.12);
}
.siteHeader .inner{
max-width:1600px;
margin:0 auto;
padding:14px 14px;
display:flex;
align-items:baseline;
justify-content:space-between;
gap:16px;
}
.brand{font-weight:800; letter-spacing:.3px}
.brand small{
display:block;
font-weight:500;
opacity:.78;
margin-top:4px;
color:var(--muted);
}
.headerRight{
font-size:13px;
opacity:.82;
text-align:right;
line-height:1.25;
color:var(--muted);
}
.btnlink, .navbtn{
display:inline-block;
padding:10px 14px;
border-radius:12px;
border:1px solid rgba(255,255,255,.18);
background:rgba(0,0,0,.35);
text-decoration:none;
font-weight:600;
}
.btn-green{color:#00ff00}
.btn-red{color:#ff4040}
.btn-yellow{color:#ffff00}
.btn-play{
padding:1px 10px;
border:2px solid rgba(255,255,0,.18);
color:#8080ff;
}
</style>
</head><body>
<header class="siteHeader">
<div class="inner">
<div class="brand">
<a href="../index.php" class="btnlink btn-green">FJD1.COM</a>
Trigame
<a href="index.html" class="btnlink btn-red">Fluffle Guide</a>
<a href="../../about.html" class="navbtn" style="color:#ff8080;">About</a>
<a href="../../help.html" class="btnlink btn-yellow">Instructions · Help</a>
<a href="../../problem.html" class="navbtn" style="color:#ffd580;">Single-Tile Problem</a>
<a href="../../trigame.html" class="btnlink btn-play"><img src="../../images/trigame002.jpg" width="80" style="vertical-align:middle;"> PLAY </a>
<small>Legacy prototype (2002) - modern Canvas versions (2026)</small>
</div>
<div class="headerRight">
Frank Davies - fjd1.com<br>
Fluffle companion and personality tuning notes
</div>
</div>
</header>
<div class="page"><div class="card">
<div class="page">
<img src="../../images/moon_rabbit.jpg" width="200" style="border-radius:12px; border:2px solid rgba(255,255,0,.18);" align="right">
<h1>Moon Rabbit Rusty Rabbit</h1>
<p><strong>Core identity:</strong> More positional and values shape and branching.</p>
<div class="box">
<strong>Personality sketch</strong><br>
Moon Rabbit plays with a calmer, more architectural sense of the board. It cares about shape, branching possibilities, and the quiet value of a good position, even when no loud tactical prize is immediately visible.
</div>
<div class="box">
<strong>What this page is for</strong><br>
Use this as a plain-language companion while tweaking <code>moon_rabbit.js</code>.
</div>
<h2>Working notes</h2>
<ul><li>This page is a tuning worksheet based on the name and slot, not a confirmed code reading.</li><li>Use it to write down what Moon Rabbit actually does in tournaments.</li><li>Decide whether Moon Rabbit should feel mystical, patient, or quietly efficient.</li></ul>
<h2>Main tuning knobs</h2>
<table><tr><th>Tile appetite</th><td>Unknown yet</td></tr><tr><th>Token appetite</th><td>Unknown yet</td></tr><tr><th>Good experiments</th><td>Long-view planning, elegant timing</td></tr><tr><th>Danger sign</th><td>If you cannot describe the rabbit in one sentence, it needs a clearer role</td></tr></table>
<h2>Starter recipe</h2>
<div class="box good">Start with one identity sentence, then tune only toward that sentence.</div>
<h2>Questions to ask after a tournament</h2>
<ol>
<li>Did this rabbit actually feel like its name?</li>
<li>Did it win by the method I intended, or by accident?</li>
<li>Did it create board growth, punish board growth, or cash in on someone else’s board?</li>
<li>Did this rabbit become too similar to another one?</li>
</ol>
<h2>Safe edit checklist</h2>
<ul>
<li>Change only one main idea at a time.</li>
<li>Keep a backup before changing heavy filters.</li>
<li>Prefer score nudges before hard move filters.</li>
<li>Run a small tournament instead of trusting one match.</li>
</ul>
<h3>Current moon_rabbit.js</h3>
<pre id="jsview"></pre>
<pre id="jsview"></pre>
<script>
fetch('moon_rabbit.js')
.then(r => {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(t => {
jsview.textContent = t;
})
.catch(err => {
jsview.textContent = 'Could not load moon_rabbit.js\n' + err;
});
</script>
<p class="small"><a href="index.html">Back to companion index</a></p>
</div>
</div></div>
</body></html>
(function(){
const register = window.RustyPersonalities && window.RustyPersonalities.register;
if(!register) return;
function num(v, fallback){
const n = Number(v);
return Number.isFinite(n) ? n : (fallback || 0);
}
function getTileCountForSeat(ctx, seat){
if(!ctx) return 0;
const tc = ctx.tileCount;
if(typeof tc === 'number') return num(tc, 0);
if(Array.isArray(tc)) return num(tc[seat], 0);
if(typeof tc === 'function'){
try{ return num(tc(seat), 0); }catch(_){
try{ return num(tc(), 0); }catch(__){ return 0; }
}
}
if(tc && typeof tc === 'object') return num(tc[seat], 0);
return 0;
}
function countMyPlacedTiles(ctx){ return getTileCountForSeat(ctx, ctx && ctx.seat); }
function adjacentValue(ctx, move){
try{ return num(ctx.adjacentPlacedCount(move), 0); }catch(_){ return 0; }
}
function opennessValue(ctx){
try{ return num((ctx.openSocketMoves && ctx.openSocketMoves(true) || []).length, 0); }catch(_){ return 0; }
}
function tileScore(ctx, action){
const mine = countMyPlacedTiles(ctx);
let s = 0;
s += adjacentValue(ctx, action && action.move) * 10;
s += Math.min(24, opennessValue(ctx) * 0.2);
if(action && action.move && action.move.replace) s -= 6;
if(mine <= 4) s += 26;
return s;
}
function tokenScore(ctx, action){
let s = 8;
if(countMyPlacedTiles(ctx) <= 2) s -= 6;
return s;
}
function topN(list, scorer, n){
return list
.map(a => ({ a, s: scorer(a) }))
.sort((x, y) => y.s - x.s)
.slice(0, Math.max(1, n|0))
.map(x => x.a);
}
register({
level: 6,
id: "moon_rabbit",
label: "Moon Rabbit",
filterActions(ctx){
const actions = Array.isArray(ctx && ctx.actions) ? ctx.actions.filter(Boolean) : [];
if(!actions.length) return actions;
const tiles = actions.filter(a => a.type === 'tile');
const tokens = actions.filter(a => a.type === 'token');
const others = actions.filter(a => a.type !== 'tile' && a.type !== 'token');
const mine = countMyPlacedTiles(ctx);
if(tiles.length){
const keepTiles = topN(tiles, a => tileScore(ctx, a), mine <= 4 ? 7 : 5);
if(tokens.length && mine >= 3){
return keepTiles.concat(topN(tokens, a => tokenScore(ctx, a), 3), others);
}
return keepTiles.concat(others);
}
if(tokens.length) return topN(tokens, a => tokenScore(ctx, a), 4).concat(others);
return actions;
},
scoreAction(ctx){
let score = 0;
if(ctx.action.type === 'tile') score += 20 + tileScore(ctx, ctx.action);
if(ctx.action.type === 'token') score += 10 + tokenScore(ctx, ctx.action);
return score;
}
});
})();
(function(){
const register = window.RustyPersonalities && window.RustyPersonalities.register;
if(!register) return;
function num(v, fallback){
const n = Number(v);
return Number.isFinite(n) ? n : (fallback || 0);
}
function getTileCountForSeat(ctx, seat){
if(!ctx) return 0;
const tc = ctx.tileCount;
if(typeof tc === 'number') return num(tc, 0);
if(Array.isArray(tc)) return num(tc[seat], 0);
if(typeof tc === 'function'){
try{
return num(tc(seat), 0);
}catch(_){
try{
return num(tc(), 0);
}catch(__){
return 0;
}
}
}
if(tc && typeof tc === 'object'){
return num(tc[seat], 0);
}
return 0;
}
function countMyPlacedTiles(ctx){
return getTileCountForSeat(ctx, ctx && ctx.seat);
}
function countOppPlacedTiles(ctx){
if(!ctx) return 0;
if(typeof ctx.rivalSeat === 'number'){
return getTileCountForSeat(ctx, ctx.rivalSeat);
}
if(typeof ctx.playerCount === 'function'){
let total = 0;
try{
const pc = num(ctx.playerCount(), 0);
for(let s = 0; s < pc; s++){
if(s === ctx.seat) continue;
total += getTileCountForSeat(ctx, s);
}
return total;
}catch(_){
return 0;
}
}
return 0;
}
register({
level: 8,
id: "moon_rabbit",
label: "Moon Rabbit",
scoreAction(ctx){
let score = 0;
if(ctx.action.type === 'tile') score += countMyPlacedTiles(ctx) <= 4 ? 32 : 10;
if(ctx.action.type === 'token') score += 10;
return score;
}
});
})();
level: 6,
id: "moon_rabbit",
label: "Moon Rabbit",
filterActions(ctx){
const actions = Array.isArray(ctx && ctx.actions) ? ctx.actions.filter(Boolean) : [];
if(!actions.length) return actions;
const tiles = actions.filter(a => a.type === 'tile');
const tokens = actions.filter(a => a.type === 'token');
const others = actions.filter(a => a.type !== 'tile' && a.type !== 'token');
const mine = countMyPlacedTiles(ctx);
if(tiles.length){
const keepTiles = topN(tiles, a => tileScore(ctx, a), mine <= 4 ? 7 : 5);
if(tokens.length && mine >= 3){
return keepTiles.concat(topN(tokens, a => tokenScore(ctx, a), 3), others);
}
return keepTiles.concat(others);
}
if(tokens.length) return topN(tokens, a => tokenScore(ctx, a), 4).concat(others);
return actions;
},
scoreAction(ctx){
let score = 0;
if(ctx.action.type === 'tile') score += 20 + tileScore(ctx, ctx.action);
if(ctx.action.type === 'token') score += 10 + tokenScore(ctx, ctx.action);
return score;
}
Files found in voices/
window.TRIGAME_VOICES = window.TRIGAME_VOICES || {};
window.TRIGAME_VOICES["moon_rabbit"] = {
"start_match": [
"The board is quiet enough to speak.",
"Let us see what shape the light prefers.",
"A still opening often tells the truth.",
"We begin beneath a clear sky.",
"The board is quiet enough to speak There is work to do.",
"Let us see what shape the light prefers I intend to set the tone.",
"A still opening often tells the truth The board seems awake.",
"The board is quiet enough to speak The board seems awake.",
"We begin beneath a clear sky A fresh beginning seldom stays innocent.",
"We begin beneath a clear sky I intend to set the tone.",
"We begin beneath a clear sky There is work to do.",
"We begin beneath a clear sky The board seems awake."
],
"my_turn": [
"A small step.",
"I think this is the gentler line.",
"The right move is rarely loud.",
"Now, softly.",
"Now, softly I am ready.",
"I think this is the gentler line Let us continue.",
"A small step The next choice matters.",
"The right move is rarely loud The next choice matters.",
"The right move is rarely loud This move will say something.",
"The right move is rarely loud I am ready.",
"The right move is rarely loud Let us continue.",
"A small step Let us continue."
],
"thinking": [
"A calm board reveals its seams.",
"The best move often arrives without noise.",
"Patience is a sharp instrument.",
"There is a rhythm hidden here.",
"The best move often arrives without noise A small clue changes everything.",
"The best move often arrives without noise The position is speaking plainly enough.",
"A calm board reveals its seams There is more here than first appears.",
"The best move often arrives without noise The answer is in the shape.",
"There is a rhythm hidden here There is more here than first appears.",
"Patience is a sharp instrument There is more here than first appears.",
"A calm board reveals its seams A small clue changes everything.",
"There is a rhythm hidden here The answer is in the shape."
],
"good_move": [
"Yes. That settled well.",
"The shape brightened there.",
"A quiet improvement.",
"That line pleases me.",
"Yes. That settled well I can use this.",
"Yes. That settled well The shape tightened in my favor.",
"That line pleases me The board approves.",
"Yes. That settled well That should matter later.",
"The shape brightened there The board approves.",
"A quiet improvement That should matter later.",
"That line pleases me That should matter later.",
"A quiet improvement The shape tightened in my favor."
],
"bad_move": [
"Too coarse.",
"I disturbed the shape.",
"That was less graceful than I wished.",
"A clouded moment.",
"A clouded moment A correction will be needed.",
"That was less graceful than I wished I will not repeat it.",
"A clouded moment That opened the wrong door.",
"That was less graceful than I wished A correction will be needed.",
"That was less graceful than I wished That opened the wrong door.",
"A clouded moment I will not repeat it.",
"A clouded moment It looked better a breath ago.",
"I disturbed the shape It looked better a breath ago."
],
"bonus_move": [
"A second touch may finish the pattern.",
"Good. The line continues.",
"One more quiet turn.",
"The rhythm holds.",
"A second touch may finish the pattern I should make this count.",
"A second touch may finish the pattern Extra time is dangerous.",
"One more quiet turn That changes the rhythm.",
"Good. The line continues Extra time is dangerous.",
"The rhythm holds That changes the rhythm.",
"The rhythm holds I should make this count.",
"The rhythm holds Opportunity compounds quickly.",
"A second touch may finish the pattern That changes the rhythm."
],
"tile_place": [
"A tile to carry the light forward.",
"This place wants shape.",
"A gentle extension.",
"The pattern needs room.",
"A tile to carry the light forward This changes the map.",
"A tile to carry the light forward That should open something useful.",
"This place wants shape This changes the map.",
"This place wants shape The future will care about that tile.",
"The pattern needs room The future will care about that tile.",
"The pattern needs room This changes the map.",
"This place wants shape A new foundation always matters.",
"A gentle extension The future will care about that tile."
],
"token_place": [
"A mark where it matters.",
"This point should glow a little longer.",
"I will keep this one.",
"A quiet claim.",
"A mark where it matters That point will matter.",
"A quiet claim Claims should be deliberate.",
"I will keep this one That point will matter.",
"This point should glow a little longer A small mark can decide a game.",
"A mark where it matters That point carries weight.",
"A mark where it matters Claims should be deliberate.",
"A quiet claim That point will matter.",
"A mark where it matters A small mark can decide a game."
],
"erase": [
"Let that fade.",
"That piece has said enough.",
"Remove the noise.",
"Some things are better gone.",
"Remove the noise Less can be more lethal.",
"That piece has said enough Less can be more lethal.",
"Let that fade Less can be more lethal.",
"Remove the noise Not everything deserves to remain.",
"Remove the noise Sometimes removal is cleaner.",
"Let that fade Sometimes removal is cleaner.",
"Let that fade Not everything deserves to remain.",
"That piece has said enough Sometimes removal is cleaner."
],
"capture": [
"The line has closed.",
"That was always drifting toward me.",
"A soft completion.",
"It gathered itself at last.",
"It gathered itself at last A good conversion.",
"A soft completion The shape has paid out.",
"The line has closed The board finally yielded.",
"It gathered itself at last The board finally yielded.",
"It gathered itself at last The shape has paid out.",
"A soft completion That was worth taking.",
"That was always drifting toward me That was worth taking.",
"That was always drifting toward me The board finally yielded."
],
"ahead": [
"Do not hurry the finish.",
"A lead is still fragile.",
"Calm wins from here.",
"Hold the line and breathe.",
"A lead is still fragile A lead needs discipline.",
"Hold the line and breathe A lead needs discipline.",
"Calm wins from here Pressure should increase from here.",
"Calm wins from here This is where composure matters.",
"Hold the line and breathe Now the board tests restraint.",
"Do not hurry the finish A lead needs discipline.",
"A lead is still fragile This is where composure matters.",
"A lead is still fragile Now the board tests restraint."
],
"behind": [
"There is still a clearer path.",
"I need only one true opening.",
"The shape can still turn.",
"Not every late board is lost.",
"The shape can still turn Pressure can be rebuilt.",
"I need only one true opening Pressure can be rebuilt.",
"There is still a clearer path Pressure can be rebuilt.",
"There is still a clearer path Recovery is a technical art.",
"There is still a clearer path One turn can reverse plenty.",
"I need only one true opening One turn can reverse plenty.",
"The shape can still turn Recovery is a technical art.",
"There is still a clearer path There is still leverage here."
],
"taunt": [
"You moved too loudly.",
"That line was always unstable.",
"You disturbed your own shape.",
"I only had to wait.",
"I only had to wait That was generous of you.",
"That line was always unstable I thank you for the opening.",
"That line was always unstable Some mistakes deserve immediate attention.",
"You disturbed your own shape Some mistakes deserve immediate attention.",
"I only had to wait You offered more than you meant to.",
"You disturbed your own shape You offered more than you meant to.",
"You disturbed your own shape That was generous of you.",
"I only had to wait Some mistakes deserve immediate attention."
],
"human_move_good": [
"That was elegant.",
"You listened to the board there.",
"A lovely quiet move.",
"You chose well.",
"You chose well I noticed that.",
"That was elegant That had merit.",
"A lovely quiet move That had merit.",
"That was elegant You understood the moment.",
"A lovely quiet move Well chosen.",
"You listened to the board there Well chosen.",
"You chose well You understood the moment.",
"You listened to the board there That had merit."
],
"human_move_bad": [
"Too forceful.",
"You bruised the shape.",
"That was a harsh move.",
"I can use what you disturbed.",
"You bruised the shape I saw what you gave up.",
"That was a harsh move That weakens your case.",
"You bruised the shape You should have reconsidered.",
"That was a harsh move That will be remembered.",
"I can use what you disturbed You should have reconsidered.",
"That was a harsh move You should have reconsidered.",
"You bruised the shape That weakens your case.",
"I can use what you disturbed That weakens your case."
],
"close_game": [
"The air is thin now.",
"Late boards ask for stillness.",
"A single clear move decides these.",
"Listen closely.",
"A single clear move decides these A single detail may decide it.",
"A single clear move decides these The ending has begun.",
"The air is thin now The ending has begun.",
"The air is thin now The margin is thin now.",
"Listen closely There is no room left for vanity.",
"The air is thin now There is no room left for vanity.",
"Late boards ask for stillness There is no room left for vanity.",
"A single clear move decides these There is no room left for vanity."
],
"win_match": [
"A gentle result.",
"That closed as I hoped.",
"The board settled in my favor.",
"A quiet little victory.",
"A gentle result The board closed in my favor.",
"The board settled in my favor That concluded acceptably.",
"The board settled in my favor A useful result.",
"That closed as I hoped That concluded acceptably.",
"A quiet little victory A useful result.",
"That closed as I hoped The board closed in my favor.",
"A quiet little victory The board closed in my favor.",
"A gentle result That concluded acceptably."
],
"lose_match": [
"The light chose another line.",
"I misread the shape.",
"That was not my board.",
"Another phase will come.",
"That was not my board The next board will be less forgiving.",
"That was not my board I have taken notes.",
"The light chose another line The next board will be less forgiving.",
"I misread the shape I have taken notes.",
"That was not my board That outcome is informative.",
"I misread the shape The next board will be less forgiving.",
"Another phase will come That outcome is informative.",
"The light chose another line That outcome is informative."
],
"win_tournament": [
"A pleasing cycle.",
"The field turned softly toward me.",
"Enough calm decisions make a crown.",
"The long rhythm held.",
"Enough calm decisions make a crown The table is settled.",
"The field turned softly toward me A fine total in the end.",
"The long rhythm held A fine total in the end.",
"The field turned softly toward me Consistency has its rewards.",
"The long rhythm held The longer arc favored me.",
"A pleasing cycle Consistency has its rewards.",
"A pleasing cycle A fine total in the end.",
"A pleasing cycle The table is settled."
],
"lose_tournament": [
"Another moon will rise.",
"Today the shape belonged elsewhere.",
"I was not in tune with it.",
"The next cycle may be kinder.",
"I was not in tune with it The table owes me another try.",
"Another moon will rise The table owes me another try.",
"Another moon will rise Not the final word.",
"The next cycle may be kinder Not the final word.",
"Another moon will rise I will amend that result later.",
"The next cycle may be kinder The long arc bent elsewhere.",
"Today the shape belonged elsewhere The table owes me another try.",
"I was not in tune with it Not the final word."
]
};
{
"start_match": [
"The board is quiet enough to speak.",
"Let us see what shape the light prefers.",
"A still opening often tells the truth.",
"We begin beneath a clear sky.",
"The board is quiet enough to speak There is work to do.",
"Let us see what shape the light prefers I intend to set the tone.",
"A still opening often tells the truth The board seems awake.",
"The board is quiet enough to speak The board seems awake.",
"We begin beneath a clear sky A fresh beginning seldom stays innocent.",
"We begin beneath a clear sky I intend to set the tone.",
"We begin beneath a clear sky There is work to do.",
"We begin beneath a clear sky The board seems awake."
],
"my_turn": [
"A small step.",
"I think this is the gentler line.",
"The right move is rarely loud.",
"Now, softly.",
"Now, softly I am ready.",
"I think this is the gentler line Let us continue.",
"A small step The next choice matters.",
"The right move is rarely loud The next choice matters.",
"The right move is rarely loud This move will say something.",
"The right move is rarely loud I am ready.",
"The right move is rarely loud Let us continue.",
"A small step Let us continue."
],
"thinking": [
"A calm board reveals its seams.",
"The best move often arrives without noise.",
"Patience is a sharp instrument.",
"There is a rhythm hidden here.",
"The best move often arrives without noise A small clue changes everything.",
"The best move often arrives without noise The position is speaking plainly enough.",
"A calm board reveals its seams There is more here than first appears.",
"The best move often arrives without noise The answer is in the shape.",
"There is a rhythm hidden here There is more here than first appears.",
"Patience is a sharp instrument There is more here than first appears.",
"A calm board reveals its seams A small clue changes everything.",
"There is a rhythm hidden here The answer is in the shape."
],
"good_move": [
"Yes. That settled well.",
"The shape brightened there.",
"A quiet improvement.",
"That line pleases me.",
"Yes. That settled well I can use this.",
"Yes. That settled well The shape tightened in my favor.",
"That line pleases me The board approves.",
"Yes. That settled well That should matter later.",
"The shape brightened there The board approves.",
"A quiet improvement That should matter later.",
"That line pleases me That should matter later.",
"A quiet improvement The shape tightened in my favor."
],
"bad_move": [
"Too coarse.",
"I disturbed the shape.",
"That was less graceful than I wished.",
"A clouded moment.",
"A clouded moment A correction will be needed.",
"That was less graceful than I wished I will not repeat it.",
"A clouded moment That opened the wrong door.",
"That was less graceful than I wished A correction will be needed.",
"That was less graceful than I wished That opened the wrong door.",
"A clouded moment I will not repeat it.",
"A clouded moment It looked better a breath ago.",
"I disturbed the shape It looked better a breath ago."
],
"bonus_move": [
"A second touch may finish the pattern.",
"Good. The line continues.",
"One more quiet turn.",
"The rhythm holds.",
"A second touch may finish the pattern I should make this count.",
"A second touch may finish the pattern Extra time is dangerous.",
"One more quiet turn That changes the rhythm.",
"Good. The line continues Extra time is dangerous.",
"The rhythm holds That changes the rhythm.",
"The rhythm holds I should make this count.",
"The rhythm holds Opportunity compounds quickly.",
"A second touch may finish the pattern That changes the rhythm."
],
"tile_place": [
"A tile to carry the light forward.",
"This place wants shape.",
"A gentle extension.",
"The pattern needs room.",
"A tile to carry the light forward This changes the map.",
"A tile to carry the light forward That should open something useful.",
"This place wants shape This changes the map.",
"This place wants shape The future will care about that tile.",
"The pattern needs room The future will care about that tile.",
"The pattern needs room This changes the map.",
"This place wants shape A new foundation always matters.",
"A gentle extension The future will care about that tile."
],
"token_place": [
"A mark where it matters.",
"This point should glow a little longer.",
"I will keep this one.",
"A quiet claim.",
"A mark where it matters That point will matter.",
"A quiet claim Claims should be deliberate.",
"I will keep this one That point will matter.",
"This point should glow a little longer A small mark can decide a game.",
"A mark where it matters That point carries weight.",
"A mark where it matters Claims should be deliberate.",
"A quiet claim That point will matter.",
"A mark where it matters A small mark can decide a game."
],
"erase": [
"Let that fade.",
"That piece has said enough.",
"Remove the noise.",
"Some things are better gone.",
"Remove the noise Less can be more lethal.",
"That piece has said enough Less can be more lethal.",
"Let that fade Less can be more lethal.",
"Remove the noise Not everything deserves to remain.",
"Remove the noise Sometimes removal is cleaner.",
"Let that fade Sometimes removal is cleaner.",
"Let that fade Not everything deserves to remain.",
"That piece has said enough Sometimes removal is cleaner."
],
"capture": [
"The line has closed.",
"That was always drifting toward me.",
"A soft completion.",
"It gathered itself at last.",
"It gathered itself at last A good conversion.",
"A soft completion The shape has paid out.",
"The line has closed The board finally yielded.",
"It gathered itself at last The board finally yielded.",
"It gathered itself at last The shape has paid out.",
"A soft completion That was worth taking.",
"That was always drifting toward me That was worth taking.",
"That was always drifting toward me The board finally yielded."
],
"ahead": [
"Do not hurry the finish.",
"A lead is still fragile.",
"Calm wins from here.",
"Hold the line and breathe.",
"A lead is still fragile A lead needs discipline.",
"Hold the line and breathe A lead needs discipline.",
"Calm wins from here Pressure should increase from here.",
"Calm wins from here This is where composure matters.",
"Hold the line and breathe Now the board tests restraint.",
"Do not hurry the finish A lead needs discipline.",
"A lead is still fragile This is where composure matters.",
"A lead is still fragile Now the board tests restraint."
],
"behind": [
"There is still a clearer path.",
"I need only one true opening.",
"The shape can still turn.",
"Not every late board is lost.",
"The shape can still turn Pressure can be rebuilt.",
"I need only one true opening Pressure can be rebuilt.",
"There is still a clearer path Pressure can be rebuilt.",
"There is still a clearer path Recovery is a technical art.",
"There is still a clearer path One turn can reverse plenty.",
"I need only one true opening One turn can reverse plenty.",
"The shape can still turn Recovery is a technical art.",
"There is still a clearer path There is still leverage here."
],
"taunt": [
"You moved too loudly.",
"That line was always unstable.",
"You disturbed your own shape.",
"I only had to wait.",
"I only had to wait That was generous of you.",
"That line was always unstable I thank you for the opening.",
"That line was always unstable Some mistakes deserve immediate attention.",
"You disturbed your own shape Some mistakes deserve immediate attention.",
"I only had to wait You offered more than you meant to.",
"You disturbed your own shape You offered more than you meant to.",
"You disturbed your own shape That was generous of you.",
"I only had to wait Some mistakes deserve immediate attention."
],
"human_move_good": [
"That was elegant.",
"You listened to the board there.",
"A lovely quiet move.",
"You chose well.",
"You chose well I noticed that.",
"That was elegant That had merit.",
"A lovely quiet move That had merit.",
"That was elegant You understood the moment.",
"A lovely quiet move Well chosen.",
"You listened to the board there Well chosen.",
"You chose well You understood the moment.",
"You listened to the board there That had merit."
],
"human_move_bad": [
"Too forceful.",
"You bruised the shape.",
"That was a harsh move.",
"I can use what you disturbed.",
"You bruised the shape I saw what you gave up.",
"That was a harsh move That weakens your case.",
"You bruised the shape You should have reconsidered.",
"That was a harsh move That will be remembered.",
"I can use what you disturbed You should have reconsidered.",
"That was a harsh move You should have reconsidered.",
"You bruised the shape That weakens your case.",
"I can use what you disturbed That weakens your case."
],
"close_game": [
"The air is thin now.",
"Late boards ask for stillness.",
"A single clear move decides these.",
"Listen closely.",
"A single clear move decides these A single detail may decide it.",
"A single clear move decides these The ending has begun.",
"The air is thin now The ending has begun.",
"The air is thin now The margin is thin now.",
"Listen closely There is no room left for vanity.",
"The air is thin now There is no room left for vanity.",
"Late boards ask for stillness There is no room left for vanity.",
"A single clear move decides these There is no room left for vanity."
],
"win_match": [
"A gentle result.",
"That closed as I hoped.",
"The board settled in my favor.",
"A quiet little victory.",
"A gentle result The board closed in my favor.",
"The board settled in my favor That concluded acceptably.",
"The board settled in my favor A useful result.",
"That closed as I hoped That concluded acceptably.",
"A quiet little victory A useful result.",
"That closed as I hoped The board closed in my favor.",
"A quiet little victory The board closed in my favor.",
"A gentle result That concluded acceptably."
],
"lose_match": [
"The light chose another line.",
"I misread the shape.",
"That was not my board.",
"Another phase will come.",
"That was not my board The next board will be less forgiving.",
"That was not my board I have taken notes.",
"The light chose another line The next board will be less forgiving.",
"I misread the shape I have taken notes.",
"That was not my board That outcome is informative.",
"I misread the shape The next board will be less forgiving.",
"Another phase will come That outcome is informative.",
"The light chose another line That outcome is informative."
],
"win_tournament": [
"A pleasing cycle.",
"The field turned softly toward me.",
"Enough calm decisions make a crown.",
"The long rhythm held.",
"Enough calm decisions make a crown The table is settled.",
"The field turned softly toward me A fine total in the end.",
"The long rhythm held A fine total in the end.",
"The field turned softly toward me Consistency has its rewards.",
"The long rhythm held The longer arc favored me.",
"A pleasing cycle Consistency has its rewards.",
"A pleasing cycle A fine total in the end.",
"A pleasing cycle The table is settled."
],
"lose_tournament": [
"Another moon will rise.",
"Today the shape belonged elsewhere.",
"I was not in tune with it.",
"The next cycle may be kinder.",
"I was not in tune with it The table owes me another try.",
"Another moon will rise The table owes me another try.",
"Another moon will rise Not the final word.",
"The next cycle may be kinder Not the final word.",
"Another moon will rise I will amend that result later.",
"The next cycle may be kinder The long arc bent elsewhere.",
"Today the shape belonged elsewhere The table owes me another try.",
"I was not in tune with it Not the final word."
]
}
RabbitID,VoiceCategory,LineCount,SampleLine moon_rabbit,start_match,12,The board is quiet enough to speak. moon_rabbit,my_turn,12,A small step. moon_rabbit,thinking,12,A calm board reveals its seams. moon_rabbit,good_move,12,Yes. That settled well. moon_rabbit,bad_move,12,Too coarse. moon_rabbit,bonus_move,12,A second touch may finish the pattern. moon_rabbit,tile_place,12,A tile to carry the light forward. moon_rabbit,token_place,12,A mark where it matters. moon_rabbit,erase,12,Let that fade. moon_rabbit,capture,12,The line has closed. moon_rabbit,ahead,12,Do not hurry the finish. moon_rabbit,behind,12,There is still a clearer path. moon_rabbit,taunt,12,You moved too loudly. moon_rabbit,human_move_good,12,That was elegant. moon_rabbit,human_move_bad,12,Too forceful. moon_rabbit,close_game,12,The air is thin now. moon_rabbit,win_match,12,A gentle result. moon_rabbit,lose_match,12,The light chose another line. moon_rabbit,win_tournament,12,A pleasing cycle. moon_rabbit,lose_tournament,12,Another moon will rise.