付録C_相性の固定文

付録C 相性の固定文

算命学ロジック完全仕様 §17 の付録。相性の読み方に使う固定文の原文。AIは使っておらず、組み合わせで文章を作る。

本編(共有ページ)

一字一句そのまま使う

句読点・「、」「。」の有無・全角括弧まで、そのまま。

C.1 REL_TEXT・REL_MODE_TEXT・TCS_TEXT・TCS_MODE_TEXT・ISOU_TEXT・ROLE_TEXT・SHINKYO_PAIR・AISHO_MODES

engine.js の「相性の読み方」の節(1016〜1120行目)を、そのまま写したもの。aisho() の reading はこれらを材料にする。

  // ===== 相性の読み方(機械的な固定文)=====
  // AI に書かせると学習データ由来の作り話が混ざるので、判定結果に対する説明は
  // すべてここに固定文として持ち、組み合わせで出す。
  const REL_TEXT = {
    同質: { short: '同', label: '同質', desc: '似た者同士。考え方が近く話が早い。ただし役割がかぶりやすく、同じ場面で競合しやすい' },
    育てる: { short: '育', label: '育てる', desc: 'あなたが相手に与える側。教える・任せる・引き上げると活きる。与えすぎると自分が消耗しやすい' },
    支えられる: { short: '受', label: '支えられる', desc: '相手があなたを支える側。頼る・学ぶと回る。遠慮すると関係が動きにくい' },
    動かす: { short: '推', label: '動かす', desc: 'あなたが相手を引き締める側。依頼や要求が通りやすい。強く出すぎると相手が萎縮する' },
    動かされる: { short: '被', label: '動かされる', desc: '相手があなたを動かす側。課題や刺激をもらえる。圧に感じたら距離と頻度を調整する' },
  };

  // 同じ関係でも、何の間柄かで気をつける所が変わる。かたち別×間柄別の言い方。
  const REL_MODE_TEXT = {
    同質: {
      business: '役割を明確に分けないと同じ仕事を取り合う。担当を先に線引きし、決裁者をどちらかに寄せると回る',
      love: '価値観が近く一緒にいて楽。ただし似た弱点も重なるので、苦手なことを外に任せる工夫がいる',
      friend: '趣味も間合いも合いやすい。長く続くが、同じ相手とばかり組むと世界が広がりにくい',
    },
    育てる: {
      business: 'あなたが出資・発注・教育の側に回ると噛み合う。見返りの取り決めを先に決めないと持ち出しになる',
      love: 'あなたが尽くす形になりやすい。相手の成長は早いが、無理をして与え続けると急に冷める',
      friend: '相談される側になりやすい。頼られるのは信頼の証だが、聞き役だけにならないよう自分の話もする',
    },
    支えられる: {
      business: '相手を後ろ盾や仕入れ元に据えると強い。任せきりにせず、成果と情報はこまめに返すこと',
      love: '甘えられる相手。遠慮すると関係が進まないので、素直に頼るほうがうまくいく',
      friend: '困ったときに助けてくれる相手。もらう一方にならないよう、別の形で返すと長続きする',
    },
    動かす: {
      business: '発注側・管理側が向く。指示は通るが、細かく詰めすぎると相手が動けなくなる',
      love: '主導権を持ちやすい。決めるのが早い反面、相手の言い分を聞く時間を意識して取ること',
      friend: 'あなたが誘って動き出す関係。強く押しすぎると相手が黙って離れるので、断る余地を残す',
    },
    動かされる: {
      business: '相手の要求で鍛えられる。条件と納期を明文化しておかないと、こちらの負担が膨らむ',
      love: '刺激は多いが振り回されやすい。会う頻度と連絡の間隔を自分で決めておくと保つ',
      friend: '背中を押してくれる相手。しんどいときは距離を取ってよい、と最初から思っておく',
    },
  };

  // 天中殺の関わり方も、間柄で意味が変わる
  const TCS_MODE_TEXT = {
    same: {
      business: '同じ時期に同じ弱点が出る。二人だけで事業を回さず、天中殺の年をずらせる第三者を入れておく',
      love: '価値観が深く合う。ただし停滞期が重なるので、その時期に大きな決断をしないと決めておく',
      friend: '一緒にいて楽な相手。落ち込む時期も重なるので、互いに引きずられないよう気をつける',
    },
    bInA: {
      business: '相手に惹かれて条件を甘くしがち。金銭と契約は必ず書面にし、第三者に見てもらうこと',
      love: '強く惹かれるが、振り回されやすい組み合わせ。冷静な時期に条件をすり合わせておく',
      friend: '面白い相手だが、こちらのペースが崩れやすい。付き合う頻度は自分で決めておく',
    },
    aInB: {
      business: '相手があなたに寄りかかってくる。頼られる範囲を先に決めておかないと抱え込む',
      love: '相手から強く求められる関係。応えきれない部分は早めに伝えたほうが後が楽',
      friend: '相手にとって特別な存在になりやすい。無理な期待には線を引いてよい',
    },
    none: {
      business: '天中殺の絡みはない。条件と役割で判断できる、扱いやすい間柄',
      love: '天中殺の絡みはない。過度な引力も反発もなく、落ち着いて進められる',
      friend: '天中殺の絡みはない。距離感を保ちやすく、長く付き合いやすい',
    },
  };
  const AISHO_MODES = [
    { key: 'general', label: '一般' },
    { key: 'business', label: '事業' },
    { key: 'love', label: '恋愛' },
    { key: 'friend', label: '友人' },
  ];
  const TCS_TEXT = {
    same: '2人とも同じ天中殺。運気の谷が同じ時期に来るので、その2年は2人だけで大きな決断をしない方がよい',
    bInA: '相手の日支があなたの天中殺に当たる。惹かれやすい一方で振り回されやすい',
    aInB: 'あなたの日支が相手の天中殺に当たる。相手から見て掴みどころのない存在になりやすい',
    none: '天中殺の重なりはなし',
  };
  const ISOU_TEXT = {
    支合: '引き合う関係。自然と距離が近くなる',
    半会: '同じ方向を向きやすい。共同作業に向く',
    冲: 'ぶつかりやすいが動きも生まれる。緊張感のある関係',
    刑: '摩擦が起きやすい。役割と責任をはっきり決めておくとよい',
    害: '細かいすれ違いが起きやすい。こまめに確認するとよい',
    破: '途中で崩れやすい。節目ごとに合意を取り直すとよい',
    比和: '同じ支どうし。共感しやすいが視点も重なる',
    自刑: '同じ支どうしで、こだわりが強く出やすい組み合わせ',
  };
  // 中心(中央)の星から見た、チームでの役割
  const ROLE_TEXT = {
    貫索星: '一人で貫く力。自分の領域を任せると強い',
    石門星: '人を束ねる力。チームをまとめる位置が向く',
    鳳閣星: '場を和ませ、伝える力。対外的な窓口や広報に向く',
    調舒星: '繊細な感性。細部を詰める、作品や文章を作る役に向く',
    禄存星: '人と縁を集める力。営業や世話役、資金を回す役に向く',
    司禄星: 'こつこつ積み上げる力。実務・管理・経理に向く',
    車騎星: '前に出て動かす力。実行部隊、突破口を開く役に向く',
    牽牛星: '責任感と体面。組織の顔、対外的な折衝や調整に向く',
    龍高星: '好奇心と創造。新しい仕組みを作る、企画・開発に向く',
    玉堂星: '知性と理論。分析、教育、仕組みの言語化に向く',
  };
  const SHINKYO_PAIR = {
    '身強×身強': 'どちらも押しが強い。担当領域を分けると衝突しにくい',
    '身強×身弱': '押す人と受ける人。役割が自然に分かれやすい',
    '身弱×身強': '押す人と受ける人。役割が自然に分かれやすい',
    '身弱×身弱': 'どちらも内に向く。決める人を先に決めておくと進む',
  };

