Rusty Rabbit
Advanced Rabbot inspection and direct code viewing

The Gold Room

Inspect the full Rabbot structure, read the profile record, and browse avatar, notes, prompts, personality, and voice files in one place.

On this page Avatar Personality Voices
macuiltochtli avatar

Macuiltochtli — Gold Room

Current source: Rusty Rabbit Fluffle. Loading from fluffle structure.

Current rabbot folder:
users/fluffle/macuiltochtli/

Companion HTML: open macuiltochtli.html  |  Personality JS: open macuiltochtli.js

Avatar

Files found in avatar/

Images

Files found in images/

No gallery images found.

Notes

Files found in notes/

extraction_notes.txt
Extraction notes for Macuiltochtli Rusty Rabbit

- Manifest label: Macuiltochtli
- Registered label: Macuiltochtli
- DemoOrder from playerlist.js: 9
- PersonalityLevel from register(...): 9
- Companion title: Macuiltochtli 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.

Prompts

Files found in prompts/

core_identity.txt
Macuiltochtli Rusty Rabbit

Core identity:
Dangerous, weird, disruptive, with a strong denial play style.
voice_samples.txt
Rabbit: Macuiltochtli Rusty Rabbit
RabbitID: macuiltochtli
Demo order: 9
Personality level: 9
Cheat door: none
Core identity: Dangerous, weird, disruptive, with a strong denial play style.

Strategy hooks present:
- forceAction: 0
- filterActions: 0
- scoreAction: 1
- chooseAction: 0
- describeStrategy: 0

Voice categories: 20
Voice lines total: 240

Sample voice lines:
- ahead: Do not rush the finishing cut.
- bad_move: Unlovely.
- behind: Then I need a better weakness.
- bonus_move: Ah, more room to misbehave.
- capture: There it is.
- close_game: Late games are for precise cruelty.
- erase: I remove what offends me.
- good_move: Lovely.
- human_move_bad: You have made yourself deliciously vulnerable.
- human_move_good: Cruel in the right way.
- lose_match: Someone else found the prettier wound.
- lose_tournament: Someone else was more artful.
- my_turn: I see something fragile.
- start_match: Let us find a weakness worth admiring.
- taunt: You left that exposed. How kind.
- thinking: Every shape hides a bruise.
- tile_place: A tile to complicate the future.
- token_place: A little claim with sharp edges.
- win_match: A satisfying result.
- win_tournament: A whole table of pleasing collapses.

Personality

Files found in personality/

macuiltochtli.html
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Macuiltochtli 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>
      &nbsp;&nbsp;Trigame&nbsp;&nbsp;
      <a href="index.html" class="btnlink btn-red">Fluffle Guide</a>
      &nbsp;&nbsp;
      <a href="../../about.html" class="navbtn" style="color:#ff8080;">About</a>
      &nbsp;&nbsp;
      <a href="../../help.html" class="btnlink btn-yellow">Instructions &middot; Help</a>
      &nbsp;&nbsp;
      <a href="../../problem.html" class="navbtn" style="color:#ffd580;">Single-Tile Problem</a>
      &nbsp;&nbsp;
      <a href="../../trigame.html" class="btnlink btn-play"><img src="../../images/trigame002.jpg" width="80" style="vertical-align:middle;">&nbsp;&nbsp;PLAY&nbsp;&nbsp;</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/macuiltochtli.jpg" width="200" style="border-radius:12px; border:2px solid rgba(255,255,0,.18);" align="right">
<h1>Macuiltochtli Rusty Rabbit</h1>
<p><strong>Core identity:</strong> Dangerous, weird, disruptive, with a strong denial play style.</p>

<div class="box">
  <strong>Personality sketch</strong><br>
  Macuiltochtli is unsettling by design: disruptive, sideways, and hard to trust. This rabbit often seems to enjoy denying the board to others, twisting expected play, and making the match feel unstable on purpose.
</div>

