<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://bridgepedia.it/index.php?action=history&amp;feed=atom&amp;title=Progetto%3ABridgeShape_Motore_e_frontend</id>
	<title>Progetto:BridgeShape Motore e frontend - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://bridgepedia.it/index.php?action=history&amp;feed=atom&amp;title=Progetto%3ABridgeShape_Motore_e_frontend"/>
	<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;action=history"/>
	<updated>2026-11-11T00:04:43Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=2005&amp;oldid=prev</id>
		<title>Lpala: Link a Editor e Laboratorio</title>
		<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=2005&amp;oldid=prev"/>
		<updated>2026-10-28T07:05:32Z</updated>

		<summary type="html">&lt;p&gt;Link a Editor e Laboratorio&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 07:05, 28 ott 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Riga 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Documentazione BridgeShape: [[Progetto:BridgeShape API|API e sintassi DSL]] · [[Progetto:BridgeShape Ricette DSL|Ricette DSL]] · [[Progetto:BridgeShape Smazzate di gioco|Smazzate di gioco]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Documentazione BridgeShape: [[Progetto:BridgeShape API|API e sintassi DSL]] · [[Progetto:BridgeShape Ricette DSL|Ricette DSL]] · [[Progetto:BridgeShape Smazzate di gioco|Smazzate di gioco&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] · [[Progetto:BridgeShape Editor e Laboratorio|Editor e Laboratorio&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= BridgeShape — Specifica del motore di smazzate e del frontend (per Play) =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= BridgeShape — Specifica del motore di smazzate e del frontend (per Play) =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikibridge:diff:1.41:old-1999:rev-2005:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Lpala</name></author>
	</entry>
	<entry>
		<id>https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1999&amp;oldid=prev</id>
		<title>Lpala: Aggiunto link a Smazzate di gioco</title>
		<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1999&amp;oldid=prev"/>
		<updated>2026-10-27T19:06:25Z</updated>

		<summary type="html">&lt;p&gt;Aggiunto link a Smazzate di gioco&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 19:06, 27 ott 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Riga 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Documentazione BridgeShape: [[Progetto:BridgeShape API|API e sintassi DSL]] · [[Progetto:BridgeShape Ricette DSL|Ricette DSL]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Documentazione BridgeShape: [[Progetto:BridgeShape API|API e sintassi DSL]] · [[Progetto:BridgeShape Ricette DSL|Ricette DSL&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] · [[Progetto:BridgeShape Smazzate di gioco|Smazzate di gioco&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= BridgeShape — Specifica del motore di smazzate e del frontend (per Play) =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= BridgeShape — Specifica del motore di smazzate e del frontend (per Play) =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikibridge:diff:1.41:old-1993:rev-1999:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Lpala</name></author>
	</entry>
	<entry>
		<id>https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1993&amp;oldid=prev</id>
		<title>Lpala: Aggiornamento da DEAL_ENGINE_SPEC.md (LTC, semi_balanced, jolly x, casi di test)</title>
		<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1993&amp;oldid=prev"/>
		<updated>2026-10-23T16:31:40Z</updated>

		<summary type="html">&lt;p&gt;Aggiornamento da DEAL_ENGINE_SPEC.md (LTC, semi_balanced, jolly x, casi di test)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 16:31, 23 ott 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l177&quot;&gt;Riga 177:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 177:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Punti totali &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: PO + (per ogni seme, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;max(0, lunghezza − 4)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Punti totali &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: PO + (per ogni seme, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;max(0, lunghezza − 4)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Punti distribuzione &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: PO + 3 per ogni chicane + 2 per ogni singolo + 1 per ogni doubleton.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Punti distribuzione &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: PO + 3 per ogni chicane + 2 per ogni singolo + 1 per ogni doubleton.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Perdenti &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ltc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; (Losing Trick Count): per ogni seme con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;n&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considerare &lt;/del&gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;m = min(n,3)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; perdenti del seme = &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;m − &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(numero di &lt;/del&gt;A&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;K&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;Q &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;posseduti nel seme)&lt;/del&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; somma sui 4 semi&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Seme &lt;/del&gt;vuoto = 0.)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Perdenti &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ltc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; (Losing Trick Count &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;classico&lt;/ins&gt;): per ogni seme con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;n&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;m = min(n,3)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; perdenti del seme = &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;m − &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/ins&gt;A&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] − [&lt;/ins&gt;K &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e n≥2] − [&lt;/ins&gt;Q &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e n≥3]&lt;/ins&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; somma sui 4 semi (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;seme &lt;/ins&gt;vuoto = 0&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;). Tabella di controllo: x=1, A=0, K=1, Q=1; xx=2, Ax=1, Kx=1, Qx=2, AK=0, AQ=1, KQ=1; AKQ=0, AKx=1, AQx=1, KQx=1, Axx=2, Kxx=2, Qxx=2, xxx=3. (Correzione: la formula precedente &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;m − #A,K,Q&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; contava anche K e Q secchi o Q doppia&lt;/ins&gt;.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): tra A K Q J 10 9 possiede &amp;#039;&amp;#039;esattamente&amp;#039;&amp;#039; quelle elencate; 8..2 liberi. Stringa vuota = nessuna carta alta. Gli onori elencati sono esclusi dalle altre mani solo per quel che riguarda la proprietà: ogni carta ha un unico proprietario.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): tra A K Q J 10 9 possiede &amp;#039;&amp;#039;esattamente&amp;#039;&amp;#039; quelle elencate; 8..2 liberi. Stringa vuota = nessuna carta alta. Gli onori elencati sono esclusi dalle altre mani solo per quel che riguarda la proprietà: ogni carta ha un unico proprietario.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_patterns&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): una sola alternativa (scelta a caso, uniformemente tra quelle compatibili con gli altri vincoli) descrive tutta la mano in quel seme: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; + tra &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_min&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte basse (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max: null&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = illimitato, ma ≤ 13 − len(cards)).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_patterns&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): una sola alternativa (scelta a caso, uniformemente tra quelle compatibili con gli altri vincoli) descrive tutta la mano in quel seme: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; + tra &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_min&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte basse (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max: null&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = illimitato, ma ≤ 13 − len(cards)).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;x:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; (jolly di posizione): un seme scelto a caso tra quelli &#039;&#039;non&#039;&#039; vincolati esplicitamente in quella posizione; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;xhcp:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; si riferisce allo stesso seme. Il jolly &#039;&#039;&#039;non&#039;&#039;&#039; è condiviso con altre posizioni.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;x:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; (jolly di posizione): un seme scelto a caso tra quelli &#039;&#039;non&#039;&#039; vincolati esplicitamente in quella posizione&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Dentro una foglia di &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;not()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; il jolly vede &#039;&#039;&#039;solo i semi nominati nella foglia&#039;&#039;&#039;; un seme nominato soltanto in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, confronti o &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;longest:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; non è escluso da &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;x&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/ins&gt;; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;xhcp:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; si riferisce allo stesso seme. Il jolly &#039;&#039;&#039;non&#039;&#039;&#039; è condiviso con altre posizioni.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Variabili &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a..$d&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: a inizio generazione ogni variabile usata riceve un seme dal proprio dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vars&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, default tutti e quattro). Variabili diverse hanno &amp;#039;&amp;#039;&amp;#039;semi diversi&amp;#039;&amp;#039;&amp;#039;; una variabile non dichiarata ha dominio completo. Una variabile può coincidere con un seme nominato esplicitamente (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;H&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): se non è voluto, restringere il dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a=SD&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). La scelta è uniforme tra le assegnazioni che rendono lo scenario soddisfacibile.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Variabili &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a..$d&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: a inizio generazione ogni variabile usata riceve un seme dal proprio dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vars&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, default tutti e quattro). Variabili diverse hanno &amp;#039;&amp;#039;&amp;#039;semi diversi&amp;#039;&amp;#039;&amp;#039;; una variabile non dichiarata ha dominio completo. Una variabile può coincidere con un seme nominato esplicitamente (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;H&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): se non è voluto, restringere il dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a=SD&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). La scelta è uniforme tra le assegnazioni che rendono lo scenario soddisfacibile.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: somma delle lunghezze dei due compagni nel seme (o in qualunque seme del tipo &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;major&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/ &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, a scelta del motore, uniformemente tra i semi che soddisfano il vincolo).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: somma delle lunghezze dei due compagni nel seme (o in qualunque seme del tipo &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;major&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/ &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, a scelta del motore, uniformemente tra i semi che soddisfano il vincolo).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l238&quot;&gt;Riga 238:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 238:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;not()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;: escludere dall&amp;#039;insieme di alternative, non solo filtrare a posteriori.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;not()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;: escludere dall&amp;#039;insieme di alternative, non solo filtrare a posteriori.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;longest:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;compare&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; valgono sulle lunghezze finali (dopo il bind delle variabili).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;longest:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;compare&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; valgono sulle lunghezze finali (dopo il bind delle variabili).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;context.lead&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SK&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): la carta deve stare nella mano dell&#039;attaccante (§2) e quella mano deve soddisfare i suoi vincoli (es. se ha &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SK&lt;/del&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; è coerente, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:SQ&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; no).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;context.lead&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SK&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): la carta deve stare nella mano dell&#039;attaccante (§2) e quella mano deve soddisfare i suoi vincoli (es. se ha &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SJ&lt;/ins&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; è coerente, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:SQ&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; no)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Chiarimenti (concordati con Play) ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;context.auction&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: la sequenza parte dal &#039;&#039;&#039;mazziere&#039;&#039;&#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dealer&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;); il primo token è la sua chiamata. Se &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dealer&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; manca, l&#039;asta è solo descrittiva e non si verifica nulla. Nella v2 l&#039;asta e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;contract&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sono &#039;&#039;&#039;informativi&#039;&#039;&#039;: il motore non deve ricavarne vincoli sulle mani.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;declarer&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: non deve discendere dall&#039;asta (non verificata). Serve a stabilire chi attacca (vedi §2) e quindi a validare &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;errors&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: array di &#039;&#039;&#039;stringhe&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&quot;&amp;lt;etichetta scenario o &#039;scenario #N&#039;&amp;gt;: &amp;lt;messaggio in inglese&amp;gt;&quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, senza codici né struttura. Il motore li riporta così come sono (codice proprio &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dsl_errors&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, §6). Un formato strutturato (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;code&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;scenario&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;position&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) è una possibile evoluzione: lo si introdurrebbe come campo nuovo &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;errorDetails&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, senza toccare &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;errors&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;descriptions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: oggi un elemento per scenario con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;positions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (testo per posizione) e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;context&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; &#039;&#039;&#039;non esiste un id per singolo vincolo&#039;&#039;&#039;. Se il frontend lo richiede, si aggiungerà un campo additivo (da concordare, §11).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;«Uniforme»&#039;&#039;&#039; (variabili, jolly, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): tra le assegnazioni di semi che rendono lo scenario soddisfacibile, ciascuna ha uguale probabilità (a meno di tolleranza statistica nei test: ±5 % su 1000 estrazioni per due valori, vedi caso 3). Non implica uniformità sulle carte o sulle mani&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l359&quot;&gt;Riga 359:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 367:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 7&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 7&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;opener aces:2 kc:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;H4&lt;/del&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;opener aces:2 kc:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;H3&lt;/ins&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 2 assi; assi + K♥ = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 2 assi; assi + K♥ = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3 (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;kc:H4&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;aces:2&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; è impossibile: max 2+1)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l411&quot;&gt;Riga 411:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 419:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 20&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 20&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;declarer:responder lead:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SK &lt;/del&gt;opp2 S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;declarer:responder lead:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SJ &lt;/ins&gt;opp2 S=KJT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;K♠ &lt;/del&gt;in opp2; con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:SQ&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → 422 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead_conflict&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;J♠ &lt;/ins&gt;in opp2; con &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead:SQ&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → 422 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lead_conflict&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 21&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 21&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikibridge:diff:1.41:old-1991:rev-1993:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Lpala</name></author>
	</entry>
	<entry>
		<id>https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1991&amp;oldid=prev</id>
		<title>Lpala: BridgeShape: allineamento docs DSL v2</title>
		<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1991&amp;oldid=prev"/>
		<updated>2026-10-23T05:55:08Z</updated>

		<summary type="html">&lt;p&gt;BridgeShape: allineamento docs DSL v2&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 05:55, 23 ott 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l181&quot;&gt;Riga 181:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 181:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_patterns&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): una sola alternativa (scelta a caso, uniformemente tra quelle compatibili con gli altri vincoli) descrive tutta la mano in quel seme: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; + tra &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_min&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte basse (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max: null&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = illimitato, ma ≤ 13 − len(cards)).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;S~...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;suit_patterns&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): una sola alternativa (scelta a caso, uniformemente tra quelle compatibili con gli altri vincoli) descrive tutta la mano in quel seme: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;cards&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; + tra &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_min&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; carte basse (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;low_max: null&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = illimitato, ma ≤ 13 − len(cards)).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;x:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (jolly di posizione): un seme scelto a caso tra quelli &amp;#039;&amp;#039;non&amp;#039;&amp;#039; vincolati esplicitamente in quella posizione; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;xhcp:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; si riferisce allo stesso seme. Il jolly &amp;#039;&amp;#039;&amp;#039;non&amp;#039;&amp;#039;&amp;#039; è condiviso con altre posizioni.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;x:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (jolly di posizione): un seme scelto a caso tra quelli &amp;#039;&amp;#039;non&amp;#039;&amp;#039; vincolati esplicitamente in quella posizione; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;xhcp:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; si riferisce allo stesso seme. Il jolly &amp;#039;&amp;#039;&amp;#039;non&amp;#039;&amp;#039;&amp;#039; è condiviso con altre posizioni.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Variabili &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a..$d&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: a inizio generazione ogni variabile usata riceve un seme dal proprio dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vars&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, default tutti e quattro). Variabili diverse hanno &#039;&#039;&#039;semi diversi&#039;&#039;&#039;. Una variabile può coincidere con un seme nominato esplicitamente (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;H&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): se non è voluto, restringere il dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a=SD&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). La scelta è uniforme tra le assegnazioni che rendono lo scenario soddisfacibile.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Variabili &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a..$d&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;: a inizio generazione ogni variabile usata riceve un seme dal proprio dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vars&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, default tutti e quattro). Variabili diverse hanno &#039;&#039;&#039;semi diversi&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; una variabile non dichiarata ha dominio completo&lt;/ins&gt;. Una variabile può coincidere con un seme nominato esplicitamente (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;H&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;): se non è voluto, restringere il dominio (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$a=SD&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). La scelta è uniforme tra le assegnazioni che rendono lo scenario soddisfacibile.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: somma delle lunghezze dei due compagni nel seme (o in qualunque seme del tipo &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;major&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/ &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, a scelta del motore, uniformemente tra i semi che soddisfano il vincolo).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: somma delle lunghezze dei due compagni nel seme (o in qualunque seme del tipo &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;major&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/ &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, a scelta del motore, uniformemente tra i semi che soddisfano il vincolo).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any(A,B)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: la mano soddisfa almeno una alternativa. &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;not(A,B)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: non ne soddisfa nessuna. Più gruppi → AND. Dentro &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;A&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;B&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; valgono gli stessi campi di una posizione (senza &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any/not/fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any(A,B)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: la mano soddisfa almeno una alternativa. &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;not(A,B)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;: non ne soddisfa nessuna. Più gruppi → AND. Dentro &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;A&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;B&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; valgono gli stessi campi di una posizione (senza &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;any/not/fit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikibridge:diff:1.41:old-1988:rev-1991:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Lpala</name></author>
	</entry>
	<entry>
		<id>https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1988&amp;oldid=prev</id>
		<title>Lpala: BridgeShape: documentazione DSL v2</title>
		<link rel="alternate" type="text/html" href="https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;diff=1988&amp;oldid=prev"/>
		<updated>2026-10-23T05:49:07Z</updated>

		<summary type="html">&lt;p&gt;BridgeShape: documentazione DSL v2&lt;/p&gt;
&lt;a href=&quot;https://bridgepedia.it/index.php?title=Progetto:BridgeShape_Motore_e_frontend&amp;amp;diff=1988&quot;&gt;Mostra modifiche&lt;/a&gt;</summary>
		<author><name>Lpala</name></author>
	</entry>
</feed>