C.2 aisho_detail.js 全文(「詳しく読む」)

D_KIND・D_SK・D_BOND・D_FRICTION・D_TCS・D_TITLES と、それを並べる buildAishoDetail(ai, mode)。

関数の部分は本編 §17.2 の擬似コードと同じ内容

末尾の buildAishoDetail は本編 §17.2 と同じことをしている。表(D_*)は一字一句この通りに、関数は §17.2 から書いても、ここから移植してもよい(食い違いがあれば、このコードが正)。

/**
 * 相性の「詳しく読む」用の本文。
 *
 * 命式から機械的に決まる5つの手がかり
 *   ① 五行のかたち(同質/育てる/支えられる/動かす/動かされる)
 *   ② 身強・身弱の組み合わせ
 *   ③ 共通の星と日干の干合
 *   ④ 支の位相法(かみ合う/ぶつかる)
 *   ⑤ 天中殺の絡み方
 * について、間柄(一般・事業・恋愛・友人)ごとに別の文を用意してある。
 * AI には書かせていない。同じ手がかりでも間柄で見る所が変わるので、そこを書き分けている。
 *
 * このファイルは engine.js の中に読み込まれる(build.py が同じ塊にまとめる)。
 */

// ① 五行のかたち
const D_KIND = {
  general: {
    同質: '同じ五行どうし。感じ方も反応の速さも近いので、説明しなくても伝わる場面が多い。反面、得意も苦手も重なるため、どちらかが不得手なことは二人とも避けてしまいがち。第三者の視点を入れると穴が埋まる。',
    育てる: 'あなたの気が相手に流れていく関係。あなたが与え、相手が受け取る形が自然で、相手はあなたのそばで伸びやすい。ただし流れは一方通行なので、返ってくるものを期待しすぎると消耗する。',
    支えられる: '相手の気があなたに流れてくる関係。相手といると力が湧き、判断も速くなる。遠慮して受け取らないでいると、相手は「必要とされていない」と感じて離れていく。',
    動かす: 'あなたが相手を締める側。あなたの一言で相手が動くので、物事は前に進む。強く出るほど相手は縮こまるので、加減がそのまま関係の質になる。',
    動かされる: '相手があなたを締める側。放っておけない相手で、こちらの怠けも見抜かれる。鍛えられるが、常時その圧の中にいると疲れるので、離れる時間を意図的に作る。',
  },
  business: {
    同質: '発想も判断も似るので、会議は速いが結論が偏る。同じ市場・同じ手法を選びがちなので、担当領域を先に線引きし、どちらが最終決裁かを決めておくこと。二人だけで完結させず、違うタイプを一人入れると事故が減る。',
    育てる: 'あなたが出す側。出資・発注・教育・のれん貸しのどれかに回ると噛み合う。ただし「出しただけ返る」保証はないので、持ち分・報酬・期限を最初に文書化する。曖昧なまま走ると、あなたの持ち出しで終わる。',
    支えられる: '相手が供給側。仕入れ先・出資者・技術の後ろ盾として置くと強い。任せきりは禁物で、数字と進捗をこまめに返すほど相手は出してくれる。報告が止まった時点で供給も止まると思っておく。',
    動かす: 'あなたが管理・発注側。指示は通り、締切も守らせられる。ただし細部まで詰めると相手の手が止まるので、「何を・いつまでに」だけ決めて手順は任せる。詰めすぎが最大の失点。',
    動かされる: '相手が要求側。無茶な条件を飲まされやすい代わりに、応えるうちに実力が付く。受注範囲・追加費用・納期の3点は必ず書面にすること。口約束だと際限なく広がる。',
  },
  love: {
    同質: '価値観も生活のテンポも近く、一緒にいて疲れない。似ているぶん新鮮さは薄いので、二人とも不得意なこと(金銭管理・人付き合いなど)が手つかずで残りやすい。そこだけ外に頼る形を作れると長い。',
    育てる: 'あなたが与える側。世話を焼き、相手を引き上げる関係になりやすい。相手は伸びるが、あなたが無理を重ねるとある日ふっつり冷める。与える量を自分で決めておくこと。',
    支えられる: '甘えられる相手。頼るほど関係が良くなる珍しい形で、遠慮は逆効果。「これをしてほしい」と言葉にするほど相手は嬉しい。抱え込む癖があるなら、そこを手放すのがこの関係の課題。',
    動かす: 'あなたが主導権を持つ。決断が早く、二人の予定も方針もあなたが引く。ただし相手は言い返さないまま溜め込むので、意識して相手に決めさせる場面を作らないと、ある日まとめて出てくる。',
    動かされる: '相手に振り回される形だが、その刺激が心地よくもある。会う頻度・連絡の間隔・お金の出し方を自分の側で決めておくと保つ。相手のペースに全部合わせると続かない。',
  },
  friend: {
    同質: '間合いも笑いのツボも合うので、放っておいても続く。ただし同じ輪の中で完結しやすく、二人でいると新しい場に出ていかなくなる。たまに別々の場所の話を持ち寄ると鮮度が戻る。',
    育てる: '相談される側になりやすい。教える・紹介する・場を用意するといった関わりが自然に発生する。聞き役に固定されると疲れるので、自分の話もする関係にしておくこと。',
    支えられる: '困ったときに動いてくれる相手。頼ってよいが、もらう一方だと関係が薄くなる。同じ形で返せなくても、別のこと(情報・紹介・時間)で返すと長く続く。',
    動かす: 'あなたが誘って動き出す関係。企画も日程もあなた任せになりやすい。押しが強すぎると相手は黙って距離を取るので、断れる余地のある誘い方をすること。',
    動かされる: '背中を押してくれる相手。新しい場に引っ張り出されるが、こちらの気力が落ちている時期はしんどい。「今回はパス」と言える関係にしておけば、長く付き合える。',
  },
};