<div class="box">
  <strong>What this page is for</strong><br>
  Use this as a plain-language companion while tweaking <code>macuiltochtli.js</code>.
</div>

<h2>Working notes</h2>
<ul><li>This page is a working note page, not a final technical reading of the JS.</li><li>Choose whether this rabbit should be ceremonial, tricky, or explosively swingy.</li><li>Use tournaments, not theory alone, to decide where he belongs in the ladder.</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>Swingy play, unusual routes, ritual feel</td></tr><tr><th>Danger sign</th><td>If he feels generic, he needs a sharper hook</td></tr></table>

<h2>Starter recipe</h2>
<div class="box good">Pick one memorable behavior and over-emphasize it before balancing.</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 macuiltochtli.js</h3>
<pre id="jsview"></pre>

<pre id="jsview"></pre>
<script>
fetch('macuiltochtli.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 macuiltochtli.js\n' + err;
  });
</script>

<p class="small"><a href="index.html">Back to companion index</a></p>
</div>
</div></div>
</body></html>
macuiltochtli.js
(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: 9,
    id: "macuiltochtli",
    label: "Macuiltochtli",
    scoreAction(ctx){
      let score = 0;
      if(ctx.action.type === 'eraseToken') score += 18;
      if(ctx.action.type === 'tile') score += 12;
      if(ctx.action.type === 'token') score += 8;
      return score;
    }
  });
})();
register_block.txt
level: 9,
    id: "macuiltochtli",
    label: "Macuiltochtli",
    scoreAction(ctx){
      let score = 0;
      if(ctx.action.type === 'eraseToken') score += 18;
      if(ctx.action.type === 'tile') score += 12;
      if(ctx.action.type === 'token') score += 8;
      return score;
    }

Voices

Files found in voices/

macuiltochtli.js
window.TRIGAME_VOICES = window.TRIGAME_VOICES || {};
window.TRIGAME_VOICES["macuiltochtli"] = {
  "start_match": [
    "Let us find a weakness worth admiring.",
    "I hope someone gives me a seam to worry open.",
    "A fresh board and so many possible mistakes.",
    "Please, be interesting.",
    "Let us find a weakness worth admiring There is work to do.",
    "I hope someone gives me a seam to worry open A fresh beginning seldom stays innocent.",
    "Let us find a weakness worth admiring The board seems awake.",
    "A fresh board and so many possible mistakes The board seems awake.",
    "Let us find a weakness worth admiring A fresh beginning seldom stays innocent.",
    "I hope someone gives me a seam to worry open I intend to set the tone.",
    "A fresh board and so many possible mistakes I intend to set the tone.",
    "A fresh board and so many possible mistakes A fresh beginning seldom stays innocent."
  ],
  "my_turn": [
    "I see something fragile.",
    "Now for the little incision.",
    "A delicate cruelty, perhaps.",
    "Let us improve this for me.",
    "A delicate cruelty, perhaps I am ready.",
    "I see something fragile Let us continue.",
    "Now for the little incision Let us continue.",
    "I see something fragile The next choice matters.",
    "Let us improve this for me I am ready.",
    "I see something fragile This move will say something.",
    "A delicate cruelty, perhaps This move will say something.",
    "Let us improve this for me The next choice matters."
  ],
  "thinking": [
    "Every shape hides a bruise.",
    "People call it chaos when they do not understand pressure.",
    "There is always a sweeter wound.",
    "I am merely choosing which weakness to love.",
    "Every shape hides a bruise The answer is in the shape.",
    "Every shape hides a bruise There is more here than first appears.",
    "There is always a sweeter wound There is more here than first appears.",
    "I am merely choosing which weakness to love The position is speaking plainly enough.",
    "Every shape hides a bruise The position is speaking plainly enough.",
    "People call it chaos when they do not understand pressure There is more here than first appears.",
    "There is always a sweeter wound A small clue changes everything.",
    "There is always a sweeter wound The position is speaking plainly enough."
  ],
  "good_move": [
    "Lovely.",
    "That should ache later.",
    "A tasteful little injury.",
    "I do appreciate a line that fails gracefully.",
    "A tasteful little injury I can use this.",
    "That should ache later That should matter later.",
    "I do appreciate a line that fails gracefully The shape tightened in my favor.",
    "I do appreciate a line that fails gracefully I can use this.",
    "I do appreciate a line that fails gracefully The board approves.",
    "Lovely The board approves.",
    "Lovely The shape tightened in my favor.",
    "That should ache later The shape tightened in my favor."
  ],
  "bad_move": [
    "Unlovely.",
    "That was cruder than I enjoy.",
    "I prefer my mistakes less visible.",
    "A disappointing cut.",
    "I prefer my mistakes less visible I will not repeat it.",
    "That was cruder than I enjoy A correction will be needed.",
    "A disappointing cut I will not repeat it.",
    "A disappointing cut A correction will be needed.",
    "Unlovely I will not repeat it.",
    "I prefer my mistakes less visible It looked better a breath ago.",
    "Unlovely That opened the wrong door.",
    "A disappointing cut That opened the wrong door."
  ],
  "bonus_move": [
    "Ah, more room to misbehave.",
    "One more? Delightful.",
    "The board is being generous.",
    "I can make this uglier yet.",
    "I can make this uglier yet Opportunity compounds quickly.",
    "I can make this uglier yet I should make this count.",
    "Ah, more room to misbehave Extra time is dangerous.",
    "One more? Delightful That changes the rhythm.",
    "Ah, more room to misbehave That changes the rhythm.",
    "The board is being generous I should make this count.",
    "The board is being generous Opportunity compounds quickly.",
    "Ah, more room to misbehave I should make this count."
  ],
  "tile_place": [
    "A tile to complicate the future.",
    "Fresh structure, fresh wounds.",
    "Let us build something vulnerable.",
    "Another stage for damage.",
    "Another stage for damage That should open something useful.",
    "Fresh structure, fresh wounds The future will care about that tile.",
    "Another stage for damage The future will care about that tile.",
    "Let us build something vulnerable The future will care about that tile.",
    "A tile to complicate the future That should open something useful.",
    "A tile to complicate the future The future will care about that tile.",
    "Let us build something vulnerable This changes the map.",
    "Another stage for damage A new foundation always matters."
  ],
  "token_place": [
    "A little claim with sharp edges.",
    "This point will sour nicely.",
    "Mine, for now.",
    "A subtle hook.",
    "Mine, for now That point carries weight.",
    "This point will sour nicely That point will matter.",
    "Mine, for now That point will matter.",
    "A little claim with sharp edges That point carries weight.",
    "This point will sour nicely That point carries weight.",
    "Mine, for now Claims should be deliberate.",
    "A little claim with sharp edges Claims should be deliberate.",
    "This point will sour nicely A small mark can decide a game."
  ],
  "erase": [
    "I remove what offends me.",
    "That support looked too comfortable.",
    "Let it vanish.",
    "A tasteful subtraction.",
    "I remove what offends me Less can be more lethal.",
    "That support looked too comfortable Less can be more lethal.",
    "That support looked too comfortable Sometimes removal is cleaner.",
    "I remove what offends me Subtraction has its uses.",
    "A tasteful subtraction Less can be more lethal.",
    "That support looked too comfortable Not everything deserves to remain.",
    "That support looked too comfortable Subtraction has its uses.",
    "A tasteful subtraction Sometimes removal is cleaner."
  ],
  "capture": [
    "There it is.",
    "I knew that would tear.",
    "Such a pretty collapse.",
    "Thank you for the opening.",
    "Thank you for the opening The shape has paid out.",
    "I knew that would tear A good conversion.",
    "Thank you for the opening A good conversion.",
    "Such a pretty collapse The shape has paid out.",
    "I knew that would tear The board finally yielded.",
    "Such a pretty collapse The board finally yielded.",
    "Such a pretty collapse A good conversion.",
    "Such a pretty collapse That was worth taking."
  ],
  "ahead": [
    "Do not rush the finishing cut.",
    "A lead is best savored carefully.",
    "Now I make them choose badly.",
    "Pressure ripens when left alone.",
    "Now I make them choose badly Now the board tests restraint.",
    "Pressure ripens when left alone This is where composure matters.",
    "Pressure ripens when left alone A lead needs discipline.",
    "Do not rush the finishing cut A lead needs discipline.",
    "Pressure ripens when left alone Pressure should increase from here.",
    "A lead is best savored carefully This is where composure matters.",
    "Now I make them choose badly Pressure should increase from here.",
    "Do not rush the finishing cut This is where composure matters."
  ],
  "behind": [
    "Then I need a better weakness.",
    "Someone still has a seam showing.",
    "I can wound my way back.",
    "No panic. Only sharper taste.",
    "Someone still has a seam showing There is still leverage here.",
    "I can wound my way back Recovery is a technical art.",
    "Then I need a better weakness One turn can reverse plenty.",
    "No panic. Only sharper taste One turn can reverse plenty.",
    "I can wound my way back There is still leverage here.",
    "No panic. Only sharper taste Recovery is a technical art.",
    "No panic. Only sharper taste Pressure can be rebuilt.",
    "Then I need a better weakness There is still leverage here."
  ],
  "taunt": [
    "You left that exposed. How kind.",
    "I admire your generosity toward my position.",
    "A softer target than I expected.",
    "You should have hidden that better.",
    "A softer target than I expected That was generous of you.",
    "You should have hidden that better That was generous of you.",
    "I admire your generosity toward my position Some mistakes deserve immediate attention.",
    "You left that exposed. How kind That was generous of you.",
    "I admire your generosity toward my position I thank you for the opening.",
    "You should have hidden that better I thank you for the opening.",
    "You should have hidden that better Some mistakes deserve immediate attention.",
    "You left that exposed. How kind Some mistakes deserve immediate attention."
  ],
  "human_move_good": [
    "Cruel in the right way.",
    "That had bite.",
    "A respectable little incision.",
    "You may yet become dangerous.",
    "You may yet become dangerous Well chosen.",
    "Cruel in the right way Well chosen.",
    "A respectable little incision I noticed that.",
    "A respectable little incision You understood the moment.",
    "A respectable little incision Well chosen.",
    "That had bite I noticed that.",
    "That had bite You understood the moment.",
    "You may yet become dangerous I noticed that."
  ],
  "human_move_bad": [
    "You have made yourself deliciously vulnerable.",
    "I will remember that weakness.",
    "Too soft.",
    "You invited me in.",
    "Too soft You should have reconsidered.",
    "I will remember that weakness That weakens your case.",
    "Too soft That weakens your case.",
    "You invited me in That will be remembered.",
    "You have made yourself deliciously vulnerable That weakens your case.",
    "You invited me in You should have reconsidered.",
    "I will remember that weakness That will be remembered.",
    "Too soft I saw what you gave up."
  ],
  "close_game": [
    "Late games are for precise cruelty.",
    "One more good cut should do.",
    "The board is brittle now.",
    "Everything cracks more easily at the end.",
    "Late games are for precise cruelty The ending has begun.",
    "The board is brittle now A single detail may decide it.",
    "Late games are for precise cruelty A single detail may decide it.",
    "Everything cracks more easily at the end The ending has begun.",
    "One more good cut should do A single detail may decide it.",
    "Late games are for precise cruelty The margin is thin now.",
    "One more good cut should do The margin is thin now.",
    "Late games are for precise cruelty There is no room left for vanity."
  ],
  "win_match": [
    "A satisfying result.",
    "That came apart beautifully.",
    "I do enjoy a clean ruin.",
    "You were kind enough to break correctly.",
    "That came apart beautifully The board closed in my favor.",
    "A satisfying result That concluded acceptably.",
    "You were kind enough to break correctly A useful result.",
    "That came apart beautifully A useful result.",
    "You were kind enough to break correctly I will keep that one.",
    "A satisfying result A useful result.",
    "That came apart beautifully I will keep that one.",
    "I do enjoy a clean ruin The board closed in my favor."
  ],
  "lose_match": [
    "Someone else found the prettier wound.",
    "I was outcut.",
    "A pity. That should have been mine.",
    "Next time I choose the weakness first.",
    "Next time I choose the weakness first So be it.",
    "A pity. That should have been mine The next board will be less forgiving.",
    "Next time I choose the weakness first The next board will be less forgiving.",
    "Someone else found the prettier wound The next board will be less forgiving.",
    "A pity. That should have been mine That outcome is informative.",
    "Someone else found the prettier wound That outcome is informative.",
    "Next time I choose the weakness first I have taken notes.",
    "I was outcut I have taken notes."
  ],
  "win_tournament": [
    "A whole table of pleasing collapses.",
    "They broke in useful ways.",
    "The long game rewards good taste.",
    "What a charming set of failures.",
    "What a charming set of failures A fine total in the end.",
    "They broke in useful ways A fine total in the end.",
    "The long game rewards good taste The longer arc favored me.",
    "They broke in useful ways The longer arc favored me.",
    "A whole table of pleasing collapses The longer arc favored me.",
    "What a charming set of failures The longer arc favored me.",
    "The long game rewards good taste Consistency has its rewards.",
    "What a charming set of failures Consistency has its rewards."
  ],
  "lose_tournament": [
    "Someone else was more artful.",
    "I leave unsatisfied.",
    "The field resisted me more than I liked.",
    "Next time I cut deeper.",
    "I leave unsatisfied The long arc bent elsewhere.",
    "I leave unsatisfied I will amend that result later.",
    "I leave unsatisfied The table owes me another try.",
    "Next time I cut deeper The table owes me another try.",
    "The field resisted me more than I liked The table owes me another try.",
    "I leave unsatisfied Not the final word.",
    "The field resisted me more than I liked I will amend that result later.",
    "Someone else was more artful I will amend that result later."
  ]
};
macuiltochtli.json
{
  "start_match": [
    "Let us find a weakness worth admiring.",
    "I hope someone gives me a seam to worry open.",
    "A fresh board and so many possible mistakes.",
    "Please, be interesting.",
    "Let us find a weakness worth admiring There is work to do.",
    "I hope someone gives me a seam to worry open A fresh beginning seldom stays innocent.",
    "Let us find a weakness worth admiring The board seems awake.",
    "A fresh board and so many possible mistakes The board seems awake.",
    "Let us find a weakness worth admiring A fresh beginning seldom stays innocent.",
    "I hope someone gives me a seam to worry open I intend to set the tone.",
    "A fresh board and so many possible mistakes I intend to set the tone.",
    "A fresh board and so many possible mistakes A fresh beginning seldom stays innocent."
  ],
  "my_turn": [
    "I see something fragile.",
    "Now for the little incision.",
    "A delicate cruelty, perhaps.",
    "Let us improve this for me.",
    "A delicate cruelty, perhaps I am ready.",
    "I see something fragile Let us continue.",
    "Now for the little incision Let us continue.",
    "I see something fragile The next choice matters.",
    "Let us improve this for me I am ready.",
    "I see something fragile This move will say something.",
    "A delicate cruelty, perhaps This move will say something.",
    "Let us improve this for me The next choice matters."
  ],
  "thinking": [
    "Every shape hides a bruise.",
    "People call it chaos when they do not understand pressure.",
    "There is always a sweeter wound.",
    "I am merely choosing which weakness to love.",
    "Every shape hides a bruise The answer is in the shape.",
    "Every shape hides a bruise There is more here than first appears.",
    "There is always a sweeter wound There is more here than first appears.",
    "I am merely choosing which weakness to love The position is speaking plainly enough.",
    "Every shape hides a bruise The position is speaking plainly enough.",
    "People call it chaos when they do not understand pressure There is more here than first appears.",
    "There is always a sweeter wound A small clue changes everything.",
    "There is always a sweeter wound The position is speaking plainly enough."
  ],
  "good_move": [
    "Lovely.",
    "That should ache later.",
    "A tasteful little injury.",
    "I do appreciate a line that fails gracefully.",
    "A tasteful little injury I can use this.",
    "That should ache later That should matter later.",
    "I do appreciate a line that fails gracefully The shape tightened in my favor.",
    "I do appreciate a line that fails gracefully I can use this.",
    "I do appreciate a line that fails gracefully The board approves.",
    "Lovely The board approves.",
    "Lovely The shape tightened in my favor.",
    "That should ache later The shape tightened in my favor."
  ],
  "bad_move": [
    "Unlovely.",
    "That was cruder than I enjoy.",
    "I prefer my mistakes less visible.",
    "A disappointing cut.",
    "I prefer my mistakes less visible I will not repeat it.",
    "That was cruder than I enjoy A correction will be needed.",
    "A disappointing cut I will not repeat it.",
    "A disappointing cut A correction will be needed.",
    "Unlovely I will not repeat it.",
    "I prefer my mistakes less visible It looked better a breath ago.",
    "Unlovely That opened the wrong door.",
    "A disappointing cut That opened the wrong door."
  ],
  "bonus_move": [
    "Ah, more room to misbehave.",
    "One more? Delightful.",
    "The board is being generous.",
    "I can make this uglier yet.",
    "I can make this uglier yet Opportunity compounds quickly.",
    "I can make this uglier yet I should make this count.",
    "Ah, more room to misbehave Extra time is dangerous.",
    "One more? Delightful That changes the rhythm.",
    "Ah, more room to misbehave That changes the rhythm.",
    "The board is being generous I should make this count.",
    "The board is being generous Opportunity compounds quickly.",
    "Ah, more room to misbehave I should make this count."
  ],
  "tile_place": [
    "A tile to complicate the future.",
    "Fresh structure, fresh wounds.",
    "Let us build something vulnerable.",
    "Another stage for damage.",
    "Another stage for damage That should open something useful.",
    "Fresh structure, fresh wounds The future will care about that tile.",
    "Another stage for damage The future will care about that tile.",
    "Let us build something vulnerable The future will care about that tile.",
    "A tile to complicate the future That should open something useful.",
    "A tile to complicate the future The future will care about that tile.",
    "Let us build something vulnerable This changes the map.",
    "Another stage for damage A new foundation always matters."
  ],
  "token_place": [
    "A little claim with sharp edges.",
    "This point will sour nicely.",
    "Mine, for now.",
    "A subtle hook.",
    "Mine, for now That point carries weight.",
    "This point will sour nicely That point will matter.",
    "Mine, for now That point will matter.",
    "A little claim with sharp edges That point carries weight.",
    "This point will sour nicely That point carries weight.",
    "Mine, for now Claims should be deliberate.",
    "A little claim with sharp edges Claims should be deliberate.",
    "This point will sour nicely A small mark can decide a game."
  ],
  "erase": [
    "I remove what offends me.",
    "That support looked too comfortable.",
    "Let it vanish.",
    "A tasteful subtraction.",
    "I remove what offends me Less can be more lethal.",
    "That support looked too comfortable Less can be more lethal.",
    "That support looked too comfortable Sometimes removal is cleaner.",
    "I remove what offends me Subtraction has its uses.",
    "A tasteful subtraction Less can be more lethal.",
    "That support looked too comfortable Not everything deserves to remain.",
    "That support looked too comfortable Subtraction has its uses.",
    "A tasteful subtraction Sometimes removal is cleaner."
  ],
  "capture": [
    "There it is.",
    "I knew that would tear.",
    "Such a pretty collapse.",
    "Thank you for the opening.",
    "Thank you for the opening The shape has paid out.",
    "I knew that would tear A good conversion.",
    "Thank you for the opening A good conversion.",
    "Such a pretty collapse The shape has paid out.",
    "I knew that would tear The board finally yielded.",
    "Such a pretty collapse The board finally yielded.",
    "Such a pretty collapse A good conversion.",
    "Such a pretty collapse That was worth taking."
  ],
  "ahead": [
    "Do not rush the finishing cut.",
    "A lead is best savored carefully.",
    "Now I make them choose badly.",
    "Pressure ripens when left alone.",
    "Now I make them choose badly Now the board tests restraint.",
    "Pressure ripens when left alone This is where composure matters.",
    "Pressure ripens when left alone A lead needs discipline.",
    "Do not rush the finishing cut A lead needs discipline.",
    "Pressure ripens when left alone Pressure should increase from here.",
    "A lead is best savored carefully This is where composure matters.",
    "Now I make them choose badly Pressure should increase from here.",
    "Do not rush the finishing cut This is where composure matters."
  ],
  "behind": [
    "Then I need a better weakness.",
    "Someone still has a seam showing.",
    "I can wound my way back.",
    "No panic. Only sharper taste.",
    "Someone still has a seam showing There is still leverage here.",
    "I can wound my way back Recovery is a technical art.",
    "Then I need a better weakness One turn can reverse plenty.",
    "No panic. Only sharper taste One turn can reverse plenty.",
    "I can wound my way back There is still leverage here.",
    "No panic. Only sharper taste Recovery is a technical art.",
    "No panic. Only sharper taste Pressure can be rebuilt.",
    "Then I need a better weakness There is still leverage here."
  ],
  "taunt": [
    "You left that exposed. How kind.",
    "I admire your generosity toward my position.",
    "A softer target than I expected.",
    "You should have hidden that better.",
    "A softer target than I expected That was generous of you.",
    "You should have hidden that better That was generous of you.",
    "I admire your generosity toward my position Some mistakes deserve immediate attention.",
    "You left that exposed. How kind That was generous of you.",
    "I admire your generosity toward my position I thank you for the opening.",
    "You should have hidden that better I thank you for the opening.",
    "You should have hidden that better Some mistakes deserve immediate attention.",
    "You left that exposed. How kind Some mistakes deserve immediate attention."
  ],
  "human_move_good": [
    "Cruel in the right way.",
    "That had bite.",
    "A respectable little incision.",
    "You may yet become dangerous.",
    "You may yet become dangerous Well chosen.",
    "Cruel in the right way Well chosen.",
    "A respectable little incision I noticed that.",
    "A respectable little incision You understood the moment.",
    "A respectable little incision Well chosen.",
    "That had bite I noticed that.",
    "That had bite You understood the moment.",
    "You may yet become dangerous I noticed that."
  ],
  "human_move_bad": [
    "You have made yourself deliciously vulnerable.",
    "I will remember that weakness.",
    "Too soft.",
    "You invited me in.",
    "Too soft You should have reconsidered.",
    "I will remember that weakness That weakens your case.",
    "Too soft That weakens your case.",
    "You invited me in That will be remembered.",
    "You have made yourself deliciously vulnerable That weakens your case.",
    "You invited me in You should have reconsidered.",
    "I will remember that weakness That will be remembered.",
    "Too soft I saw what you gave up."
  ],
  "close_game": [
    "Late games are for precise cruelty.",
    "One more good cut should do.",
    "The board is brittle now.",
    "Everything cracks more easily at the end.",
    "Late games are for precise cruelty The ending has begun.",
    "The board is brittle now A single detail may decide it.",
    "Late games are for precise cruelty A single detail may decide it.",
    "Everything cracks more easily at the end The ending has begun.",
    "One more good cut should do A single detail may decide it.",
    "Late games are for precise cruelty The margin is thin now.",
    "One more good cut should do The margin is thin now.",
    "Late games are for precise cruelty There is no room left for vanity."
  ],
  "win_match": [
    "A satisfying result.",
    "That came apart beautifully.",
    "I do enjoy a clean ruin.",
    "You were kind enough to break correctly.",
    "That came apart beautifully The board closed in my favor.",
    "A satisfying result That concluded acceptably.",
    "You were kind enough to break correctly A useful result.",
    "That came apart beautifully A useful result.",
    "You were kind enough to break correctly I will keep that one.",
    "A satisfying result A useful result.",
    "That came apart beautifully I will keep that one.",
    "I do enjoy a clean ruin The board closed in my favor."
  ],
  "lose_match": [
    "Someone else found the prettier wound.",
    "I was outcut.",
    "A pity. That should have been mine.",
    "Next time I choose the weakness first.",
    "Next time I choose the weakness first So be it.",
    "A pity. That should have been mine The next board will be less forgiving.",
    "Next time I choose the weakness first The next board will be less forgiving.",
    "Someone else found the prettier wound The next board will be less forgiving.",
    "A pity. That should have been mine That outcome is informative.",
    "Someone else found the prettier wound That outcome is informative.",
    "Next time I choose the weakness first I have taken notes.",
    "I was outcut I have taken notes."
  ],
  "win_tournament": [
    "A whole table of pleasing collapses.",
    "They broke in useful ways.",
    "The long game rewards good taste.",
    "What a charming set of failures.",
    "What a charming set of failures A fine total in the end.",
    "They broke in useful ways A fine total in the end.",
    "The long game rewards good taste The longer arc favored me.",
    "They broke in useful ways The longer arc favored me.",
    "A whole table of pleasing collapses The longer arc favored me.",
    "What a charming set of failures The longer arc favored me.",
    "The long game rewards good taste Consistency has its rewards.",
    "What a charming set of failures Consistency has its rewards."
  ],
  "lose_tournament": [
    "Someone else was more artful.",
    "I leave unsatisfied.",
    "The field resisted me more than I liked.",
    "Next time I cut deeper.",
    "I leave unsatisfied The long arc bent elsewhere.",
    "I leave unsatisfied I will amend that result later.",
    "I leave unsatisfied The table owes me another try.",
    "Next time I cut deeper The table owes me another try.",
    "The field resisted me more than I liked The table owes me another try.",
    "I leave unsatisfied Not the final word.",
    "The field resisted me more than I liked I will amend that result later.",
    "Someone else was more artful I will amend that result later."
  ]
}
voice_summary.csv
RabbitID,VoiceCategory,LineCount,SampleLine
macuiltochtli,start_match,12,Let us find a weakness worth admiring.
macuiltochtli,my_turn,12,I see something fragile.
macuiltochtli,thinking,12,Every shape hides a bruise.
macuiltochtli,good_move,12,Lovely.
macuiltochtli,bad_move,12,Unlovely.
macuiltochtli,bonus_move,12,"Ah, more room to misbehave."
macuiltochtli,tile_place,12,A tile to complicate the future.
macuiltochtli,token_place,12,A little claim with sharp edges.
macuiltochtli,erase,12,I remove what offends me.
macuiltochtli,capture,12,There it is.
macuiltochtli,ahead,12,Do not rush the finishing cut.
macuiltochtli,behind,12,Then I need a better weakness.
macuiltochtli,taunt,12,You left that exposed. How kind.
macuiltochtli,human_move_good,12,Cruel in the right way.
macuiltochtli,human_move_bad,12,You have made yourself deliciously vulnerable.
macuiltochtli,close_game,12,Late games are for precise cruelty.
macuiltochtli,win_match,12,A satisfying result.
macuiltochtli,lose_match,12,Someone else found the prettier wound.
macuiltochtli,win_tournament,12,A whole table of pleasing collapses.
macuiltochtli,lose_tournament,12,Someone else was more artful.