// ② 身強・身弱の組み合わせ(自分×相手)
const D_SK = {
  general: {
    強強: 'どちらも押し返す力がある。ぶつかると長引くが、方向が揃えば進みは速い。譲る場面をあらかじめ決めておくと消耗しない。',
    強弱: 'あなたのほうが押しが強い。気づかないうちに相手の言葉を遮っている場合があるので、間を取る意識を。',
    弱強: '相手のほうが押しが強い。飲まれやすいので、決める前に一度持ち帰る癖を付けると対等でいられる。',
    弱弱: 'どちらも押しが弱い。衝突は少ないが、決めごとが宙に浮きやすい。期限を切る役を交代で持つとよい。',
  },
  business: {
    強強: '主導権争いになりやすい。共同代表より、事業ごとに責任者を分けたほうが機能する。持ち株や決裁権は最初に明文化しておくこと。',
    強弱: 'あなたが引っ張る形。相手は反論しないまま従うので、合意したつもりでズレることがある。要点は復唱させて確認する。',
    弱強: '相手が引っ張る形。条件交渉で押し切られやすいので、金額と範囲は即答せず持ち帰る。書面にしてから合意する。',
    弱弱: '二人とも押しが弱く、決断が先送りになりやすい。期限と担当を書き出して、決まらなければ機械的に片方が決めるルールを置く。',
  },
  love: {
    強強: '意地の張り合いになりやすい。どちらも折れないので、冷却期間の長さだけ先に決めておく(「一晩置く」など)と拗れない。',
    強弱: 'あなたが引っ張る。相手は合わせてくれるが、我慢が積もると一気に噴き出す。定期的に相手の希望だけで動く日を作る。',
    弱強: '相手のペースになりやすい。嫌なことを嫌と言えないと続かないので、小さいうちに言う練習を。',
    弱弱: '穏やかだが、進展も遅い。同棲・結婚など節目は、どちらかが期限を切らないと何年も動かない。',
  },
  friend: {
    強強: '対等でいられるが、意見が割れると譲らない。勝ち負けにしないで「今回はそっちで」と流せると長い。',
    強弱: 'あなたが引っ張る側。相手は合わせてくれているだけかもしれないので、たまに相手に決めてもらう。',
    弱強: '相手主導。付いていくのが楽しいうちはよいが、無理が続くなら正直に言ってよい相手。',
    弱弱: '互いに気を遣って予定が決まらない。どちらかが「じゃあこの日」と決め打ちすると動く。',
  },
};

// ③ 通じ合う所(共通の星・干合)
const D_BOND = {
  general: {
    yes: (s) => '「' + s + '」を二人とも持っている。この面では説明がいらないので、話の入口をここに置くと早い。',
    no: '持ち味が重ならない。同じ話題でも見ている所が違うので、前提から言葉にすると通じる。噛み合わないのではなく、担当が違うと考えるとよい。',
    kango: '日干どうしが干合している。理屈より先に「なぜか合う」と感じる組み合わせで、距離が縮まるのが早い。近づきすぎて周りが見えなくなることもあるので、第三者の目を残しておく。',
  },
  business: {
    yes: (s) => '「' + s + '」が共通。この領域は認識合わせが要らないので、ここを二人の共同担当に置くと速い。逆に、ここ以外は説明を省かないこと。',
    no: '強みが被らない。役割分担にはむしろ好都合で、片方の穴をもう片方が埋める形が組める。ただし「言わなくても分かる」は成立しないので、議事録を残す文化にする。',
    kango: '日干が干合。意気投合が早く、勢いで組んでしまいやすい。契約・持ち分・撤退条件を、仲が良いうちに決めておくこと。',
  },
  love: {
    yes: (s) => '「' + s + '」が共通。趣味や休日の過ごし方でこの面が出ると、一緒にいる時間が自然と増える。',
    no: '感じ方の軸が違う。悪いことではなく、相手の反応を「そう来るのか」と面白がれるかどうかで続き方が変わる。察してもらう前提を捨てると楽になる。',
    kango: '日干が干合。惹かれ合いが強く、出会って早い段階で距離が縮む。周りが見えなくなりやすいので、友人の意見を一度は聞いておくとよい。',
  },
  friend: {
    yes: (s) => '「' + s + '」が共通。趣味やノリが合う土台があるので、久しぶりでもすぐ元に戻れる。',
    no: '興味の向きが違う。だからこそ持ち寄る話が新鮮で、長く付き合うほど視野が広がる相手。',
    kango: '日干が干合。妙に馬が合う相手で、初対面から距離が近い。近い関係ほど言い過ぎることがあるので、そこだけ注意。',
  },
};

// ④ 支の関係(かみ合う/ぶつかる)
const D_FRICTION = {
  general: {
    harmony: '支の関係はかみ合う側。一緒にいる時間が長くなるほど落ち着く。安心して停滞することもあるので、外の刺激は自分で取りに行くこと。',
    tension: '支の関係はぶつかる側。摩擦が起きやすいが、そのぶん動きも生まれる。役割と責任の線をはっきりさせておくと、感情の問題になりにくい。',
    none: '支の関係は目立った絡みがない。良くも悪くも引力が弱いので、会う回数や連絡の頻度がそのまま関係の濃さになる。',
  },
  business: {
    harmony: '支がかみ合うので、長期の取引や共同運営に向く。居心地がよく現状維持に流れやすいので、目標と期限は外から入れる。',
    tension: '支がぶつかる。条件交渉や納期でこじれやすいので、口頭で進めず必ず書面に落とすこと。相性が悪いのではなく、詰めが甘いと事故になる組み合わせ。',
    none: '支の絡みが薄い。情に流されず条件で判断できるので、ドライな取引には向く。関係を保ちたいなら意識的に接点を作ること。',
  },
  love: {
    harmony: '支がかみ合う。一緒に暮らす・長く続けるといった形に向く。刺激は少ないので、二人で新しいことを始める習慣を持つとよい。',
    tension: '支がぶつかる。惹かれるが揉めやすい典型で、同じ話題で何度も衝突する。冷めているのではなく、距離が近すぎると擦れる関係だと理解しておく。',
    none: '支の引力が薄い。盛り上がりに欠ける代わりに、落ち着いた関係を作りやすい。会う頻度を決めておくと自然に続く。',
  },
  friend: {
    harmony: '支がかみ合う。長く続く友人になりやすく、間が空いても関係が切れない。',
    tension: '支がぶつかる。仲が良いのによく言い合う関係。言い過ぎたと思ったら早めに一言入れると、そのまま続く。',
    none: '支の絡みが薄い。放っておくと自然に疎遠になるので、こちらから声をかける役を引き受けると保てる。',
  },
};

// ⑤ 天中殺の絡み方
const D_TCS = {
  general: {
    same: '天中殺が同じ。感覚が深いところで似ていて、居心地がよい。ただし調子を落とす時期も重なるので、二人同時に沈む年がある前提で予定を組むこと。',
    bInA: '相手の日支があなたの天中殺に入っている。強く惹かれるが、判断が甘くなりやすい相手。大事な決めごとは、この関係の外の人に一度見てもらうとよい。',
    aInB: 'あなたの日支が相手の天中殺に入っている。相手にとってあなたは特別な存在になりやすく、期待も大きい。応えきれない部分は早めに伝えたほうが、後で楽になる。',
    none: '天中殺の絡みはない。引力も反発も強くないので、関係の濃さは接し方でそのまま決まる、扱いやすい間柄。',
  },
  business: {
    same: '天中殺が重なる。二人だけで会社を回すと、停滞期が同時に来て支えがなくなる。天中殺の年がずれる第三者を役員か顧問に入れておくと安全。',
    bInA: '相手に判断が甘くなる組み合わせ。値引き・支払い猶予・保証など、相手のためにルールを曲げやすい。金銭が絡むことは必ず書面にし、第三者の確認を通すこと。',
    aInB: '相手があなたを頼りすぎる。範囲外の依頼が増えやすいので、契約の範囲と追加費用を最初に決めておく。断ることが関係を壊すわけではない。',
    none: '天中殺の絡みなし。感情より条件で判断できるので、取引先や共同事業者としては読みやすい相手。',
  },
  love: {
    same: '天中殺が同じ。価値観の深い所が合い、一緒にいて安心できる。ただし二人とも落ちる時期があるので、その年に結婚や転居など大きな決断を重ねないほうがよい。',
    bInA: '強く惹かれる形。相手のことが特別に見え、多少のことは許してしまう。冷静な時期に「これは譲れない」を言葉にしておくと、後で崩れない。',
    aInB: '相手から強く求められる形。愛されるが、期待が重く感じる場面も出る。できないことは早めに伝えたほうが、長く続く。',
    none: '天中殺の絡みなし。劇的さはないが、そのぶん無理なく続けられる。日々の積み重ねがそのまま関係になる。',
  },
  friend: {
    same: '天中殺が同じ。話が深く合う友人になりやすい。落ち込む時期も重なるので、二人で沈まないよう別の逃げ場も持っておくこと。',
    bInA: '面白くて惹かれる相手だが、こちらのペースが乱れやすい。付き合う頻度は自分で決めておくと、いい距離で続く。',
    aInB: '相手にとって特別な友人になりやすい。頼られる場面が増えるので、無理なときは無理と言える関係にしておく。',
    none: '天中殺の絡みなし。距離感を保ちやすく、負担なく長く付き合える。',
  },
};

// 間柄ごとの見出し。並びは D_ORDER の順に組み立てる
const D_TITLES = {
  general: ['基本の関係', '力の向き', '通じ合う所', 'かみ合い方', '天中殺の関わり'],
  business: ['役割の分け方', '決め方と進め方', '認識の合わせ方', '揉めやすい所', 'お金と契約で気をつける所'],
  love: ['惹かれ方', '主導権とペース', '分かり合える所', 'ぶつかり方', '長く続けるために'],
  friend: ['付き合い方', '頼る・頼られる', '通じ合う所', 'すれ違い方', '距離の取り方'],
};

/**
 * 相性の詳細を組み立てる。engine の aisho() が返したものだけを材料にする。
 *
 * @param {object} ai   SANMEI.aisho(me, other, mode) の結果
 * @param {string} mode 'general' | 'business' | 'love' | 'friend'
 * @returns {{title:string, body:string}[]} 見出しと本文の並び
 */
function buildAishoDetail(ai, mode) {
  const m = D_KIND[mode] ? mode : 'general';
  const titles = D_TITLES[m];

  // 身強・身弱の組み合わせ(中庸は身強寄りに寄せる)
  const side = (s) => (s.label === '身弱' ? '弱' : '強');
  const skKey = side(ai.shinkyo.a) + side(ai.shinkyo.b);

  // 天中殺の絡み方
  const tcsKey = ai.tenchusatsu.same ? 'same'
    : ai.tenchusatsu.bInA ? 'bInA'
      : ai.tenchusatsu.aInB ? 'aInB' : 'none';

  // 支の位相法を「かみ合う/ぶつかる/絡みなし」に寄せる
  const rels = [].concat(ai.isou['日柱どうし'], ai.isou['月柱どうし'], ai.isou['年柱どうし']);
  const HARMONY = ['支合', '半会', '比和'];
  const TENSION = ['冲', '刑', '害', '破', '自刑'];
  const bucket = rels.some((r) => TENSION.indexOf(r) >= 0) ? 'tension'
    : rels.some((r) => HARMONY.indexOf(r) >= 0) ? 'harmony' : 'none';

  const bond = [];
  bond.push(ai.sharedStars.length ? D_BOND[m].yes(ai.sharedStars.join('・')) : D_BOND[m].no);
  if (ai.kango) bond.push(D_BOND[m].kango);

  const friction = [D_FRICTION[m][bucket]];
  if (rels.length) friction.push('出ている関係は「' + [...new Set(rels)].join('・') + '」。');

  return [
    { title: titles[0], body: D_KIND[m][ai.kind] },
    { title: titles[1], body: D_SK[m][skKey] },
    { title: titles[2], body: bond.join(' ') },
    { title: titles[3], body: friction.join(' ') },
    { title: titles[4], body: D_TCS[m][tcsKey] },
  ];
}
Share Note for Obsidian 🌓