NathanRoll commited on
Commit
cc68695
·
verified ·
1 Parent(s): 98f83b6

Add expandable record details and complete supported renderings

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. app.py +88 -20
  2. data/records.jsonl +0 -0
  3. data/solutions/generated/cirinhex_021_38040eceeb63c1e3.json +186 -0
  4. data/solutions/generated/cirinhex_022_cd7262f9f7d0d279.json +192 -0
  5. data/solutions/generated/cirinhex_023_de2d2aabdc650ad2.json +198 -0
  6. data/solutions/generated/cirinhex_024_61a86ae12328c1ca.json +204 -0
  7. data/solutions/generated/cirinpen_021_6869ffb03b036ff3.json +186 -0
  8. data/solutions/generated/cirinpen_022_ebdb05232e56526e.json +192 -0
  9. data/solutions/generated/cirinpen_023_0115bd21477c01e6.json +198 -0
  10. data/solutions/generated/cirinpen_024_9eb26a95274f1d1d.json +204 -0
  11. data/solutions/generated/cirinsqu_021_65afc927a4d3cb10.json +186 -0
  12. data/solutions/generated/cirinsqu_022_27d48d864449f174.json +192 -0
  13. data/solutions/generated/cirinsqu_023_cfa99060ee2203a1.json +198 -0
  14. data/solutions/generated/cirinsqu_024_e2eca298edbdb88c.json +204 -0
  15. data/solutions/generated/domintri_021_de2eca0c1c28a96d.json +187 -0
  16. data/solutions/generated/domintri_022_6301aae692a9ac9b.json +193 -0
  17. data/solutions/generated/domintri_023_7b6e8b12db0049b9.json +199 -0
  18. data/solutions/generated/domintri_024_af99e7edd2e30109.json +205 -0
  19. data/solutions/generated/hexincir_021_49a047c29bb184c3.json +185 -0
  20. data/solutions/generated/hexinhex_021_4a431b677be571c9.json +188 -0
  21. data/solutions/generated/hexinhex_022_003a713177cb171c.json +194 -0
  22. data/solutions/generated/hexinhex_023_4a3a3fd07554d52b.json +200 -0
  23. data/solutions/generated/hexinhex_024_c96649ff013a9455.json +206 -0
  24. data/solutions/generated/hexinhex_025_4ac680367830872b.json +212 -0
  25. data/solutions/generated/hexinhex_026_0a420d645748969b.json +218 -0
  26. data/solutions/generated/hexinhex_027_4e9628a9f49def85.json +224 -0
  27. data/solutions/generated/hexinhex_028_59dc7d7850663cbb.json +230 -0
  28. data/solutions/generated/hexinhex_029_dba25a591b8992bc.json +236 -0
  29. data/solutions/generated/hexinhex_030_100db5f9f28894cc.json +242 -0
  30. data/solutions/generated/hexinhex_031_d503e2b08764a35e.json +248 -0
  31. data/solutions/generated/hexinsqu_021_5d369a2740fde606.json +188 -0
  32. data/solutions/generated/hexinsqu_022_2f0b0033f0c66708.json +194 -0
  33. data/solutions/generated/hexinsqu_023_31cc17034bd25d7b.json +200 -0
  34. data/solutions/generated/hexinsqu_024_941fbce4f50492c6.json +206 -0
  35. data/solutions/generated/hexinsqu_025_d89d09725d796421.json +212 -0
  36. data/solutions/generated/hexintri_021_6cf726ac83ba7d7f.json +188 -0
  37. data/solutions/generated/octinoct_021_92c4bcf9428983c2.json +188 -0
  38. data/solutions/generated/octinoct_022_b8f2befaa2d4a75e.json +194 -0
  39. data/solutions/generated/octinoct_023_d6528e8801e36ce0.json +200 -0
  40. data/solutions/generated/octinoct_024_a34ac6a3c52f70df.json +206 -0
  41. data/solutions/generated/octinoct_025_113492960b7e7dce.json +212 -0
  42. data/solutions/generated/octinoct_026_581188c4895e4037.json +218 -0
  43. data/solutions/generated/octinoct_027_25c7f85bc0b15209.json +224 -0
  44. data/solutions/generated/octinoct_028_f8d9c8a9f9a38d45.json +230 -0
  45. data/solutions/generated/octinoct_029_30789c6bb8fd99b7.json +236 -0
  46. data/solutions/generated/octinoct_030_1a16dc8a4d741008.json +242 -0
  47. data/solutions/generated/penincir_021_b713bb4909b828e8.json +185 -0
  48. data/solutions/generated/peninpen_021_1c71a8b98efbf1a2.json +188 -0
  49. data/solutions/generated/peninpen_022_07e217f200bb677e.json +194 -0
  50. data/solutions/generated/peninpen_023_1da2b8cbe37457cd.json +200 -0
app.py CHANGED
@@ -331,7 +331,7 @@ gradio-app,
331
  .shape-container {
332
  fill: none;
333
  stroke: #000;
334
- stroke-width: 3.5px !important;
335
  stroke-linejoin: round;
336
  vector-effect: non-scaling-stroke;
337
  }
@@ -382,6 +382,49 @@ gradio-app,
382
  color: var(--ink);
383
  }
384
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  .back-link {
386
  display: inline-block;
387
  margin-top: 14px;
@@ -792,25 +835,54 @@ def record_visual(record: dict[str, Any], coordinates: dict[str, dict[str, Any]]
792
  return '<div class="render-stage"><div class="placeholder">coordinate JSON not available yet</div></div>'
793
 
794
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
795
  def record_card(record: dict[str, Any], coordinates: dict[str, dict[str, Any]]) -> str:
796
  verified = record.get("record_type") == "verified"
797
  source = source_link(record)
798
  expression = compact_expression(record)
799
  image_name = source_image_name(record)
800
  analytical = friedman_reference(record).get("analytical_or_proved")
801
- if verified:
802
- primary_meta = f"submission: <strong>{esc(author_name(record))}</strong>, {esc(display_date(record))}"
803
- reference_meta = f"reference: <strong>{esc(reference_credit(record))}</strong>, {esc(reference_date(record))}"
804
- else:
805
- primary_meta = f"by <strong>{esc(reference_credit(record))}</strong>"
806
- reference_meta = esc(reference_date(record))
807
- source_bits = []
808
- if image_name:
809
- source_bits.append(f"image: {esc(image_name)}")
810
- if source:
811
- source_bits.append(source)
812
- source_line = "<br>" + " · ".join(source_bits) if source_bits else ""
813
- analytical_line = "<br>analytical/proved" if analytical else ""
814
  return f"""
815
  <article class="record-card {'verified' if verified else 'reference'}">
816
  <div class="record-top">
@@ -820,12 +892,8 @@ def record_card(record: dict[str, Any], coordinates: dict[str, dict[str, Any]])
820
  <div class="record-body">
821
  <div class="metric"><strong>{esc(metric_symbol(record))} = {esc(metric_value(record))}</strong><span>n={esc(record.get("n"))}</span></div>
822
  <div class="expression">{esc(expression)}</div>
823
- <div class="meta">
824
- {primary_meta}<br>
825
- {reference_meta}
826
- {source_line}
827
- {analytical_line}
828
- </div>
829
  </div>
830
  </article>
831
  """
 
331
  .shape-container {
332
  fill: none;
333
  stroke: #000;
334
+ stroke-width: 2.6px !important;
335
  stroke-linejoin: round;
336
  vector-effect: non-scaling-stroke;
337
  }
 
382
  color: var(--ink);
383
  }
384
 
385
+ .record-author {
386
+ margin-top: 8px;
387
+ color: var(--muted);
388
+ font-size: 12px;
389
+ line-height: 1.35;
390
+ }
391
+
392
+ .record-author strong {
393
+ color: var(--ink);
394
+ }
395
+
396
+ .record-details {
397
+ margin-top: 8px;
398
+ padding-top: 8px;
399
+ border-top: 1px solid var(--line-soft);
400
+ color: var(--muted);
401
+ font-size: 12px;
402
+ line-height: 1.4;
403
+ }
404
+
405
+ .record-details summary {
406
+ cursor: pointer;
407
+ color: var(--ink);
408
+ font-weight: 700;
409
+ list-style-position: outside;
410
+ }
411
+
412
+ .record-details dl {
413
+ margin: 7px 0 0;
414
+ }
415
+
416
+ .record-details dt {
417
+ margin-top: 6px;
418
+ color: var(--ink);
419
+ font-weight: 700;
420
+ }
421
+
422
+ .record-details dd {
423
+ margin: 1px 0 0;
424
+ color: var(--muted);
425
+ overflow-wrap: anywhere;
426
+ }
427
+
428
  .back-link {
429
  display: inline-block;
430
  margin-top: 14px;
 
835
  return '<div class="render-stage"><div class="placeholder">coordinate JSON not available yet</div></div>'
836
 
837
 
838
+ def detail_row(label: str, value: str) -> str:
839
+ value = value.strip()
840
+ if not value:
841
+ return ""
842
+ return f"<dt>{esc(label)}</dt><dd>{value}</dd>"
843
+
844
+
845
+ def record_details(record: dict[str, Any], source: str, image_name: str, expression: str, analytical: Any) -> str:
846
+ rows: list[str] = []
847
+ if record.get("record_type") == "verified":
848
+ rows.append(detail_row("Submitted", esc(display_date(record))))
849
+ notes = str(record.get("notes") or "").strip()
850
+ if notes:
851
+ rows.append(detail_row("Notes", esc(notes)))
852
+ previous = (
853
+ f"{esc(metric_symbol(record))} = {esc(metric_value({'metric_value': record.get('reference_side'), 'side': record.get('reference_side'), 'metric_symbol': metric_symbol(record)}))}"
854
+ f" by {esc(reference_credit(record))}, {esc(reference_date(record))}"
855
+ if record.get("reference_side") is not None
856
+ else ""
857
+ )
858
+ rows.append(detail_row("Previous record", previous))
859
+ else:
860
+ rows.append(detail_row("Date", esc(reference_date(record))))
861
+
862
+ rows.append(detail_row("Formula", esc(expression)))
863
+ if image_name:
864
+ rows.append(detail_row("Source image", esc(image_name)))
865
+ if source:
866
+ rows.append(detail_row("Source", source))
867
+ if analytical:
868
+ rows.append(detail_row("Status", "analytical/proved"))
869
+ reference_text = str(friedman_reference(record).get("reference_text") or "").strip()
870
+ rows.append(detail_row("Reference text", esc(reference_text)))
871
+ return f"""
872
+ <details class="record-details">
873
+ <summary>Details</summary>
874
+ <dl>{''.join(rows)}</dl>
875
+ </details>
876
+ """
877
+
878
+
879
  def record_card(record: dict[str, Any], coordinates: dict[str, dict[str, Any]]) -> str:
880
  verified = record.get("record_type") == "verified"
881
  source = source_link(record)
882
  expression = compact_expression(record)
883
  image_name = source_image_name(record)
884
  analytical = friedman_reference(record).get("analytical_or_proved")
885
+ visible_author = author_name(record) if verified else reference_credit(record)
 
 
 
 
 
 
 
 
 
 
 
 
886
  return f"""
887
  <article class="record-card {'verified' if verified else 'reference'}">
888
  <div class="record-top">
 
892
  <div class="record-body">
893
  <div class="metric"><strong>{esc(metric_symbol(record))} = {esc(metric_value(record))}</strong><span>n={esc(record.get("n"))}</span></div>
894
  <div class="expression">{esc(expression)}</div>
895
+ <div class="record-author">by <strong>{esc(visible_author)}</strong></div>
896
+ {record_details(record, source, image_name, expression, analytical)}
 
 
 
 
897
  </div>
898
  </article>
899
  """
data/records.jsonl CHANGED
The diff for this file is too large to render. See raw diff
 
data/solutions/generated/cirinhex_021_38040eceeb63c1e3.json ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinhex@21",
3
+ "container": {
4
+ "circumradius": 5.709519968963224,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.709519968963223,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinhex@21",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/19/12",
16
+ "metric_expression": "5.709+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.709,
19
+ "reference_text": "s = 5.709+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "hc21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
23
+ "title": "Circles in Hexagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinhex@21",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/19/12",
37
+ "metric_expression": "5.709+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 5.709,
40
+ "reference_text": "s = 5.709+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "hc21.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc21.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
44
+ "title": "Circles in Hexagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinhex/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 6.543485383352783,
58
+ "x": -2.977418137227549,
59
+ "y": -2.7321141604437353
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 0.6677851051964091,
64
+ "x": -1.3867920552597868,
65
+ "y": -3.9445800211625603
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 4.878686321852387,
70
+ "x": 0.6132577255879791,
71
+ "y": -3.9445721885790226
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 0.30239827960909094,
76
+ "x": 2.55475202878758,
77
+ "y": -3.4641926402705816
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 4.320834703493851,
82
+ "x": 3.5547753663028288,
83
+ "y": -1.7320994594036376
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 5.919448672454216,
88
+ "x": -3.977445211095278,
89
+ "y": -1.0000219518002595
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": -0.29055690120803757,
94
+ "x": -1.977396112282955,
95
+ "y": -1.0000186736895977
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": -0.4032918951577629,
100
+ "x": -0.3867729206450415,
101
+ "y": -2.212482249102536
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": -0.7102921751069424,
106
+ "x": 1.554721776596295,
107
+ "y": -1.7320969486764575
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 5.075464747986945,
112
+ "x": 4.554799745769319,
113
+ "y": -6.936982071529475e-06
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 2.3772931236757855,
118
+ "x": -3.9774455896680094,
119
+ "y": 1.0000181328272364
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 3.842461184879661,
124
+ "x": -1.9773949988624189,
125
+ "y": 1.0000188577960665
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 2.776557717034663,
130
+ "x": -0.06708025173379516,
131
+ "y": -0.046183101728368654
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 2.627174319074063,
136
+ "x": 2.5547485506101757,
137
+ "y": -8.272024163587036e-06
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 1.952690627984041,
142
+ "x": 3.5547807172244523,
143
+ "y": 1.7320881696604125
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 4.824123034318457,
148
+ "x": -2.977418520889521,
149
+ "y": 2.7321111807361333
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 2.1331867069142443,
154
+ "x": -0.38676773460277103,
155
+ "y": 2.212478217016376
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 5.983740674349732,
160
+ "x": 0.613259621201437,
161
+ "y": 3.944572395436246
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 6.084676181192759,
166
+ "x": 1.5547259083092684,
167
+ "y": 1.7320846410323407
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 1.1379501682026076,
172
+ "x": 2.5547545551573854,
173
+ "y": 3.4641812077209866
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 6.41724804394573,
178
+ "x": -1.3867925668066305,
179
+ "y": 3.944575609752429
180
+ }
181
+ ],
182
+ "problem": "21 equal items for Circles in Hexagons",
183
+ "setup": "cirinhex",
184
+ "source_image": "https://erich-friedman.github.io/packing/cirinhex/hc21.gif",
185
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/"
186
+ }
data/solutions/generated/cirinhex_022_cd7262f9f7d0d279.json ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinhex@22",
3
+ "container": {
4
+ "circumradius": 5.9518770721265515,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.951877072126551,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinhex@22",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/19/12",
16
+ "metric_expression": "5.952+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.952,
19
+ "reference_text": "s = 5.952+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "hc22.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc22.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
23
+ "title": "Circles in Hexagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinhex@22",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/19/12",
37
+ "metric_expression": "5.952+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 5.952,
40
+ "reference_text": "s = 5.952+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "hc22.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc22.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
44
+ "title": "Circles in Hexagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinhex/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 1.5336903785710856,
58
+ "x": -3.057843195509521,
59
+ "y": -3.012572174193485
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 5.627618367090928,
64
+ "x": -1.415825337804449,
65
+ "y": -4.154467925502052
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 1.588642453094273,
70
+ "x": 0.3261896435058119,
71
+ "y": -3.1718479790654124
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 0.6537002391114125,
76
+ "x": 2.0682052517810035,
77
+ "y": -4.154470081525163
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 3.7913269258110547,
82
+ "x": 3.3057127668991004,
83
+ "y": -2.583254154097507
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 2.6700645622335104,
88
+ "x": -4.0578623048112314,
89
+ "y": -1.2804858241134436
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 0.8143602476779578,
94
+ "x": -1.6970911446573878,
95
+ "y": -1.529109325316158
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 2.365761333225855,
100
+ "x": 0.33144143966232537,
101
+ "y": -1.1718107775334614
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 2.405045407507131,
106
+ "x": 2.305627353448162,
107
+ "y": -0.8511919861199759
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 1.5287516311548723,
112
+ "x": 4.305736159332807,
113
+ "y": -0.8511663633664502
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 4.506637422660895,
118
+ "x": -4.398609846467052,
119
+ "y": 0.6903063692321826
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 5.946477411672315,
124
+ "x": -2.3757809480744814,
125
+ "y": 0.3885664046027516
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 0.48491402793877963,
130
+ "x": -0.39851076161112026,
131
+ "y": 0.6902727666972293
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 2.297430853304856,
136
+ "x": 2.137862017249792,
137
+ "y": 1.141809252572138
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 0.1976652809115194,
142
+ "x": 4.137926722329381,
143
+ "y": 1.1418203373407287
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 2.343841855451056,
148
+ "x": -3.3985878386902066,
149
+ "y": 2.422390417126905
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 6.046869609924399,
154
+ "x": -1.3985382639451405,
155
+ "y": 2.422365842183051
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 5.201906471583247,
160
+ "x": 0.6015255516927154,
161
+ "y": 2.422372521530647
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 3.5211090941163614,
166
+ "x": 1.6015549723767342,
167
+ "y": 4.154461433559104
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 3.158677610852162,
172
+ "x": 3.1378984763846116,
173
+ "y": 2.8739078943281555
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 2.3917888936717118,
178
+ "x": -2.3985542361200842,
179
+ "y": 4.1544639864895
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 1.4777643359144321,
184
+ "x": -0.39849776533211084,
185
+ "y": 4.154464568713927
186
+ }
187
+ ],
188
+ "problem": "22 equal items for Circles in Hexagons",
189
+ "setup": "cirinhex",
190
+ "source_image": "https://erich-friedman.github.io/packing/cirinhex/hc22.gif",
191
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/"
192
+ }
data/solutions/generated/cirinhex_023_de2d2aabdc650ad2.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinhex@23",
3
+ "container": {
4
+ "circumradius": 6.0119964252593965,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.011996425259396,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "cirinhex@23",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/19/12",
16
+ "metric_expression": "34/7 + 2/\u221a3 = 6.011+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.011,
19
+ "reference_text": "s = 34/7 + 2/\u221a3 = 6.011+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "hc23.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc23.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
23
+ "title": "Circles in Hexagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": true,
33
+ "case": "cirinhex@23",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/19/12",
37
+ "metric_expression": "34/7 + 2/\u221a3 = 6.011+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 6.011,
40
+ "reference_text": "s = 34/7 + 2/\u221a3 = 6.011+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "hc23.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc23.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
44
+ "title": "Circles in Hexagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinhex/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 0.01088585785669998,
58
+ "x": -3.4286284844130193,
59
+ "y": -2.4744777907799715
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 0.013562955445130623,
64
+ "x": -2.42856178593742,
65
+ "y": -4.206535438620394
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 0.007684762682779028,
70
+ "x": -0.42850107946482296,
71
+ "y": -4.206530108540232
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": -0.2096223722215658,
76
+ "x": 1.1429317953478868,
77
+ "y": -2.969279686172223
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 0.05490829208071887,
82
+ "x": 3.142975626993475,
83
+ "y": -2.9692619457033222
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 0.0706102912732397,
88
+ "x": -4.428656184153742,
89
+ "y": -0.7423914146316885
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 0.194880962719564,
94
+ "x": -2.4286079474462356,
95
+ "y": -0.7423829528891153
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 0.05362310039570196,
100
+ "x": -1.4285495285772492,
101
+ "y": -2.4744464378242124
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": -0.04828619363738929,
106
+ "x": 2.1429402259937884,
107
+ "y": -1.2371729423835607
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 0.017894170040258006,
112
+ "x": 4.142991184861336,
113
+ "y": -1.2371598083927178
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": -0.23786786676194394,
118
+ "x": -4.143003601974824,
119
+ "y": 1.2371495608799508
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 0.3622812222566325,
124
+ "x": -2.1429503246384707,
125
+ "y": 1.2371540698147925
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 0.05883702898002627,
130
+ "x": 0.14288460691346438,
131
+ "y": -1.2372044076656052
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": -0.07059320164637754,
136
+ "x": 2.4285942378869207,
137
+ "y": 0.7423708601300019
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 0.012581426087907478,
142
+ "x": 4.428655322968817,
143
+ "y": 0.7423831250699681
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": -0.23982721363557236,
148
+ "x": -3.1429848488660874,
149
+ "y": 2.9692473720807393
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": -0.09396706273511284,
154
+ "x": -0.571548281067351,
155
+ "y": 2.4744377931725365
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 0.12447529699376898,
160
+ "x": 0.4284816272783447,
161
+ "y": 0.7423485356873205
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": -0.11075029989314435,
166
+ "x": 1.4285187692648917,
167
+ "y": 2.474433833598133
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 0.091778809990234,
172
+ "x": 3.4286305925283314,
173
+ "y": 2.474476667709342
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 0.11688101755512745,
178
+ "x": -1.5715780807919115,
179
+ "y": 4.206528001283203
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": -0.1740629354558044,
184
+ "x": 0.4284791762750046,
185
+ "y": 4.206535118372205
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": -0.24808376284602468,
190
+ "x": 2.4285379009372052,
191
+ "y": 4.206534222200379
192
+ }
193
+ ],
194
+ "problem": "23 equal items for Circles in Hexagons",
195
+ "setup": "cirinhex",
196
+ "source_image": "https://erich-friedman.github.io/packing/cirinhex/hc23.gif",
197
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/"
198
+ }
data/solutions/generated/cirinhex_024_61a86ae12328c1ca.json ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinhex@24",
3
+ "container": {
4
+ "circumradius": 6.120164603994217,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.120164603994216,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinhex@24",
13
+ "credit": "Rob Pratt",
14
+ "date": "March 2020",
15
+ "family_updated": "7/19/12",
16
+ "metric_expression": "6.117+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.117,
19
+ "reference_text": "s = 6.117+ | Found by Rob Pratt | in March 2020.",
20
+ "source_image": "hc24.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc24.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
23
+ "title": "Circles in Hexagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinhex@24",
34
+ "credit": "Rob Pratt",
35
+ "date": "March 2020",
36
+ "family_updated": "7/19/12",
37
+ "metric_expression": "6.117+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 6.117,
40
+ "reference_text": "s = 6.117+ | Found by Rob Pratt | in March 2020.",
41
+ "source_image": "hc24.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinhex/hc24.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/",
44
+ "title": "Circles in Hexagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinhex/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 0.29868867667172333,
58
+ "x": -2.4827172327226656,
59
+ "y": -4.300210939855668
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 0.24268588290445803,
64
+ "x": -0.4636451903499858,
65
+ "y": -4.3001821162682115
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": -0.05264605832152485,
70
+ "x": 0.7094364886649773,
71
+ "y": -2.6801915828945164
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": -0.4774536142453228,
76
+ "x": 1.8823578673188928,
77
+ "y": -4.3002069815220825
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 0.414203762455022,
82
+ "x": 3.298267043938587,
83
+ "y": -2.8876155094113427
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 0.6141596215669449,
88
+ "x": -3.482550438870808,
89
+ "y": -2.568002390825985
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 0.22205289450203636,
94
+ "x": -1.4824938642123424,
95
+ "y": -2.5682604616141034
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 0.09093544894997521,
100
+ "x": -0.3012691827632311,
101
+ "y": -0.9543160721277714
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": -0.23616463773800914,
106
+ "x": 2.0831481636600997,
107
+ "y": -1.2225498987586527
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": -0.7558481172542992,
112
+ "x": 4.298292166442882,
113
+ "y": -1.1555235379806554
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 0.23311241931330964,
118
+ "x": -4.482763151029765,
119
+ "y": -0.8360125661904245
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 0.18680876756828377,
124
+ "x": -2.433006109740818,
125
+ "y": -0.7864604383319492
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": -0.03929007335552636,
130
+ "x": 0.305062577512009,
131
+ "y": 0.9515830011006554
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 0.4606149629028032,
136
+ "x": 2.4212031306852784,
137
+ "y": 0.7840705301795579
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": -0.06486466302540819,
142
+ "x": 4.482765579841461,
143
+ "y": 0.8360094887455386
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 0.18418748770154905,
148
+ "x": -4.298297198249282,
149
+ "y": 1.1555140060293898
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": -0.4130475718211696,
154
+ "x": -2.205545838021324,
155
+ "y": 1.2030653633059902
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": -0.015028066339343052,
160
+ "x": -0.7669842611695801,
161
+ "y": 2.640045293490313
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 0.14359382592425576,
166
+ "x": 1.4826766354798526,
167
+ "y": 2.568155539014148
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 0.062454278700796416,
172
+ "x": 3.4827385948723815,
173
+ "y": 2.5681017396208587
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": -0.09701789144025728,
178
+ "x": -3.298269764141387,
179
+ "y": 2.887610133398389
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 0.36753378024609773,
184
+ "x": -1.8823644499449348,
185
+ "y": 4.300202073045761
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": -0.17246626897426362,
190
+ "x": 0.40620727194605777,
191
+ "y": 4.28333434889399
192
+ },
193
+ {
194
+ "id": 24,
195
+ "rotation_radians": 0.860472800784408,
196
+ "x": 2.4827213991085153,
197
+ "y": 4.300214568152071
198
+ }
199
+ ],
200
+ "problem": "24 equal items for Circles in Hexagons",
201
+ "setup": "cirinhex",
202
+ "source_image": "https://erich-friedman.github.io/packing/cirinhex/hc24.gif",
203
+ "source_page": "https://erich-friedman.github.io/packing/cirinhex/"
204
+ }
data/solutions/generated/cirinpen_021_6869ffb03b036ff3.json ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinpen@21",
3
+ "container": {
4
+ "circumradius": 6.062450861101137,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 7.1268384178061055,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinpen@21",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/10/12",
16
+ "metric_expression": "7.107+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 7.107,
19
+ "reference_text": "s = 7.107+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "pent.21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
23
+ "title": "Circles in Pentagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000040000600004,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinpen@21",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/10/12",
37
+ "metric_expression": "7.107+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 7.107,
40
+ "reference_text": "s = 7.107+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "pent.21.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.21.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
44
+ "title": "Circles in Pentagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "sa",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinpen/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 3.6598410754965203,
58
+ "x": -3.791914864944996,
59
+ "y": 2.873492806719302
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 3.0657055802984927,
64
+ "x": -0.5025036604155535,
65
+ "y": 0.5989582411121483
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 0.9586271994924896,
70
+ "x": 2.459984300036194,
71
+ "y": 3.2254344972734414
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 4.063291469707737,
76
+ "x": 2.995561327721157,
77
+ "y": -0.8052411560860837
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 4.490713885977809,
82
+ "x": -0.8672773862621552,
83
+ "y": -3.8237425368619213
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 5.766333422116452,
88
+ "x": -3.9000387200451256,
89
+ "y": -1.5225359699433918
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 2.846174714548013,
94
+ "x": 3.6506887107682435,
95
+ "y": 1.6181098812605919
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 1.131801534800253,
100
+ "x": -0.9958098723690724,
101
+ "y": -1.8278031640785375
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 4.554133510959788,
106
+ "x": 4.826360580705366,
107
+ "y": 1.681528749194627e-05
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 5.459745905099429,
112
+ "x": -2.762588255322658,
113
+ "y": -3.1720074086688013
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 0.3428301931023547,
118
+ "x": 0.2062154313429499,
119
+ "y": 2.469249664733531
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 4.804487564171946,
124
+ "x": 1.4914208535462765,
125
+ "y": -4.5901211701013045
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 0.554815991127502,
130
+ "x": 1.706882920453977,
131
+ "y": 1.1470265265959527
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 0.5258648018939053,
136
+ "x": 0.997134659804434,
137
+ "y": -0.7244308013315206
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 5.627243545699054,
142
+ "x": 2.7954171674533197,
143
+ "y": -2.7953184185401607
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 3.19744942172433,
148
+ "x": -2.2883921236032947,
149
+ "y": -0.30153771074620705
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 1.662124483753993,
154
+ "x": -2.118734973636749,
155
+ "y": 1.7771332497773848
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 2.1919608400230377,
160
+ "x": 0.7969879457534769,
161
+ "y": -2.7144632623148897
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 6.041368698167864,
166
+ "x": -1.410002962501893,
167
+ "y": 3.6474223673488635
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 4.752171864428064,
172
+ "x": -3.9046002503233974,
173
+ "y": 0.8766116939608358
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 4.3504420688203425,
178
+ "x": 0.8213047026883471,
179
+ "y": 4.37238239963541
180
+ }
181
+ ],
182
+ "problem": "21 equal items for Circles in Pentagons",
183
+ "setup": "cirinpen",
184
+ "source_image": "https://erich-friedman.github.io/packing/cirinpen/pent.21.gif",
185
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/"
186
+ }
data/solutions/generated/cirinpen_022_ebdb05232e56526e.json ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinpen@22",
3
+ "container": {
4
+ "circumradius": 6.186441627951481,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 7.272598306156239,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinpen@22",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/10/12",
16
+ "metric_expression": "7.271+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 7.271,
19
+ "reference_text": "s = 7.271+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "pent.22.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.22.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
23
+ "title": "Circles in Pentagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.0000500010000102,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinpen@22",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/10/12",
37
+ "metric_expression": "7.271+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 7.271,
40
+ "reference_text": "s = 7.271+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "pent.22.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.22.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
44
+ "title": "Circles in Pentagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "sa",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinpen/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 5.847475548390671,
58
+ "x": 0.9838469024426377,
59
+ "y": -0.8793369785741922
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 4.210777066157473,
64
+ "x": 2.7031084366503952,
65
+ "y": -3.093051015679382
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 2.211154219463405,
70
+ "x": -1.0294087235411469,
71
+ "y": -1.8856942881803138
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 2.6402044074583513,
76
+ "x": -2.3892061818364487,
77
+ "y": -0.41897693717360157
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 6.675095200526167,
82
+ "x": 0.7164886294834394,
83
+ "y": -2.861488463706716
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 1.265364298786331,
88
+ "x": 2.300723774484204,
89
+ "y": 3.623515167101539
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 2.251822776523553,
94
+ "x": 1.5303397741326938,
95
+ "y": 1.7633536824607403
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 0.5619063525426929,
100
+ "x": -0.5498259647877785,
101
+ "y": 0.4045027894497503
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 4.315408617423113,
106
+ "x": -0.36176501568838476,
107
+ "y": 2.411626894345071
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 5.14525636504675,
112
+ "x": 0.2921899746408256,
113
+ "y": 4.3041314773518975
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 4.032913774162699,
118
+ "x": 3.878719156612016,
119
+ "y": -1.4749425161062044
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 0.5252210552889306,
124
+ "x": 3.5198363442136094,
125
+ "y": 1.9689004048216454
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 2.9299207161690903,
130
+ "x": -2.903715147259356,
131
+ "y": -3.267522328683144
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 2.5145536121326537,
136
+ "x": 4.69546124508067,
137
+ "y": 0.3507900978039925
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 3.3360178845945763,
142
+ "x": -1.0015209367993891,
143
+ "y": -3.885592828171756
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 4.903614876999143,
148
+ "x": -4.004913422293476,
149
+ "y": -1.597876787354115
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 2.058735682408642,
154
+ "x": -1.9980275761924906,
155
+ "y": 3.5618309364048137
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 0.16139505065608656,
160
+ "x": 1.5167791187312776,
161
+ "y": -4.703645521669129
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 0.7315603974115586,
166
+ "x": 2.7029040619279256,
167
+ "y": 0.14303054988656203
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 0.46857498517519725,
172
+ "x": -3.925362811179894,
173
+ "y": 2.905909804892462
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 2.0504942245794413,
178
+ "x": -2.1760253347659906,
179
+ "y": 1.5696980439706367
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 2.0194611309223403,
184
+ "x": -4.004889553475687,
185
+ "y": 0.7599856001465126
186
+ }
187
+ ],
188
+ "problem": "22 equal items for Circles in Pentagons",
189
+ "setup": "cirinpen",
190
+ "source_image": "https://erich-friedman.github.io/packing/cirinpen/pent.22.gif",
191
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/"
192
+ }
data/solutions/generated/cirinpen_023_0115bd21477c01e6.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinpen@23",
3
+ "container": {
4
+ "circumradius": 6.292543051568551,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 7.39732801025494,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinpen@23",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/10/12",
16
+ "metric_expression": "7.397+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 7.397,
19
+ "reference_text": "s = 7.397+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "pent.23.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.23.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
23
+ "title": "Circles in Pentagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinpen@23",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/10/12",
37
+ "metric_expression": "7.397+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 7.397,
40
+ "reference_text": "s = 7.397+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "pent.23.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.23.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
44
+ "title": "Circles in Pentagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "sa",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinpen/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 2.8222736615166593,
58
+ "x": -4.090773508160569,
59
+ "y": -2.9721034251773983
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 4.348962164064714,
64
+ "x": -2.1827422354691706,
65
+ "y": -3.571731340809483
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 3.428254582303271,
70
+ "x": -0.286647411872678,
71
+ "y": -4.208127511158245
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 0.1506936529987854,
76
+ "x": 1.657269529753854,
77
+ "y": -4.678585441608943
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 1.9850766455494389,
82
+ "x": 2.8328634493703513,
83
+ "y": -3.0605035466216726
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 4.688431831786556,
88
+ "x": -2.9169713570711586,
89
+ "y": -1.3527380407312168
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 2.889075000819751,
94
+ "x": -1.0089107482910702,
95
+ "y": -1.9523675710160961
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": -0.021887633989399902,
100
+ "x": 0.89492300084032,
101
+ "y": -2.565265578433891
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 5.415090480939164,
106
+ "x": 2.3431026924476446,
107
+ "y": -1.1213473108007805
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 5.4938563482319545,
112
+ "x": 4.33869739141044,
113
+ "y": -0.9879051970649911
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 3.8629927340798162,
118
+ "x": -4.090756320654918,
119
+ "y": 0.2666657862275729
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 4.041070895665768,
124
+ "x": -1.4437907069533287,
125
+ "y": -5.626911258124934e-06
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 4.864081772175538,
130
+ "x": 0.5397481990867562,
131
+ "y": -0.25642322905933246
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 4.907128307549354,
136
+ "x": 2.190474253265598,
137
+ "y": 0.872874678985311
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 1.8600576113467324,
142
+ "x": 4.321130582924418,
143
+ "y": 1.0120706437363178
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 5.504496300966454,
148
+ "x": -4.090773447682732,
149
+ "y": 2.972098314015306
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 0.6243873634175942,
154
+ "x": -2.6175571975638956,
155
+ "y": 1.619398370489704
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 3.562757611715143,
160
+ "x": -0.6282326052087157,
161
+ "y": 1.8262135576571241
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 2.558727740809431,
166
+ "x": 1.148745446599776,
167
+ "y": 2.744096428386879
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 3.1771698166901174,
172
+ "x": 3.145541439734377,
173
+ "y": 2.630158995905486
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 4.2596984430786335,
178
+ "x": -2.184559458549131,
179
+ "y": 3.5775023321469903
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 4.710151075394056,
184
+ "x": -0.2865497098197199,
185
+ "y": 4.208158076687209
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": 1.7316665189773388,
190
+ "x": 1.6574298463117145,
191
+ "y": 4.678375375007642
192
+ }
193
+ ],
194
+ "problem": "23 equal items for Circles in Pentagons",
195
+ "setup": "cirinpen",
196
+ "source_image": "https://erich-friedman.github.io/packing/cirinpen/pent.23.gif",
197
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/"
198
+ }
data/solutions/generated/cirinpen_024_9eb26a95274f1d1d.json ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinpen@24",
3
+ "container": {
4
+ "circumradius": 6.409384831954181,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 7.534683760979478,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinpen@24",
13
+ "credit": "David W",
14
+ "date": "July 2012",
15
+ "family_updated": "7/10/12",
16
+ "metric_expression": "7.534+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 7.534,
19
+ "reference_text": "s = 7.534+ | Found by David W. Cantrell | in July 2012.",
20
+ "source_image": "pent.24.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.24.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
23
+ "title": "Circles in Pentagons"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinpen@24",
34
+ "credit": "David W",
35
+ "date": "July 2012",
36
+ "family_updated": "7/10/12",
37
+ "metric_expression": "7.534+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 7.534,
40
+ "reference_text": "s = 7.534+ | Found by David W. Cantrell | in July 2012.",
41
+ "source_image": "pent.24.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinpen/pent.24.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/",
44
+ "title": "Circles in Pentagons"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinpen/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": -0.3532721745682055,
58
+ "x": -3.379357969116141,
59
+ "y": -3.3026568261384885
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": -0.19566012849829323,
64
+ "x": -1.4763238649780295,
65
+ "y": -3.920413950805529
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": -0.37895398346291725,
70
+ "x": 0.42178560598192716,
71
+ "y": -3.288741708656395
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 0.05404548984211905,
76
+ "x": 1.5860253955247057,
77
+ "y": -4.915497279008084
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 0.12238901525419804,
82
+ "x": 2.773574725517308,
83
+ "y": -3.2880391583910296
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": -0.028989046133885015,
88
+ "x": -4.185290533363312,
89
+ "y": -1.4721806442455416
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 0.004643990539947187,
94
+ "x": -1.8979981657251412,
95
+ "y": -1.958880449245837
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 0.46122787982148006,
100
+ "x": 0.0017002233588392312,
101
+ "y": -1.3332939801428898
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": -0.15155278701507283,
106
+ "x": 1.9992951891443371,
107
+ "y": -1.432062197954763
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": -0.322276272360775,
112
+ "x": 3.9896010286249544,
113
+ "y": -1.6292408612568636
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": -0.27115295341588347,
118
+ "x": -2.7039424130935683,
119
+ "y": -0.12839722606575846
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": -0.3635378463706336,
124
+ "x": -0.8042539008318129,
125
+ "y": 0.497178821418092
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 0.6127287762523734,
130
+ "x": 1.193525142863547,
131
+ "y": 0.4024489563937301
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 0.025623636211254863,
136
+ "x": 3.183400214070835,
137
+ "y": 0.2011221062346146
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": -0.004796221815804072,
142
+ "x": 5.173296346422198,
143
+ "y": -3.268346638626513e-06
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": -0.39398994108697794,
148
+ "x": -4.185289950951898,
149
+ "y": 1.215392493873702
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": -0.5980018131296744,
154
+ "x": -2.285599219455928,
155
+ "y": 1.8409822553511366
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": -0.10447581203047439,
160
+ "x": -0.38066470839638644,
161
+ "y": 2.451864206101654
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": -0.10991847079557145,
166
+ "x": 1.617144226923638,
167
+ "y": 2.3572448997833977
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 0.01810255201149933,
172
+ "x": 3.607022518560743,
173
+ "y": 2.155793301662741
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 0.2504663815347544,
178
+ "x": -3.777223692906887,
179
+ "y": 3.1733764728250495
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 0.4085313106253057,
184
+ "x": -1.8620199438861875,
185
+ "y": 3.795662172919909
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": -0.06215533964713401,
190
+ "x": 0.04125787789502965,
191
+ "y": 4.4140066535720734
192
+ },
193
+ {
194
+ "id": 24,
195
+ "rotation_radians": -0.2876373325120611,
196
+ "x": 2.0390419533684594,
197
+ "y": 4.313118458580701
198
+ }
199
+ ],
200
+ "problem": "24 equal items for Circles in Pentagons",
201
+ "setup": "cirinpen",
202
+ "source_image": "https://erich-friedman.github.io/packing/cirinpen/pent.24.gif",
203
+ "source_page": "https://erich-friedman.github.io/packing/cirinpen/"
204
+ }
data/solutions/generated/cirinsqu_021_65afc927a4d3cb10.json ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinsqu@21",
3
+ "container": {
4
+ "circumradius": 6.61788806130434,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 9.359107050563585,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinsqu@21",
13
+ "credit": "Erich Friedman Packing Center",
14
+ "date": "",
15
+ "family_updated": "10/9/10",
16
+ "metric_expression": "9.358+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 9.358,
19
+ "reference_text": "s = 9.358+",
20
+ "source_image": "cs21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
23
+ "title": "Circles in Squares"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinsqu@21",
34
+ "credit": "Erich Friedman Packing Center",
35
+ "date": "",
36
+ "family_updated": "10/9/10",
37
+ "metric_expression": "9.358+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 9.358,
40
+ "reference_text": "s = 9.358+",
41
+ "source_image": "cs21.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs21.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
44
+ "title": "Circles in Squares"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "sa",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinsqu/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 0.031335834800858345,
58
+ "x": -3.6774811073260305,
59
+ "y": -1.5261713953792755
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 0.18806163070689697,
64
+ "x": -1.2272996535648335,
65
+ "y": -3.97636514716743
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 0.057407715851270455,
70
+ "x": 0.1875181955679263,
71
+ "y": -2.562702502417391
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": -0.07011619437187622,
76
+ "x": 0.7027590429930316,
77
+ "y": -4.5008738289070225
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": -0.1609292906577318,
82
+ "x": 2.117976098087277,
83
+ "y": -3.085676931947126
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 0.04264179307422551,
88
+ "x": -5.091741902423577,
89
+ "y": -0.11192170838780192
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": -0.025124582501663627,
94
+ "x": -1.745803604680262,
95
+ "y": -2.044684591045012
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": -0.039669179394460526,
100
+ "x": -0.3309489622318112,
101
+ "y": -0.6310288323500547
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": -0.2607333444938922,
106
+ "x": 1.6011802814382883,
107
+ "y": -1.1478597641901664
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": -0.2733767426248828,
112
+ "x": 3.532226109773323,
113
+ "y": -1.6714265384282156
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 0.06594693993947323,
118
+ "x": -3.793845112794924,
119
+ "y": 1.409792390747889
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 0.03129562568741962,
124
+ "x": -2.3795789073304134,
125
+ "y": -0.004450230580988108
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 0.08735779882728893,
130
+ "x": 1.0956637531391267,
131
+ "y": 0.8832497525594439
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 0.09749772183635341,
136
+ "x": 3.0199206367862534,
137
+ "y": 0.261890268853739
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": -0.19547697421741728,
142
+ "x": 5.018584262067994,
143
+ "y": 0.18503450454786144
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 0.1964497755924529,
148
+ "x": -2.3796123970896303,
149
+ "y": 2.8240400779309267
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": -0.29209661920164914,
154
+ "x": -0.8612573420227886,
155
+ "y": 1.2974271941789646
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 0.1619824243135847,
160
+ "x": -0.42532892371560177,
161
+ "y": 3.249374445756573
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 0.3149068469111136,
166
+ "x": 1.528953871093923,
167
+ "y": 3.674710090728344
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": -0.1906369352992562,
172
+ "x": 2.943193397409424,
173
+ "y": 2.2604579446779938
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 0.20491149943447068,
178
+ "x": 5.6959787298459636e-06,
179
+ "y": 5.20365824844967
180
+ }
181
+ ],
182
+ "problem": "21 equal items for Circles in Squares",
183
+ "setup": "cirinsqu",
184
+ "source_image": "https://erich-friedman.github.io/packing/cirinsqu/cs21.gif",
185
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/"
186
+ }
data/solutions/generated/cirinsqu_022_27d48d864449f174.json ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinsqu@22",
3
+ "container": {
4
+ "circumradius": 6.692079645333952,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 9.464029794912205,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "cirinsqu@22",
13
+ "credit": "Erich Friedman Packing Center",
14
+ "date": "",
15
+ "family_updated": "10/9/10",
16
+ "metric_expression": "9.463+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 9.463,
19
+ "reference_text": "s = 9.463+",
20
+ "source_image": "cs22.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs22.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
23
+ "title": "Circles in Squares"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": false,
33
+ "case": "cirinsqu@22",
34
+ "credit": "Erich Friedman Packing Center",
35
+ "date": "",
36
+ "family_updated": "10/9/10",
37
+ "metric_expression": "9.463+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 9.463,
40
+ "reference_text": "s = 9.463+",
41
+ "source_image": "cs22.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs22.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
44
+ "title": "Circles in Squares"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinsqu/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 3.195614645097412,
58
+ "x": -3.2882116544307144e-06,
59
+ "y": 5.277833270198971
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 6.108483425353689,
64
+ "x": -7.218302839580598e-06,
65
+ "y": -5.277850572745698
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 4.091363213450977,
70
+ "x": -1.4145357909589504,
71
+ "y": 3.8633286447796373
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 2.819922047929226,
76
+ "x": -4.3133224285181155,
77
+ "y": -0.9645015219886645
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 4.852152248758673,
82
+ "x": -0.38040249190869035,
83
+ "y": -0.0007593440750623383
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 4.933082920592624,
88
+ "x": 2.4493592366864547,
89
+ "y": 2.828479470315736
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 1.5771801118394797,
94
+ "x": 0.5173970029571137,
95
+ "y": 3.3458616990814805
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 3.0298974970700665,
100
+ "x": -2.829230483350379,
101
+ "y": 2.4486001580166517
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 0.07399330625549187,
106
+ "x": -4.243485829557253,
107
+ "y": 1.0343380950131325
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 4.965197298986284,
112
+ "x": -2.329922041396489,
113
+ "y": 0.44741867070728153
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 3.2522130326720773,
118
+ "x": -2.899064002679962,
119
+ "y": -2.378754573816643
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 0.6788353282475786,
124
+ "x": 0.5172938583019396,
125
+ "y": -3.3458728754061426
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 3.430362627551541,
130
+ "x": 2.4493646443838086,
131
+ "y": 1.6242747857094724e-05
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 0.761349321662335,
136
+ "x": 5.277811033224809,
137
+ "y": -4.196026786707226e-05
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 4.440075694557708,
142
+ "x": 2.449284576401359,
143
+ "y": -2.8285400865430343
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 0.9377276316260912,
148
+ "x": 3.8636118421753096,
149
+ "y": 1.4142452255742446
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 4.119112687282977,
154
+ "x": -0.9530157713366987,
155
+ "y": -1.9170938885756426
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 0.4158339453198946,
160
+ "x": -1.4147054485460309,
161
+ "y": -3.863135766291049
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 1.0577387941192682,
166
+ "x": -0.8972190709774015,
167
+ "y": 1.931346912172529
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 4.5486397065461635,
172
+ "x": 3.863549915188038,
173
+ "y": -1.4142944557555825
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 4.173976828456406,
178
+ "x": 1.034727379128662,
179
+ "y": 1.4138744083726473
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 5.736372326506457,
184
+ "x": 1.0348821487746689,
185
+ "y": -1.4139789312874715
186
+ }
187
+ ],
188
+ "problem": "22 equal items for Circles in Squares",
189
+ "setup": "cirinsqu",
190
+ "source_image": "https://erich-friedman.github.io/packing/cirinsqu/cs22.gif",
191
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/"
192
+ }
data/solutions/generated/cirinsqu_023_cfa99060ee2203a1.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinsqu@23",
3
+ "container": {
4
+ "circumradius": 6.881779845968298,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 9.732306391434195,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "cirinsqu@23",
13
+ "credit": "Erich Friedman Packing Center",
14
+ "date": "",
15
+ "family_updated": "10/9/10",
16
+ "metric_expression": "2 + 2\u221a2 + 2\u221a6 = 9.727+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 9.727,
19
+ "reference_text": "s = 2 + 2\u221a2 + 2\u221a6 = 9.727+",
20
+ "source_image": "cs23.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs23.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
23
+ "title": "Circles in Squares"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": true,
33
+ "case": "cirinsqu@23",
34
+ "credit": "Erich Friedman Packing Center",
35
+ "date": "",
36
+ "family_updated": "10/9/10",
37
+ "metric_expression": "2 + 2\u221a2 + 2\u221a6 = 9.727+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 9.727,
40
+ "reference_text": "s = 2 + 2\u221a2 + 2\u221a6 = 9.727+",
41
+ "source_image": "cs23.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs23.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
44
+ "title": "Circles in Squares"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "cg",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinsqu/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 4.732293847791179,
58
+ "x": -5.467457365604396,
59
+ "y": -8.456804019123251e-05
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 3.8744196329020264,
64
+ "x": 3.01804627580388,
65
+ "y": 9.101404635540794e-05
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 4.020845309350018,
70
+ "x": 2.121309728265478,
71
+ "y": 3.3462280458695117
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 4.841643204829906,
76
+ "x": 0.7070538745423501,
77
+ "y": 4.760490285867206
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 2.364225302351122,
82
+ "x": -2.6390395694050186,
83
+ "y": -6.6772324571935e-06
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 5.719211135105661,
88
+ "x": 3.535753150730717,
89
+ "y": -1.9317933179223825
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": 5.64528814309086,
94
+ "x": 1.60369561612869,
95
+ "y": 1.4142542137812595
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 3.2994422130741476,
100
+ "x": -4.053296041000119,
101
+ "y": 1.4142380920429436
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 2.7733139680966463,
106
+ "x": -2.6390497941434337,
107
+ "y": 2.8284895217547046
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 2.36327502991977,
112
+ "x": -1.2248181463907781,
113
+ "y": 4.2427434148555765
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 5.521831286574688,
118
+ "x": 0.18945301349987137,
119
+ "y": -2.4035115915032237e-06
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 4.195595303051845,
124
+ "x": -1.2247908929762605,
125
+ "y": -1.4142482986093572
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 5.110279934015505,
130
+ "x": 0.18955015506943387,
131
+ "y": -2.828414527884231
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 2.6147656873000034,
136
+ "x": -4.0532057608788525,
137
+ "y": -1.4143409923341383
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 0.4777208930330352,
142
+ "x": 5.291573002643741,
143
+ "y": -0.17575366882142815
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": 2.8361991735927523,
148
+ "x": -1.2246962186366335,
149
+ "y": -4.2428370243061835
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 0.7298305392626335,
154
+ "x": 1.6037967090877872,
155
+ "y": -1.4141505713794587
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 3.591329696463422,
160
+ "x": 3.535560968305211,
161
+ "y": 1.9320027275307594
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 3.9777802366695587,
166
+ "x": -2.638949421454309,
167
+ "y": -2.8285854308164087
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 4.35197073011435,
172
+ "x": -1.2248022174868705,
173
+ "y": 1.4142375351836145
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 2.0314454901507744,
178
+ "x": 0.18943795525473975,
179
+ "y": 2.828494295268786
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 3.030460614117156,
184
+ "x": 2.1214946715631573,
185
+ "y": -3.346042759481892
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": 1.6642104761378178,
190
+ "x": 0.7072500482914589,
191
+ "y": -4.760294826880028
192
+ }
193
+ ],
194
+ "problem": "23 equal items for Circles in Squares",
195
+ "setup": "cirinsqu",
196
+ "source_image": "https://erich-friedman.github.io/packing/cirinsqu/cs23.gif",
197
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/"
198
+ }
data/solutions/generated/cirinsqu_024_e2eca298edbdb88c.json ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "cirinsqu@24",
3
+ "container": {
4
+ "circumradius": 6.9748433868661355,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 9.86391811313438,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "cirinsqu@24",
13
+ "credit": "Erich Friedman Packing Center",
14
+ "date": "",
15
+ "family_updated": "10/9/10",
16
+ "metric_expression": "6 + \u221a2 + \u221a6 = 9.863+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 9.863,
19
+ "reference_text": "s = 6 + \u221a2 + \u221a6 = 9.863+",
20
+ "source_image": "cs24.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs24.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
23
+ "title": "Circles in Squares"
24
+ },
25
+ "item": {
26
+ "radius": 1.0,
27
+ "type": "circle"
28
+ },
29
+ "metadata": {
30
+ "certification_slack": 1.000030000300001,
31
+ "friedman_reference": {
32
+ "analytical_or_proved": true,
33
+ "case": "cirinsqu@24",
34
+ "credit": "Erich Friedman Packing Center",
35
+ "date": "",
36
+ "family_updated": "10/9/10",
37
+ "metric_expression": "6 + \u221a2 + \u221a6 = 9.863+",
38
+ "metric_symbol": "s",
39
+ "metric_value": 9.863,
40
+ "reference_text": "s = 6 + \u221a2 + \u221a6 = 9.863+",
41
+ "source_image": "cs24.gif",
42
+ "source_image_url": "https://erich-friedman.github.io/packing/cirinsqu/cs24.gif",
43
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/",
44
+ "title": "Circles in Squares"
45
+ },
46
+ "generator": "polygon_packer_c",
47
+ "generator_profile": "best of cg/steepest/sa seed profiles",
48
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
49
+ "profile": "sa",
50
+ "source_url": "https://erich-friedman.github.io/packing/cirinsqu/",
51
+ "submitted_at": "2026-05-01T01:47:21+00:00",
52
+ "submitted_by": "polygon-packer-c seed"
53
+ },
54
+ "placements": [
55
+ {
56
+ "id": 1,
57
+ "rotation_radians": 6.458980337601513,
58
+ "x": -2.9863185775333847e-06,
59
+ "y": 5.5606043215398016
60
+ },
61
+ {
62
+ "id": 2,
63
+ "rotation_radians": 5.539326968392553,
64
+ "x": -1.4142561146874473,
65
+ "y": 1.3178599805853388
66
+ },
67
+ {
68
+ "id": 3,
69
+ "rotation_radians": 4.5130134179537995,
70
+ "x": -2.8285007272505247,
71
+ "y": 2.7321100478437055
72
+ },
73
+ {
74
+ "id": 4,
75
+ "rotation_radians": 4.473950844772073,
76
+ "x": -1.4142511683281873,
77
+ "y": 4.146355160579824
78
+ },
79
+ {
80
+ "id": 5,
81
+ "rotation_radians": 3.2241100035260666,
82
+ "x": 2.414270048873462,
83
+ "y": -0.41422512122389377
84
+ },
85
+ {
86
+ "id": 6,
87
+ "rotation_radians": 0.12088786414699924,
88
+ "x": 2.732121133674591,
89
+ "y": -2.8284932858396528
90
+ },
91
+ {
92
+ "id": 7,
93
+ "rotation_radians": -0.10649433885218118,
94
+ "x": -4.14636813445765,
95
+ "y": -1.4142340632116945
96
+ },
97
+ {
98
+ "id": 8,
99
+ "rotation_radians": 2.1765684953137256,
100
+ "x": -7.696597805914026e-06,
101
+ "y": -0.09638821010026156
102
+ },
103
+ {
104
+ "id": 9,
105
+ "rotation_radians": 4.8309819648578625,
106
+ "x": 2.828490756134568,
107
+ "y": 2.732113463235737
108
+ },
109
+ {
110
+ "id": 10,
111
+ "rotation_radians": 3.1846078137336367,
112
+ "x": -2.4142507719019624,
113
+ "y": -0.4142493890021864
114
+ },
115
+ {
116
+ "id": 11,
117
+ "rotation_radians": 4.375191248951667,
118
+ "x": -3.8285005882428615,
119
+ "y": 1.0000033867078308
120
+ },
121
+ {
122
+ "id": 12,
123
+ "rotation_radians": 1.279032094866606,
124
+ "x": 8.822483508541562e-07,
125
+ "y": -5.560614904068849
126
+ },
127
+ {
128
+ "id": 13,
129
+ "rotation_radians": 3.767761915146618,
130
+ "x": -5.055459888683431e-06,
131
+ "y": 2.732108269658693
132
+ },
133
+ {
134
+ "id": 14,
135
+ "rotation_radians": 4.267002918269961,
136
+ "x": 1.0000303675170052,
137
+ "y": -1.828478318891239
138
+ },
139
+ {
140
+ "id": 15,
141
+ "rotation_radians": 2.7178646767568786,
142
+ "x": 5.560610261844937,
143
+ "y": 2.8976611308494123e-06
144
+ },
145
+ {
146
+ "id": 16,
147
+ "rotation_radians": -0.11773832011134933,
148
+ "x": 1.000033167388488,
149
+ "y": -3.828530664900395
150
+ },
151
+ {
152
+ "id": 17,
153
+ "rotation_radians": 4.405580354212452,
154
+ "x": -1.000060620317526,
155
+ "y": -3.8285511639757286
156
+ },
157
+ {
158
+ "id": 18,
159
+ "rotation_radians": 3.540869972304411,
160
+ "x": -2.7321267667729785,
161
+ "y": -2.8284822136546923
162
+ },
163
+ {
164
+ "id": 19,
165
+ "rotation_radians": 0.8693068505285926,
166
+ "x": -5.560609607487422,
167
+ "y": 8.18750016831956e-06
168
+ },
169
+ {
170
+ "id": 20,
171
+ "rotation_radians": 1.7480243356156557,
172
+ "x": 3.828520872558982,
173
+ "y": 1.0000270904595943
174
+ },
175
+ {
176
+ "id": 21,
177
+ "rotation_radians": 4.876678510948428,
178
+ "x": -1.0000115111194912,
179
+ "y": -1.8284999714046837
180
+ },
181
+ {
182
+ "id": 22,
183
+ "rotation_radians": 3.5948153464262655,
184
+ "x": 1.4142432614436635,
185
+ "y": 4.1463580698486515
186
+ },
187
+ {
188
+ "id": 23,
189
+ "rotation_radians": 5.1727923315725945,
190
+ "x": 4.1463644077221105,
191
+ "y": -1.4142422052425538
192
+ },
193
+ {
194
+ "id": 24,
195
+ "rotation_radians": 6.838132625171063,
196
+ "x": 1.4142424180996134,
197
+ "y": 1.3178632422959804
198
+ }
199
+ ],
200
+ "problem": "24 equal items for Circles in Squares",
201
+ "setup": "cirinsqu",
202
+ "source_image": "https://erich-friedman.github.io/packing/cirinsqu/cs24.gif",
203
+ "source_page": "https://erich-friedman.github.io/packing/cirinsqu/"
204
+ }
data/solutions/generated/domintri_021_de2eca0c1c28a96d.json ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "domintri@21",
3
+ "container": {
4
+ "circumradius": 6.477816768931373,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 11.219907765910799,
7
+ "sides": 3,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "domintri@21",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2026",
15
+ "family_updated": "4/23/26",
16
+ "metric_expression": "2+5\u221a3 = 10.66025+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 10.66025,
19
+ "reference_text": "s = 2+5\u221a3 = 10.66025+ | Found by Maurizio Morandi | in April 2026.",
20
+ "source_image": "21.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/21.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
23
+ "title": "Dominoes in Triangles"
24
+ },
25
+ "item": {
26
+ "height": 1.0,
27
+ "type": "rectangle",
28
+ "width": 2.0
29
+ },
30
+ "metadata": {
31
+ "certification_slack": 1.0000600015000203,
32
+ "friedman_reference": {
33
+ "analytical_or_proved": true,
34
+ "case": "domintri@21",
35
+ "credit": "Maurizio Morandi",
36
+ "date": "April 2026",
37
+ "family_updated": "4/23/26",
38
+ "metric_expression": "2+5\u221a3 = 10.66025+",
39
+ "metric_symbol": "s",
40
+ "metric_value": 10.66025,
41
+ "reference_text": "s = 2+5\u221a3 = 10.66025+ | Found by Maurizio Morandi | in April 2026.",
42
+ "source_image": "21.png",
43
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/21.png",
44
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
45
+ "title": "Dominoes in Triangles"
46
+ },
47
+ "generator": "polygon_packer_c",
48
+ "generator_profile": "best of cg/steepest/sa seed profiles",
49
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
50
+ "profile": "sa",
51
+ "source_url": "https://erich-friedman.github.io/packing/domintri/",
52
+ "submitted_at": "2026-05-01T01:47:21+00:00",
53
+ "submitted_by": "polygon-packer-c seed"
54
+ },
55
+ "placements": [
56
+ {
57
+ "id": 1,
58
+ "rotation_radians": 4.680915221690283,
59
+ "x": -0.7075708495529313,
60
+ "y": -1.7081167148744332
61
+ },
62
+ {
63
+ "id": 2,
64
+ "rotation_radians": 6.238339019829254,
65
+ "x": -2.194674183369906,
66
+ "y": -3.896914052700835
67
+ },
68
+ {
69
+ "id": 3,
70
+ "rotation_radians": 3.011290125988504,
71
+ "x": 1.9468214269513855,
72
+ "y": -1.4546978270408746
73
+ },
74
+ {
75
+ "id": 4,
76
+ "rotation_radians": 4.174120386651336,
77
+ "x": -0.08613714039341266,
78
+ "y": 2.619443481842126
79
+ },
80
+ {
81
+ "id": 5,
82
+ "rotation_radians": 6.260467059028002,
83
+ "x": -2.2230917875306453,
84
+ "y": -1.8115247843570756
85
+ },
86
+ {
87
+ "id": 6,
88
+ "rotation_radians": 0.9542785812523259,
89
+ "x": -1.0970558160588972,
90
+ "y": 3.054779092436537
91
+ },
92
+ {
93
+ "id": 7,
94
+ "rotation_radians": 5.800946384430289,
95
+ "x": 4.470193687166305,
96
+ "y": 0.5215681741801655
97
+ },
98
+ {
99
+ "id": 8,
100
+ "rotation_radians": 4.575977796278439,
101
+ "x": 0.4179596267836648,
102
+ "y": -1.2805843435529938
103
+ },
104
+ {
105
+ "id": 9,
106
+ "rotation_radians": 4.712379920407741,
107
+ "x": -2.7388959324849744,
108
+ "y": 2.877484250164085
109
+ },
110
+ {
111
+ "id": 10,
112
+ "rotation_radians": 2.5858935127490126,
113
+ "x": 1.3952799367842732,
114
+ "y": 0.016320113360215
115
+ },
116
+ {
117
+ "id": 11,
118
+ "rotation_radians": 4.1860873273969315,
119
+ "x": -2.041118834908269,
120
+ "y": 1.2224078934666474
121
+ },
122
+ {
123
+ "id": 12,
124
+ "rotation_radians": 4.186093972059615,
125
+ "x": -1.0840075511797593,
126
+ "y": 0.8790733356683307
127
+ },
128
+ {
129
+ "id": 13,
130
+ "rotation_radians": 2.6180485255392667,
131
+ "x": -2.1129962711763177,
132
+ "y": 4.382312648961315
133
+ },
134
+ {
135
+ "id": 14,
136
+ "rotation_radians": 1.045560172490332,
137
+ "x": 0.8199292738156931,
138
+ "y": 2.110927527547445
139
+ },
140
+ {
141
+ "id": 15,
142
+ "rotation_radians": 3.1415989187948656,
143
+ "x": -2.238859521988467,
144
+ "y": -2.839650950642868
145
+ },
146
+ {
147
+ "id": 16,
148
+ "rotation_radians": 4.186111122483624,
149
+ "x": -0.20877780855667732,
150
+ "y": 0.3948111307698921
151
+ },
152
+ {
153
+ "id": 17,
154
+ "rotation_radians": 5.74448393920612,
155
+ "x": 2.710482927138211,
156
+ "y": 1.5801042416978601
157
+ },
158
+ {
159
+ "id": 18,
160
+ "rotation_radians": 5.322673546762745,
161
+ "x": 3.48798451301135,
162
+ "y": -0.5247600960112315
163
+ },
164
+ {
165
+ "id": 19,
166
+ "rotation_radians": 2.5830563374604467,
167
+ "x": 1.8800164142248137,
168
+ "y": 0.8965117265562664
169
+ },
170
+ {
171
+ "id": 20,
172
+ "rotation_radians": 3.6651879974413157,
173
+ "x": -0.12268458589224218,
174
+ "y": -3.233442397766182
175
+ },
176
+ {
177
+ "id": 21,
178
+ "rotation_radians": 6.121360172546453,
179
+ "x": -2.1707778589109537,
180
+ "y": -0.5800805112518915
181
+ }
182
+ ],
183
+ "problem": "21 equal items for Dominoes in Triangles",
184
+ "setup": "domintri",
185
+ "source_image": "https://erich-friedman.github.io/packing/domintri/21.png",
186
+ "source_page": "https://erich-friedman.github.io/packing/domintri/"
187
+ }
data/solutions/generated/domintri_022_6301aae692a9ac9b.json ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "domintri@22",
3
+ "container": {
4
+ "circumradius": 6.424775861213207,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 11.128038218863363,
7
+ "sides": 3,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "domintri@22",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2026",
15
+ "family_updated": "4/23/26",
16
+ "metric_expression": "4(1+\u221a3) = 10.92820+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 10.9282,
19
+ "reference_text": "s = 4(1+\u221a3) = 10.92820+ | Found by Maurizio Morandi | in April 2026.",
20
+ "source_image": "22.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/22.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
23
+ "title": "Dominoes in Triangles"
24
+ },
25
+ "item": {
26
+ "height": 1.0,
27
+ "type": "rectangle",
28
+ "width": 2.0
29
+ },
30
+ "metadata": {
31
+ "certification_slack": 1.0000500010000102,
32
+ "friedman_reference": {
33
+ "analytical_or_proved": true,
34
+ "case": "domintri@22",
35
+ "credit": "Maurizio Morandi",
36
+ "date": "April 2026",
37
+ "family_updated": "4/23/26",
38
+ "metric_expression": "4(1+\u221a3) = 10.92820+",
39
+ "metric_symbol": "s",
40
+ "metric_value": 10.9282,
41
+ "reference_text": "s = 4(1+\u221a3) = 10.92820+ | Found by Maurizio Morandi | in April 2026.",
42
+ "source_image": "22.png",
43
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/22.png",
44
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
45
+ "title": "Dominoes in Triangles"
46
+ },
47
+ "generator": "polygon_packer_c",
48
+ "generator_profile": "best of cg/steepest/sa seed profiles",
49
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
50
+ "profile": "steepest",
51
+ "source_url": "https://erich-friedman.github.io/packing/domintri/",
52
+ "submitted_at": "2026-05-01T01:47:21+00:00",
53
+ "submitted_by": "polygon-packer-c seed"
54
+ },
55
+ "placements": [
56
+ {
57
+ "id": 1,
58
+ "rotation_radians": 3.665193420477834,
59
+ "x": 3.0372374447717925,
60
+ "y": -1.3784343971717528
61
+ },
62
+ {
63
+ "id": 2,
64
+ "rotation_radians": 1.5673697300057214,
65
+ "x": -2.699042968482274,
66
+ "y": -3.5900245882170942
67
+ },
68
+ {
69
+ "id": 3,
70
+ "rotation_radians": 4.708990118401937,
71
+ "x": -0.6906720907958471,
72
+ "y": -1.6649218560625652
73
+ },
74
+ {
75
+ "id": 4,
76
+ "rotation_radians": 4.63110583586046,
77
+ "x": -2.6328234681647547,
78
+ "y": 2.7282598477772964
79
+ },
80
+ {
81
+ "id": 5,
82
+ "rotation_radians": 2.094398967095128,
83
+ "x": 2.1834789003849986,
84
+ "y": -0.13924821068382875
85
+ },
86
+ {
87
+ "id": 6,
88
+ "rotation_radians": -0.5111448273541762,
89
+ "x": 2.6170980433100186,
90
+ "y": 1.6066483914718495
91
+ },
92
+ {
93
+ "id": 7,
94
+ "rotation_radians": 2.620115913671843,
95
+ "x": -1.0234408146196117,
96
+ "y": 2.5592118258758925
97
+ },
98
+ {
99
+ "id": 8,
100
+ "rotation_radians": 3.616770188134574,
101
+ "x": 4.765404776060249,
102
+ "y": -0.3254438845559509
103
+ },
104
+ {
105
+ "id": 9,
106
+ "rotation_radians": 1.5894139046778504,
107
+ "x": 0.358138285433022,
108
+ "y": -1.2322945651447959
109
+ },
110
+ {
111
+ "id": 10,
112
+ "rotation_radians": 2.8376123126688184,
113
+ "x": -1.0982499951584226,
114
+ "y": 0.11019828267086891
115
+ },
116
+ {
117
+ "id": 11,
118
+ "rotation_radians": 0.005957588341620149,
119
+ "x": -2.200834432194795,
120
+ "y": -0.8992045031364964
121
+ },
122
+ {
123
+ "id": 12,
124
+ "rotation_radians": 4.718346065921992,
125
+ "x": -1.6907669706066129,
126
+ "y": -3.3963349850826146
127
+ },
128
+ {
129
+ "id": 13,
130
+ "rotation_radians": 3.5876760300774526,
131
+ "x": 3.7098398593218485,
132
+ "y": 0.28859698377449977
133
+ },
134
+ {
135
+ "id": 14,
136
+ "rotation_radians": 0.005956313778215679,
137
+ "x": -2.1961787392692256,
138
+ "y": -1.8992448549743952
139
+ },
140
+ {
141
+ "id": 15,
142
+ "rotation_radians": 0.7829858100425973,
143
+ "x": 0.6935188359199477,
144
+ "y": 2.0435257460572
145
+ },
146
+ {
147
+ "id": 16,
148
+ "rotation_radians": 0.7717182259200654,
149
+ "x": 0.8947079480316786,
150
+ "y": 0.8283228573649937
151
+ },
152
+ {
153
+ "id": 17,
154
+ "rotation_radians": 4.798983898743175,
155
+ "x": 1.4318079639678114,
156
+ "y": -1.5900520756822254
157
+ },
158
+ {
159
+ "id": 18,
160
+ "rotation_radians": 6.806782417722895,
161
+ "x": -0.0515307405427594,
162
+ "y": -3.161732721748257
163
+ },
164
+ {
165
+ "id": 19,
166
+ "rotation_radians": 5.75958627712358,
167
+ "x": -0.3007711658070146,
168
+ "y": 3.305617334392546
169
+ },
170
+ {
171
+ "id": 20,
172
+ "rotation_radians": -0.5361381663888575,
173
+ "x": -1.096253299042819,
174
+ "y": 1.3847297698833205
175
+ },
176
+ {
177
+ "id": 21,
178
+ "rotation_radians": 4.718436967501354,
179
+ "x": -2.7063411930411845,
180
+ "y": 0.6255067060916327
181
+ },
182
+ {
183
+ "id": 22,
184
+ "rotation_radians": 5.806682862434497,
185
+ "x": -2.0943905832043486,
186
+ "y": 4.287445421080233
187
+ }
188
+ ],
189
+ "problem": "22 equal items for Dominoes in Triangles",
190
+ "setup": "domintri",
191
+ "source_image": "https://erich-friedman.github.io/packing/domintri/22.png",
192
+ "source_page": "https://erich-friedman.github.io/packing/domintri/"
193
+ }
data/solutions/generated/domintri_023_7b6e8b12db0049b9.json ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "domintri@23",
3
+ "container": {
4
+ "circumradius": 6.556092417440949,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 11.355485166124788,
7
+ "sides": 3,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "domintri@23",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2026",
15
+ "family_updated": "4/23/26",
16
+ "metric_expression": "10+2/\u221a3 = 11.15470+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 11.1547,
19
+ "reference_text": "s = 10+2/\u221a3 = 11.15470+ | Found by Maurizio Morandi | in April 2026.",
20
+ "source_image": "23.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/23.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
23
+ "title": "Dominoes in Triangles"
24
+ },
25
+ "item": {
26
+ "height": 1.0,
27
+ "type": "rectangle",
28
+ "width": 2.0
29
+ },
30
+ "metadata": {
31
+ "certification_slack": 1.0000600015000203,
32
+ "friedman_reference": {
33
+ "analytical_or_proved": true,
34
+ "case": "domintri@23",
35
+ "credit": "Maurizio Morandi",
36
+ "date": "April 2026",
37
+ "family_updated": "4/23/26",
38
+ "metric_expression": "10+2/\u221a3 = 11.15470+",
39
+ "metric_symbol": "s",
40
+ "metric_value": 11.1547,
41
+ "reference_text": "s = 10+2/\u221a3 = 11.15470+ | Found by Maurizio Morandi | in April 2026.",
42
+ "source_image": "23.png",
43
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/23.png",
44
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
45
+ "title": "Dominoes in Triangles"
46
+ },
47
+ "generator": "polygon_packer_c",
48
+ "generator_profile": "best of cg/steepest/sa seed profiles",
49
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
50
+ "profile": "cg",
51
+ "source_url": "https://erich-friedman.github.io/packing/domintri/",
52
+ "submitted_at": "2026-05-01T01:47:21+00:00",
53
+ "submitted_by": "polygon-packer-c seed"
54
+ },
55
+ "placements": [
56
+ {
57
+ "id": 1,
58
+ "rotation_radians": 5.235988682925896,
59
+ "x": 2.854715852572897,
60
+ "y": -0.9822256266578756
61
+ },
62
+ {
63
+ "id": 2,
64
+ "rotation_radians": 5.250746448950501,
65
+ "x": 4.620273185487819,
66
+ "y": 0.0455196718465068
67
+ },
68
+ {
69
+ "id": 3,
70
+ "rotation_radians": 6.177296039564979,
71
+ "x": -1.222550664122483,
72
+ "y": 2.514647184343075
73
+ },
74
+ {
75
+ "id": 4,
76
+ "rotation_radians": 6.357760743870008,
77
+ "x": -1.2146990455573436,
78
+ "y": -1.781871441628237
79
+ },
80
+ {
81
+ "id": 5,
82
+ "rotation_radians": 5.240693219556397,
83
+ "x": 3.7439203777120755,
84
+ "y": -0.4661353994741867
85
+ },
86
+ {
87
+ "id": 6,
88
+ "rotation_radians": 4.69517496406959,
89
+ "x": 0.3218541794315702,
90
+ "y": 2.2022361286129195
91
+ },
92
+ {
93
+ "id": 7,
94
+ "rotation_radians": 5.759593224132546,
95
+ "x": -1.1619076975689029,
96
+ "y": 3.878619953675184
97
+ },
98
+ {
99
+ "id": 8,
100
+ "rotation_radians": 6.23649212473227,
101
+ "x": -2.2515298006268814,
102
+ "y": 0.5540223668909977
103
+ },
104
+ {
105
+ "id": 9,
106
+ "rotation_radians": 4.687083228337869,
107
+ "x": 1.2894496694214788,
108
+ "y": 0.5878442647348312
109
+ },
110
+ {
111
+ "id": 10,
112
+ "rotation_radians": 3.2010428475556294,
113
+ "x": -1.228597390826323,
114
+ "y": -0.7519915104185423
115
+ },
116
+ {
117
+ "id": 11,
118
+ "rotation_radians": 4.712342072194746,
119
+ "x": -2.777995614234273,
120
+ "y": -2.9455916244172813
121
+ },
122
+ {
123
+ "id": 12,
124
+ "rotation_radians": 4.712329942904276,
125
+ "x": -2.7740019107101346,
126
+ "y": -0.9454965390192629
127
+ },
128
+ {
129
+ "id": 13,
130
+ "rotation_radians": 5.759586474317671,
131
+ "x": 1.9372456438189367,
132
+ "y": 2.089315739810874
133
+ },
134
+ {
135
+ "id": 14,
136
+ "rotation_radians": 4.768023334773085,
137
+ "x": 0.30095859897588645,
138
+ "y": -1.1383151074622373
139
+ },
140
+ {
141
+ "id": 15,
142
+ "rotation_radians": 3.6681641523055846,
143
+ "x": 2.92055815733062,
144
+ "y": 0.7913663406495277
145
+ },
146
+ {
147
+ "id": 16,
148
+ "rotation_radians": -0.10587347636396144,
149
+ "x": -1.230718921808486,
150
+ "y": 1.5098164615980858
151
+ },
152
+ {
153
+ "id": 17,
154
+ "rotation_radians": 3.6651882116609684,
155
+ "x": -2.142285090089191,
156
+ "y": -4.444647686400859
157
+ },
158
+ {
159
+ "id": 18,
160
+ "rotation_radians": 5.241701089429151,
161
+ "x": 1.9590439798814532,
162
+ "y": -1.4924356940194763
163
+ },
164
+ {
165
+ "id": 19,
166
+ "rotation_radians": 3.1845284625117616,
167
+ "x": -1.2521489440944509,
168
+ "y": -2.8820127656683727
169
+ },
170
+ {
171
+ "id": 20,
172
+ "rotation_radians": 4.712382700736236,
173
+ "x": -2.778022803867627,
174
+ "y": 2.100227584566125
175
+ },
176
+ {
177
+ "id": 21,
178
+ "rotation_radians": 3.668304838661541,
179
+ "x": 0.8638588474189568,
180
+ "y": -2.69008528574402
181
+ },
182
+ {
183
+ "id": 22,
184
+ "rotation_radians": 1.5707898451457138,
185
+ "x": -2.778022693309244,
186
+ "y": 4.100331558231138
187
+ },
188
+ {
189
+ "id": 23,
190
+ "rotation_radians": 6.284768266410077,
191
+ "x": -0.23014401076610144,
192
+ "y": 0.4007713931615883
193
+ }
194
+ ],
195
+ "problem": "23 equal items for Dominoes in Triangles",
196
+ "setup": "domintri",
197
+ "source_image": "https://erich-friedman.github.io/packing/domintri/23.png",
198
+ "source_page": "https://erich-friedman.github.io/packing/domintri/"
199
+ }
data/solutions/generated/domintri_024_af99e7edd2e30109.json ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "domintri@24",
3
+ "container": {
4
+ "circumradius": 6.7984944649245795,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 11.77533782822516,
7
+ "sides": 3,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "domintri@24",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2026",
15
+ "family_updated": "4/23/26",
16
+ "metric_expression": "9+4/\u221a3 = 11.30940+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 11.3094,
19
+ "reference_text": "s = 9+4/\u221a3 = 11.30940+ | Found by Maurizio Morandi | in April 2026.",
20
+ "source_image": "24.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/24.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
23
+ "title": "Dominoes in Triangles"
24
+ },
25
+ "item": {
26
+ "height": 1.0,
27
+ "type": "rectangle",
28
+ "width": 2.0
29
+ },
30
+ "metadata": {
31
+ "certification_slack": 1.0000500010000102,
32
+ "friedman_reference": {
33
+ "analytical_or_proved": true,
34
+ "case": "domintri@24",
35
+ "credit": "Maurizio Morandi",
36
+ "date": "April 2026",
37
+ "family_updated": "4/23/26",
38
+ "metric_expression": "9+4/\u221a3 = 11.30940+",
39
+ "metric_symbol": "s",
40
+ "metric_value": 11.3094,
41
+ "reference_text": "s = 9+4/\u221a3 = 11.30940+ | Found by Maurizio Morandi | in April 2026.",
42
+ "source_image": "24.png",
43
+ "source_image_url": "https://erich-friedman.github.io/packing/domintri/24.png",
44
+ "source_page": "https://erich-friedman.github.io/packing/domintri/",
45
+ "title": "Dominoes in Triangles"
46
+ },
47
+ "generator": "polygon_packer_c",
48
+ "generator_profile": "best of cg/steepest/sa seed profiles",
49
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
50
+ "profile": "cg",
51
+ "source_url": "https://erich-friedman.github.io/packing/domintri/",
52
+ "submitted_at": "2026-05-01T01:47:21+00:00",
53
+ "submitted_by": "polygon-packer-c seed"
54
+ },
55
+ "placements": [
56
+ {
57
+ "id": 1,
58
+ "rotation_radians": 4.712389934733722,
59
+ "x": -2.899227610821278,
60
+ "y": -4.304995106041819
61
+ },
62
+ {
63
+ "id": 2,
64
+ "rotation_radians": 4.712347494609814,
65
+ "x": -2.8991490453192825,
66
+ "y": 4.036052709473393
67
+ },
68
+ {
69
+ "id": 3,
70
+ "rotation_radians": 3.665181654395581,
71
+ "x": 2.181154466036242,
72
+ "y": -2.0884284305844116
73
+ },
74
+ {
75
+ "id": 4,
76
+ "rotation_radians": 0.834212591725907,
77
+ "x": 0.7758234944666274,
78
+ "y": -0.31397258895352265
79
+ },
80
+ {
81
+ "id": 5,
82
+ "rotation_radians": 5.759581237067471,
83
+ "x": 2.424373812294675,
84
+ "y": 1.8881658877706722
85
+ },
86
+ {
87
+ "id": 6,
88
+ "rotation_radians": 4.571924312771855,
89
+ "x": -0.740086150879544,
90
+ "y": -0.24489528704326938
91
+ },
92
+ {
93
+ "id": 7,
94
+ "rotation_radians": 2.6179958014129356,
95
+ "x": 0.7181844582923431,
96
+ "y": 2.9331053256535022
97
+ },
98
+ {
99
+ "id": 8,
100
+ "rotation_radians": 3.11363539771062,
101
+ "x": -2.3667335256946544,
102
+ "y": -0.7904455903558403
103
+ },
104
+ {
105
+ "id": 9,
106
+ "rotation_radians": 4.186360033001716,
107
+ "x": 3.337916521201941,
108
+ "y": -0.3129221926537729
109
+ },
110
+ {
111
+ "id": 10,
112
+ "rotation_radians": 1.571675991365645,
113
+ "x": -0.8980094121819339,
114
+ "y": 3.1415099463730156
115
+ },
116
+ {
117
+ "id": 11,
118
+ "rotation_radians": 6.257078339815741,
119
+ "x": -2.3850856722422,
120
+ "y": -1.7974402727667562
121
+ },
122
+ {
123
+ "id": 12,
124
+ "rotation_radians": 3.103885178040934,
125
+ "x": -2.318578871200283,
126
+ "y": 0.2182874353625639
127
+ },
128
+ {
129
+ "id": 13,
130
+ "rotation_radians": 3.665189651104246,
131
+ "x": 4.860624371439264,
132
+ "y": -0.5414702129689867
133
+ },
134
+ {
135
+ "id": 14,
136
+ "rotation_radians": 3.9861362932504463,
137
+ "x": 1.6084588874034904,
138
+ "y": -0.9028494543790576
139
+ },
140
+ {
141
+ "id": 15,
142
+ "rotation_radians": 2.4356863540739853,
143
+ "x": 1.9772253011575238,
144
+ "y": 0.7865368650314114
145
+ },
146
+ {
147
+ "id": 16,
148
+ "rotation_radians": 2.617988372759859,
149
+ "x": 4.182414770372991,
150
+ "y": 0.9330346291831157
151
+ },
152
+ {
153
+ "id": 17,
154
+ "rotation_radians": 1.5734715250141864,
155
+ "x": -1.8960407627282814,
156
+ "y": 1.7237744541041897
157
+ },
158
+ {
159
+ "id": 18,
160
+ "rotation_radians": 4.712628503474931,
161
+ "x": -1.8988276756100098,
162
+ "y": 3.726647680227827
163
+ },
164
+ {
165
+ "id": 19,
166
+ "rotation_radians": 3.0842302979076375,
167
+ "x": -0.3651794901134868,
168
+ "y": -1.8444643617824752
169
+ },
170
+ {
171
+ "id": 20,
172
+ "rotation_radians": 5.42564284015502,
173
+ "x": 0.08166926790043864,
174
+ "y": 1.2249337456813842
175
+ },
176
+ {
177
+ "id": 21,
178
+ "rotation_radians": 1.5730507204742608,
179
+ "x": -2.8969857616560777,
180
+ "y": 1.9424938042922415
181
+ },
182
+ {
183
+ "id": 22,
184
+ "rotation_radians": 6.80678335111062,
185
+ "x": 0.4459092571505868,
186
+ "y": -3.0831103549057177
187
+ },
188
+ {
189
+ "id": 23,
190
+ "rotation_radians": 3.121535076109764,
191
+ "x": -2.1734400788181745,
192
+ "y": -2.8086106625644245
193
+ },
194
+ {
195
+ "id": 24,
196
+ "rotation_radians": 3.6651905248435552,
197
+ "x": -1.2831305959292039,
198
+ "y": -4.088549984427801
199
+ }
200
+ ],
201
+ "problem": "24 equal items for Dominoes in Triangles",
202
+ "setup": "domintri",
203
+ "source_image": "https://erich-friedman.github.io/packing/domintri/24.png",
204
+ "source_page": "https://erich-friedman.github.io/packing/domintri/"
205
+ }
data/solutions/generated/hexincir_021_49a047c29bb184c3.json ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexincir@21",
3
+ "container": {
4
+ "radius": 4.68340545778963,
5
+ "type": "circle"
6
+ },
7
+ "friedman_reference": {
8
+ "analytical_or_proved": false,
9
+ "case": "hexincir@21",
10
+ "credit": "Enea Victor",
11
+ "date": "April 2026",
12
+ "family_updated": "4/28/26",
13
+ "metric_expression": "4.68339+",
14
+ "metric_symbol": "r",
15
+ "metric_value": 4.68339,
16
+ "reference_text": "r = 4.68339+ | Found by Enea Victor | in April 2026.",
17
+ "source_image": "21.png",
18
+ "source_image_url": "https://erich-friedman.github.io/packing/hexincir/21.png",
19
+ "source_page": "https://erich-friedman.github.io/packing/hexincir/",
20
+ "title": "Hexagons in Circles"
21
+ },
22
+ "item": {
23
+ "circumradius": 1.0000000000000002,
24
+ "side_length": 1.0,
25
+ "sides": 6,
26
+ "type": "regular_polygon"
27
+ },
28
+ "metadata": {
29
+ "certification_slack": 1.000040000600004,
30
+ "friedman_reference": {
31
+ "analytical_or_proved": false,
32
+ "case": "hexincir@21",
33
+ "credit": "Enea Victor",
34
+ "date": "April 2026",
35
+ "family_updated": "4/28/26",
36
+ "metric_expression": "4.68339+",
37
+ "metric_symbol": "r",
38
+ "metric_value": 4.68339,
39
+ "reference_text": "r = 4.68339+ | Found by Enea Victor | in April 2026.",
40
+ "source_image": "21.png",
41
+ "source_image_url": "https://erich-friedman.github.io/packing/hexincir/21.png",
42
+ "source_page": "https://erich-friedman.github.io/packing/hexincir/",
43
+ "title": "Hexagons in Circles"
44
+ },
45
+ "generator": "polygon_packer_c",
46
+ "generator_profile": "best of cg/steepest/sa seed profiles",
47
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
48
+ "profile": "cg",
49
+ "source_url": "https://erich-friedman.github.io/packing/hexincir/",
50
+ "submitted_at": "2026-05-01T01:47:21+00:00",
51
+ "submitted_by": "polygon-packer-c seed"
52
+ },
53
+ "placements": [
54
+ {
55
+ "id": 1,
56
+ "rotation_radians": -1.4462898931470023,
57
+ "x": -2.900670356116669,
58
+ "y": -2.2408488499670156
59
+ },
60
+ {
61
+ "id": 2,
62
+ "rotation_radians": -0.424193841209033,
63
+ "x": -1.5903858435706528,
64
+ "y": -3.436742261694003
65
+ },
66
+ {
67
+ "id": 3,
68
+ "rotation_radians": -0.4241884032614554,
69
+ "x": 0.1746101921887048,
70
+ "y": -3.680299526393964
71
+ },
72
+ {
73
+ "id": 4,
74
+ "rotation_radians": -0.4448867001763237,
75
+ "x": 1.8831879385912498,
76
+ "y": -3.255767116324947
77
+ },
78
+ {
79
+ "id": 5,
80
+ "rotation_radians": -0.008183886874054244,
81
+ "x": 3.2675468242014656,
82
+ "y": -1.9211803470272206
83
+ },
84
+ {
85
+ "id": 6,
86
+ "rotation_radians": -0.3469359708255322,
87
+ "x": -3.731597059653315,
88
+ "y": -0.6661585515623543
89
+ },
90
+ {
91
+ "id": 7,
92
+ "rotation_radians": -0.42417926946038914,
93
+ "x": -1.2093278695800034,
94
+ "y": -1.7082857609996405
95
+ },
96
+ {
97
+ "id": 8,
98
+ "rotation_radians": -0.4241889694755637,
99
+ "x": 0.5556611614088861,
100
+ "y": -1.9518462839134303
101
+ },
102
+ {
103
+ "id": 9,
104
+ "rotation_radians": -0.010747437176374445,
105
+ "x": 1.980821866846759,
106
+ "y": -0.6919369179124335
107
+ },
108
+ {
109
+ "id": 10,
110
+ "rotation_radians": -0.010827305204105435,
111
+ "x": 3.679610537074053,
112
+ "y": -0.17859839116112855
113
+ },
114
+ {
115
+ "id": 11,
116
+ "rotation_radians": -0.31904806144756886,
117
+ "x": -3.379876329161349,
118
+ "y": 1.0561532958196433
119
+ },
120
+ {
121
+ "id": 12,
122
+ "rotation_radians": -0.3469332273044722,
123
+ "x": -2.064987149902747,
124
+ "y": -0.14591191573769463
125
+ },
126
+ {
127
+ "id": 13,
128
+ "rotation_radians": -0.19681041088271883,
129
+ "x": 0.09031840644489558,
130
+ "y": 0.20788746786882886
131
+ },
132
+ {
133
+ "id": 14,
134
+ "rotation_radians": -0.08964970814351197,
135
+ "x": 1.768560528614802,
136
+ "y": 1.0792693139403637
137
+ },
138
+ {
139
+ "id": 15,
140
+ "rotation_radians": -0.08986908629931366,
141
+ "x": 3.439612373013305,
142
+ "y": 1.5929917750864595
143
+ },
144
+ {
145
+ "id": 16,
146
+ "rotation_radians": -0.2611887273324643,
147
+ "x": -2.6819918197411994,
148
+ "y": 2.6787118204579956
149
+ },
150
+ {
151
+ "id": 17,
152
+ "rotation_radians": -0.2611838332789637,
153
+ "x": -1.4099506327026519,
154
+ "y": 1.5012428613974844
155
+ },
156
+ {
157
+ "id": 18,
158
+ "rotation_radians": -0.17541457942417882,
159
+ "x": 0.2789445346158778,
160
+ "y": 2.0411233869851984
161
+ },
162
+ {
163
+ "id": 19,
164
+ "rotation_radians": -0.17541427989402222,
165
+ "x": 0.6614533852778779,
166
+ "y": 3.7324291832889203
167
+ },
168
+ {
169
+ "id": 20,
170
+ "rotation_radians": -0.1680190681011985,
171
+ "x": 2.2393293533348455,
172
+ "y": 2.916365539251016
173
+ },
174
+ {
175
+ "id": 21,
176
+ "rotation_radians": -1.2573933622971594,
177
+ "x": -1.065558943452475,
178
+ "y": 3.3883282230022225
179
+ }
180
+ ],
181
+ "problem": "21 equal items for Hexagons in Circles",
182
+ "setup": "hexincir",
183
+ "source_image": "https://erich-friedman.github.io/packing/hexincir/21.png",
184
+ "source_page": "https://erich-friedman.github.io/packing/hexincir/"
185
+ }
data/solutions/generated/hexinhex_021_4a431b677be571c9.json ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@21",
3
+ "container": {
4
+ "circumradius": 5.000067508172298,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.000067508172297,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@21",
13
+ "credit": "Trivial",
14
+ "date": "",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.0,
19
+ "reference_text": "20-21. | | s = 5 | Trivial. | |",
20
+ "source_image": "21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000200001000001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@21",
36
+ "credit": "Trivial",
37
+ "date": "",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.0,
42
+ "reference_text": "20-21. | | s = 5 | Trivial. | |",
43
+ "source_image": "21.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/21.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 7.901581286981117e-07,
60
+ "x": -0.5000174463538043,
61
+ "y": 0.8660408791733488
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -8.371924427954672e-07,
66
+ "x": -0.49998926754271145,
67
+ "y": -0.8660342103698403
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -2.660678494033981e-07,
72
+ "x": 1.0000192810757436,
73
+ "y": 1.7876577640023134e-05
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": -7.438935821621196e-08,
78
+ "x": -2.000028448902631,
79
+ "y": -1.3886483582868472e-05
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": -3.2787528884077454e-07,
84
+ "x": 1.0000286771626443,
85
+ "y": -1.7320685106263434
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": -5.648917492132542e-07,
90
+ "x": 1.0000042693678135,
91
+ "y": 1.732087424964717
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 7.623293417932666e-07,
96
+ "x": -1.9999814394233528,
97
+ "y": -1.7320956192726793
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 5.726382936736113e-07,
102
+ "x": -2.0001063176145357,
103
+ "y": 1.7320682172424777
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": -6.540268107444737e-07,
108
+ "x": -0.49996917052936474,
109
+ "y": -2.598161234269701
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 5.893385085121173e-07,
114
+ "x": -0.5000298003785586,
115
+ "y": 2.5981094128802877
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": -1.9986158879680022e-07,
120
+ "x": 2.500045944099602,
121
+ "y": 0.8660744448134621
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 5.977223461539629e-08,
126
+ "x": 2.500039054190333,
127
+ "y": -0.8660052621280638
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -1.3478963937982246e-08,
132
+ "x": -3.500092072845965,
133
+ "y": 0.8659632371807578
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 4.1132012924842904e-07,
138
+ "x": -3.50001719472001,
139
+ "y": -0.8661073175269502
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 5.546656121720664e-07,
144
+ "x": 0.9999791170267553,
145
+ "y": 3.464158149492293
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -4.0502975026486896e-07,
150
+ "x": 1.0000797359239124,
151
+ "y": -3.464151263809527
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": -4.772253186330887e-08,
156
+ "x": -2.000035262364772,
157
+ "y": 3.464146559555753
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 9.1237704507367e-07,
162
+ "x": -2.000020084800537,
163
+ "y": -3.4641558808448685
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 2.3453726621205355e-07,
168
+ "x": 2.500069476967483,
169
+ "y": -2.5980694889362432
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 1.69584433962456e-07,
174
+ "x": 2.500015099600881,
175
+ "y": 2.598150980951056
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -1.727435234594155e-08,
180
+ "x": 4.0000566862377624,
181
+ "y": 1.0128607699719307e-05
182
+ }
183
+ ],
184
+ "problem": "21 equal items for Hexagons in Hexagons",
185
+ "setup": "hexinhex",
186
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/21.gif",
187
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
188
+ }
data/solutions/generated/hexinhex_022_003a713177cb171c.json ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@22",
3
+ "container": {
4
+ "circumradius": 5.285900869804883,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.285900869804882,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@22",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2015",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "(39+8\u221a3)/10 = 5.285+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.285,
19
+ "reference_text": "22. | | s = (39+8\u221a3)/10 = 5.285+ | Found by Maurizio Morandi | in April 2015.",
20
+ "source_image": "22.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/22.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@22",
36
+ "credit": "Maurizio Morandi",
37
+ "date": "April 2015",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "(39+8\u221a3)/10 = 5.285+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.285,
42
+ "reference_text": "22. | | s = (39+8\u221a3)/10 = 5.285+ | Found by Maurizio Morandi | in April 2015.",
43
+ "source_image": "22.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/22.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 1.0471964243690233,
60
+ "x": -0.8465356906115851,
61
+ "y": -1.008001384697747
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 1.0471925015639367,
66
+ "x": 0.4286947354500659,
67
+ "y": 0.24745906523627786
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 1.0471921178895922,
72
+ "x": -0.999963622630636,
73
+ "y": 1.2371515521504806
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.0473711363341365,
78
+ "x": 0.7758044556209438,
79
+ "y": -1.838585427866387
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.0471723762321445,
84
+ "x": -2.2781650026899674,
85
+ "y": -0.01318902810934708
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.047185677727647,
90
+ "x": 0.8921159321085792,
91
+ "y": 1.9795671934369528
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 1.0471934642756702,
96
+ "x": 2.0001087823245354,
97
+ "y": -0.4949536465220614
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 1.0473701591968814,
102
+ "x": -0.701296886063352,
103
+ "y": -2.744353655814245
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.0469715937771917,
108
+ "x": 2.5169734501572147,
109
+ "y": 1.2371406434857135
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 1.0471963786561402,
114
+ "x": -2.2856875527979277,
115
+ "y": -1.9795445376748466
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.0471875095671135,
120
+ "x": -0.5714934761306859,
121
+ "y": 2.969259004112351
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.04719219489969,
126
+ "x": -2.5714067598523314,
127
+ "y": 1.9795563389686834
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.8332652268188954,
132
+ "x": 2.4531047160616755,
133
+ "y": -3.001523655027058
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.9991355688565592,
138
+ "x": 0.7793511360680909,
139
+ "y": -3.6878671720994323
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 1.0470094102348377,
144
+ "x": 2.571467616004173,
145
+ "y": 2.9692528044040043
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.0471960240490028,
150
+ "x": -3.7143688437562132,
151
+ "y": -0.9898645330004745
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 1.047210784800021,
156
+ "x": -2.142943973523644,
157
+ "y": -3.7116633490312636
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.9956310829320324,
162
+ "x": 4.0460012205776,
163
+ "y": 0.36589452870687333
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.0473861046353776,
168
+ "x": -3.857179015040217,
169
+ "y": 0.7423189733842023
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 1.04718488413327,
174
+ "x": 0.9999371354762571,
175
+ "y": 3.711676177264519
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 1.0471929177769443,
180
+ "x": -2.142935018978356,
181
+ "y": 3.7116676593171736
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 1.0471911790030466,
186
+ "x": 3.49712043043339,
187
+ "y": -1.366192273764231
188
+ }
189
+ ],
190
+ "problem": "22 equal items for Hexagons in Hexagons",
191
+ "setup": "hexinhex",
192
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/22.gif",
193
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
194
+ }
data/solutions/generated/hexinhex_023_4a3a3fd07554d52b.json ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@23",
3
+ "container": {
4
+ "circumradius": 5.444854911759239,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.444854911759238,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinhex@23",
13
+ "credit": "Alex Kravatsky et al",
14
+ "date": "February 2026",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5.400+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.4,
19
+ "reference_text": "23. | | s = 5.400+ | Found by Alex Kravatsky et al | in February 2026.",
20
+ "source_image": "23.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/23.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000500010000102,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinhex@23",
36
+ "credit": "Alex Kravatsky et al",
37
+ "date": "February 2026",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5.400+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.4,
42
+ "reference_text": "23. | | s = 5.400+ | Found by Alex Kravatsky et al | in February 2026.",
43
+ "source_image": "23.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/23.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.006824620830609338,
60
+ "x": -0.8215524173648067,
61
+ "y": 0.3833682180057374
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.006887590796000111,
66
+ "x": 0.6936706663775765,
67
+ "y": 1.2832588465885684
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.006870225593018362,
72
+ "x": 0.6977844597861459,
73
+ "y": -0.44889990182527684
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.006814396948659165,
78
+ "x": -0.8257158232369509,
79
+ "y": 2.115490971936615
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.34651449238529747,
84
+ "x": -0.4351448621892691,
85
+ "y": -2.1674658732709595
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.005731451096614905,
90
+ "x": -2.345562932213716,
91
+ "y": 1.2819965805747553
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.31554696974886914,
96
+ "x": -1.9848001392956673,
97
+ "y": -1.0491983368579847
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.008912950088087655,
102
+ "x": 2.3613595035259056,
103
+ "y": 0.14049169280427942
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.3483902208172997,
108
+ "x": 1.3208908710031535,
109
+ "y": -2.19037366814471
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.01945067079844383,
114
+ "x": 0.6128106277181141,
115
+ "y": 3.0963682810886533
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.00690087172167663,
120
+ "x": 2.214650037528482,
121
+ "y": 2.1137766462463046
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.5368440542013492e-05,
126
+ "x": -1.5038578437444563,
127
+ "y": -3.8492620204221404
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.43716582828517564,
132
+ "x": 3.113096006781232,
133
+ "y": -2.0460795269340837
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": -0.013428134888334211,
138
+ "x": -2.6876590619184264,
139
+ "y": 3.0225154291664778
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 1.0536825029093306,
144
+ "x": -1.070373462630855,
145
+ "y": 3.846130696762821
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.0027837382088517154,
150
+ "x": -3.8608575221997232,
151
+ "y": -1.0086596087949697
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.388601801481054,
156
+ "x": 0.3871562789463161,
157
+ "y": -3.7244345293755545
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.00278120197750176,
162
+ "x": -4.025784510757465,
163
+ "y": 0.7230191420718266
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": -1.5656612716338478e-07,
168
+ "x": -2.8632020300174506,
169
+ "y": -2.7394469751405985
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.08382659687829615,
174
+ "x": 4.11761140979695,
175
+ "y": -0.4890504818445506
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.6987942242473001,
180
+ "x": 2.153912426730604,
181
+ "y": -3.7306479484386914
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.0011007242860997333,
186
+ "x": 2.2029396625089883,
187
+ "y": 3.848763430220942
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.008913551807697194,
192
+ "x": 3.71762600310186,
193
+ "y": 1.250704344392519
194
+ }
195
+ ],
196
+ "problem": "23 equal items for Hexagons in Hexagons",
197
+ "setup": "hexinhex",
198
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/23.gif",
199
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
200
+ }
data/solutions/generated/hexinhex_024_c96649ff013a9455.json ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@24",
3
+ "container": {
4
+ "circumradius": 5.4849837999062,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.484983799906199,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@24",
13
+ "credit": "Maurizio Morandi",
14
+ "date": "April 2015",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "19\u221a3/6 = 5.484+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.484,
19
+ "reference_text": "24. | | s = 19\u221a3/6 = 5.484+ | Found by Maurizio Morandi | in April 2015.",
20
+ "source_image": "24.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/24.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@24",
36
+ "credit": "Maurizio Morandi",
37
+ "date": "April 2015",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "19\u221a3/6 = 5.484+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.484,
42
+ "reference_text": "24. | | s = 19\u221a3/6 = 5.484+ | Found by Maurizio Morandi | in April 2015.",
43
+ "source_image": "24.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/24.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.05770485484610239,
60
+ "x": -4.057623446735772,
61
+ "y": -0.6852165437808199
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.5219383906438466,
66
+ "x": -1.7839236617020782,
67
+ "y": 1.031042760699711
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.5219389230113706,
72
+ "x": -3.0312291824916215,
73
+ "y": -2.250011245153297
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.5218365132267586,
78
+ "x": -0.4476103067022221,
79
+ "y": -0.7415609461474315
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.5218365331876277,
84
+ "x": 1.2990758104304285,
85
+ "y": 2.2500661359032113
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.5218365542948107,
90
+ "x": 0.43641481446158853,
91
+ "y": 0.7480604969662029
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 1.3013690437770573,
96
+ "x": 1.4398691636475018,
97
+ "y": -3.786176657836199
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.5218360708863679,
102
+ "x": 1.475346144585559,
103
+ "y": -0.8522038341235827
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.9386272368052709,
108
+ "x": 4.038648429428672,
109
+ "y": 0.6746618235339499
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.5218360712586747,
114
+ "x": 0.43305161567370953,
115
+ "y": -2.250078827625604
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.4454952035909719,
120
+ "x": -1.3900697076117499,
121
+ "y": 3.7526566453179586
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.5218364314140617,
126
+ "x": 2.177309667774508,
127
+ "y": 0.7429621970099977
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.521836271286997,
132
+ "x": 0.4330151943784053,
133
+ "y": 3.7501227592340087
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.5218364705901408,
138
+ "x": -1.2990678998632341,
139
+ "y": -2.250061840005074
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.041433875740246665,
144
+ "x": -3.845620204372425,
145
+ "y": 1.0658486646904968
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.5218365242717001,
150
+ "x": 2.1651296347539293,
151
+ "y": 3.7501116724967285
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.23402653645081095,
156
+ "x": -2.8401030962256724,
157
+ "y": 2.640004306523297
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.5219394669835438,
162
+ "x": -2.187682384801012,
163
+ "y": -0.7369266279736237
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.5218362908220159,
168
+ "x": -0.43908767298646906,
169
+ "y": 2.253590019154598
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.9371598173271674,
174
+ "x": 3.822866311663475,
175
+ "y": -1.045090705459388
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.3332844683040039,
180
+ "x": 2.567390333813402,
181
+ "y": -2.422256981900285
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.5218360782631368,
186
+ "x": -0.4330124900538102,
187
+ "y": -3.7501189488205253
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.5218364186693767,
192
+ "x": 3.031193540896481,
193
+ "y": 2.250059478350546
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.5218364436698072,
198
+ "x": -2.1651298754333568,
199
+ "y": -3.75010602161616
200
+ }
201
+ ],
202
+ "problem": "24 equal items for Hexagons in Hexagons",
203
+ "setup": "hexinhex",
204
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/24.gif",
205
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
206
+ }
data/solutions/generated/hexinhex_025_4ac680367830872b.json ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@25",
3
+ "container": {
4
+ "circumradius": 5.626071223468267,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.626071223468266,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinhex@25",
13
+ "credit": "Alex Kravatsky et al",
14
+ "date": "February 2026",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5.62390+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.6239,
19
+ "reference_text": "25. | | s = 5.62390+ | Found by Alex Kravatsky et al | in February 2026.",
20
+ "source_image": "25.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/25.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinhex@25",
36
+ "credit": "Alex Kravatsky et al",
37
+ "date": "February 2026",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5.62390+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.6239,
42
+ "reference_text": "25. | | s = 5.62390+ | Found by Alex Kravatsky et al | in February 2026.",
43
+ "source_image": "25.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/25.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.4404121765384839,
60
+ "x": 1.019021234597671,
61
+ "y": 2.3905736879836557
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.3999075408620485,
66
+ "x": -1.1425408951861156,
67
+ "y": -0.3336362510333009
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -3.565189770830876e-06,
72
+ "x": -3.9709882598434536,
73
+ "y": 1.1346010666673292
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.4113703210325995,
78
+ "x": -2.096108328296395,
79
+ "y": 1.1463031474509824
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.40108219042967813,
84
+ "x": 2.12292447271252,
85
+ "y": 0.9750186069695558
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.3999538634453954,
90
+ "x": 1.3675403137082716,
91
+ "y": -2.3678080581856578
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 3.815218827437013e-06,
96
+ "x": 4.162746024611598,
97
+ "y": -0.8024734756085733
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.3995460824606092,
102
+ "x": 2.240178937779094,
103
+ "y": -3.879860409648887
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.0471923633428646,
108
+ "x": -4.2811023181540095,
109
+ "y": -0.5974797865459995
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.39990325948956207,
114
+ "x": -0.7953764009297908,
115
+ "y": 2.3593740371946623
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.3999078201716624,
120
+ "x": 0.5403043391673978,
121
+ "y": -0.836988419266176
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.44040471255817926,
126
+ "x": 0.10741346745285342,
127
+ "y": 3.87575942048007
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.3998925646745878,
132
+ "x": 3.112956109712789,
133
+ "y": -2.3680932259951986
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.4578517522342325,
138
+ "x": 1.9313961504752526,
139
+ "y": 3.8744663969461857
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.4027292721148159,
144
+ "x": 0.4937891835046935,
145
+ "y": -3.8795956582700364
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 3.327305808765827e-06,
150
+ "x": 4.089326673326304,
151
+ "y": 0.929620669005078
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.39388723426160094,
156
+ "x": -2.9337233305545376,
157
+ "y": 2.6800337975116557
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 1.0472038713901486,
162
+ "x": -2.853548471922297,
163
+ "y": -3.0700700282088156
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.0472035797397783,
168
+ "x": -2.7085885142217805,
169
+ "y": -1.3379869225596897
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.39990898203483444,
174
+ "x": 0.1347966582898977,
175
+ "y": 0.872079381249544
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.10670324081108794,
180
+ "x": -0.9975100260872356,
181
+ "y": -2.2351322519601666
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 9.404165937614054e-08,
186
+ "x": -1.3940294427334645,
187
+ "y": -4.006272413805417
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.3938885226186919,
192
+ "x": -1.6526728502152843,
193
+ "y": 3.8807210014942926
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.4681883289884034,
198
+ "x": 3.0372325709650285,
199
+ "y": 2.486971402026309
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 0.3999090114205805,
204
+ "x": 2.2856884807216695,
205
+ "y": -0.8372893887163753
206
+ }
207
+ ],
208
+ "problem": "25 equal items for Hexagons in Hexagons",
209
+ "setup": "hexinhex",
210
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/25.gif",
211
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
212
+ }
data/solutions/generated/hexinhex_026_0a420d645748969b.json ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@26",
3
+ "container": {
4
+ "circumradius": 5.719543411865986,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.719543411865985,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinhex@26",
13
+ "credit": "Alex Kravatsky et al",
14
+ "date": "February 2026",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5.70972+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.70972,
19
+ "reference_text": "26. | | s = 5.70972+ | Found by Alex Kravatsky et al | in February 2026.",
20
+ "source_image": "26.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/26.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinhex@26",
36
+ "credit": "Alex Kravatsky et al",
37
+ "date": "February 2026",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5.70972+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.70972,
42
+ "reference_text": "26. | | s = 5.70972+ | Found by Alex Kravatsky et al | in February 2026.",
43
+ "source_image": "26.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/26.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": -0.3541024515660062,
60
+ "x": 0.526694788807339,
61
+ "y": -0.9291844886285529
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -0.353574260238975,
66
+ "x": -1.0147859725998067,
67
+ "y": 0.042099623659466394
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -0.3597236915995284,
72
+ "x": 0.7294631402338068,
73
+ "y": 0.8456713400964821
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": -0.3541309585775437,
78
+ "x": -1.9155281148310246,
79
+ "y": -1.4961370545819486
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": -0.35411831150756623,
84
+ "x": 2.2827565532422867,
85
+ "y": -0.9219194804718274
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": -0.35417585024586384,
90
+ "x": -0.31631061862816373,
91
+ "y": 2.2826634418769554
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": -0.354128008362101,
96
+ "x": -2.8239619977128974,
97
+ "y": 0.0009709427420007558
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.35411134847320597,
102
+ "x": 1.4110178861110547,
103
+ "y": -2.4463204158422114
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": -0.35417646476141423,
108
+ "x": 1.4137376063428249,
109
+ "y": 2.441844023168373
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": -0.35411350344710935,
114
+ "x": -0.35355112700732755,
115
+ "y": -2.450476653529668
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": -0.3535740721381933,
120
+ "x": -1.9435639101153799,
121
+ "y": 1.5224740964282764
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -0.3541115832783557,
126
+ "x": 2.6972337417166123,
127
+ "y": 0.771535491816866
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -0.07960365292203393,
132
+ "x": -2.8326112306914015,
133
+ "y": -3.1941538004507035
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.4098614943793958,
138
+ "x": 4.474046084910885,
139
+ "y": -0.015820937541490936
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -0.3450978479114158,
144
+ "x": -1.2208481091934769,
145
+ "y": 3.928767509518961
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -0.3749104752333129,
150
+ "x": -3.6949771038664365,
151
+ "y": -1.5286399283579921
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": -0.3628619607090081,
156
+ "x": 3.1726860763864795,
157
+ "y": -2.4369685646753583
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": -0.3549396112927512,
162
+ "x": 0.534766653890469,
163
+ "y": 3.966127331042614
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": -0.354113575917858,
168
+ "x": 0.5307976534187556,
169
+ "y": -3.967583838405066
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": -0.35413189398597195,
174
+ "x": -3.701743348667028,
175
+ "y": 1.5235243241048018
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.35445266291016725,
180
+ "x": -4.5812409781094034,
181
+ "y": -1.4503157448658867e-05
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": -0.3541118739299409,
186
+ "x": 3.170819327409159,
187
+ "y": 2.443134067781432
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": -0.3535153244459023,
192
+ "x": 2.290739581708319,
193
+ "y": -3.9676650806506344
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": -0.35494504532542276,
198
+ "x": 2.291982730404979,
199
+ "y": 3.9650464610423617
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": -0.07958110726521547,
204
+ "x": -1.3189864559174005,
205
+ "y": -4.050201163797114
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": -0.3450867771124415,
210
+ "x": -2.822335713849042,
211
+ "y": 3.0498909615868617
212
+ }
213
+ ],
214
+ "problem": "26 equal items for Hexagons in Hexagons",
215
+ "setup": "hexinhex",
216
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/26.gif",
217
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
218
+ }
data/solutions/generated/hexinhex_027_4e9628a9f49def85.json ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@27",
3
+ "container": {
4
+ "circumradius": 5.716567746994859,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.716567746994858,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinhex@27",
13
+ "credit": "Alex Kravatsky et al",
14
+ "date": "February 2026",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5.71415+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.71415,
19
+ "reference_text": "27. | | s = 5.71415+ | Found by Alex Kravatsky et al | in February 2026.",
20
+ "source_image": "27.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/27.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000500010000102,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinhex@27",
36
+ "credit": "Alex Kravatsky et al",
37
+ "date": "February 2026",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5.71415+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.71415,
42
+ "reference_text": "27. | | s = 5.71415+ | Found by Alex Kravatsky et al | in February 2026.",
43
+ "source_image": "27.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/27.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 3.824060113450139,
60
+ "x": 0.3476103325076376,
61
+ "y": -2.429582104061147
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 4.86676174384588,
66
+ "x": 2.8116816078495375,
67
+ "y": -2.1320758541336838e-05
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 1.7296688037616177,
72
+ "x": -3.1558594094922774,
73
+ "y": -2.4604552346699706
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 4.87045184370137,
78
+ "x": -0.5041959176500256,
79
+ "y": -3.9629867282810785
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 5.234656996097622,
84
+ "x": 2.87950836722448,
85
+ "y": -3.1804338900332496
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.0453802231629092,
90
+ "x": -4.223766569975458,
91
+ "y": 0.8240180095255282
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 5.234149066224134,
96
+ "x": -4.191108951655736,
97
+ "y": -0.908197918259244
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.6824814339337278,
102
+ "x": 0.3449148392058114,
103
+ "y": 2.463658347600896
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 5.9292099848515125,
108
+ "x": -0.5524742502924744,
109
+ "y": -0.9007546865374491
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.6779736936726078,
114
+ "x": 1.9608013045007948,
115
+ "y": -1.5352836623216297
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 3.136661436438432,
120
+ "x": 1.301015713535152,
121
+ "y": 4.082170582975325
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 7.325451530437888,
126
+ "x": 2.8228125832546125,
127
+ "y": 3.2532639144392346
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 3.824058511955816,
132
+ "x": -1.4057678745425017,
133
+ "y": -2.434757444656067
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 3.824069591452841,
138
+ "x": -2.305698315305127,
139
+ "y": 3.9328902843122946
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.6824745634118679,
144
+ "x": -2.31024262523726,
145
+ "y": -0.9292517993049171
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.7337766145846158,
150
+ "x": -3.184450814494896,
151
+ "y": 2.41200452431685
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 3.8348152058496305,
156
+ "x": 1.055747663198931,
157
+ "y": -0.02999068469952672
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 1.7296729878214439,
162
+ "x": -1.4046635594093142,
163
+ "y": 2.433120846767069
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 4.871653222893496,
168
+ "x": -0.5034700730656557,
169
+ "y": 0.9332319665455696
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 2.796910023758765,
174
+ "x": 3.681275501940237,
175
+ "y": 1.5570589989988135
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 4.871266421198897,
180
+ "x": -0.5562939625649187,
181
+ "y": 3.963273911961122
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 3.819564039911621,
186
+ "x": 4.560640783960255,
187
+ "y": 0.025828091039544213
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 3.137508582944148,
192
+ "x": 1.3894721423719638,
193
+ "y": -4.0713867986372545
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 4.877739156562641,
198
+ "x": 1.9250859484807448,
199
+ "y": 1.5169388154210195
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": -0.3692255417094895,
204
+ "x": 3.7085452217057817,
205
+ "y": -1.5017319587341917
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 1.729665506304759,
210
+ "x": -2.258560158123236,
211
+ "y": -3.9632477628505542
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 3.8240674183610937,
216
+ "x": -2.2708500456821903,
217
+ "y": 0.9097712566785343
218
+ }
219
+ ],
220
+ "problem": "27 equal items for Hexagons in Hexagons",
221
+ "setup": "hexinhex",
222
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/27.gif",
223
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
224
+ }
data/solutions/generated/hexinhex_028_59dc7d7850663cbb.json ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@28",
3
+ "container": {
4
+ "circumradius": 5.9618534230590905,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.96185342305909,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinhex@28",
13
+ "credit": "Alex Kravatsky et al",
14
+ "date": "February 2026",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "5.90893+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.90893,
19
+ "reference_text": "28. | | s = 5.90893+ | Found by Alex Kravatsky et al | in February 2026.",
20
+ "source_image": "28.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/28.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000500010000102,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinhex@28",
36
+ "credit": "Alex Kravatsky et al",
37
+ "date": "February 2026",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "5.90893+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.90893,
42
+ "reference_text": "28. | | s = 5.90893+ | Found by Alex Kravatsky et al | in February 2026.",
43
+ "source_image": "28.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/28.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.15126342348636831,
60
+ "x": -0.8914888487537967,
61
+ "y": -0.12739671511641137
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.10890959119943425,
66
+ "x": 0.6168828906758234,
67
+ "y": 0.7791944812914786
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.21412976395165392,
72
+ "x": 1.5071415592020259,
73
+ "y": -0.8486616741106179
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.06485151858693809,
78
+ "x": -0.9272033365710187,
79
+ "y": 1.648296066175677
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.21411362767735692,
84
+ "x": -0.022174196480069866,
85
+ "y": -1.7413716945997826
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.08059389875945881,
90
+ "x": -2.4250968534887725,
91
+ "y": 0.7584266445893665
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.1749648295573365,
96
+ "x": -1.8474723139340152,
97
+ "y": -1.7004759906096134
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.18686341930623218,
102
+ "x": 2.4615525076741003,
103
+ "y": 0.6963555788199075
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.2141083464229419,
108
+ "x": 1.5155603538831837,
109
+ "y": -2.6195057942467685
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.06484246451724923,
114
+ "x": 0.564924864158322,
115
+ "y": 2.5328232172132674
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.08656725508158856,
120
+ "x": 2.4643515742892337,
121
+ "y": 2.4811231457056575
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.16544798443053157,
126
+ "x": -0.9694826897818356,
127
+ "y": -3.3090475501282732
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.18696724057457387,
132
+ "x": 3.3219561220647975,
133
+ "y": -0.9037757619105173
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.07198051257523758,
138
+ "x": -2.440814004381843,
139
+ "y": 2.517664566371024
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.0274267746136424,
144
+ "x": -0.9500907919967709,
145
+ "y": 3.441072704276657
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.08058207809547493,
150
+ "x": -3.4133189042095053,
151
+ "y": -0.8590137363841174
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.16546333737798724,
156
+ "x": 0.5514005796498148,
157
+ "y": -4.186984359217049
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.07690732291097965,
162
+ "x": -3.935388833932618,
163
+ "y": 1.63113047236408
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.08071081372452572,
168
+ "x": -3.4091776449524978,
169
+ "y": -2.596507208196542
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.18695568907794818,
174
+ "x": 4.854851730095892,
175
+ "y": -0.029565444603184415
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.18699466792960237,
180
+ "x": 2.3864243862381844,
181
+ "y": -4.219203151888164
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.08655911807226012,
186
+ "x": 2.4786452780093273,
187
+ "y": 4.221005909948852
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.05674953241794722,
192
+ "x": 3.9905280937005148,
193
+ "y": 1.6283941770837358
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.0058696367720585535,
198
+ "x": -2.479224259913543,
199
+ "y": -4.294143814986175
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 0.1869600281171308,
204
+ "x": 3.3336511273634404,
205
+ "y": -2.6644017757835616
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 0.006006660566126943,
210
+ "x": -2.4748107523891107,
211
+ "y": 4.285085651355501
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 0.027382846218310383,
216
+ "x": 0.5651509322929736,
217
+ "y": 4.283717881716352
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": 0.021598128692634486,
222
+ "x": -4.949589228504777,
223
+ "y": 1.5822131732876393e-05
224
+ }
225
+ ],
226
+ "problem": "28 equal items for Hexagons in Hexagons",
227
+ "setup": "hexinhex",
228
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/28.gif",
229
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
230
+ }
data/solutions/generated/hexinhex_029_dba25a591b8992bc.json ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@29",
3
+ "container": {
4
+ "circumradius": 6.000134351852798,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.000134351852797,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@29",
13
+ "credit": "Trivial",
14
+ "date": "",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "6",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.0,
19
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
20
+ "source_image": "31.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@29",
36
+ "credit": "Trivial",
37
+ "date": "",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "6",
40
+ "metric_symbol": "s",
41
+ "metric_value": 6.0,
42
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
43
+ "source_image": "31.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 1.2266925225243033e-05,
60
+ "x": -3.0191915811949296e-05,
61
+ "y": 2.0122029814226678e-05
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.469406969465726e-05,
66
+ "x": -0.02234156786983029,
67
+ "y": 1.7706889344765344
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 7.46706414268341e-06,
72
+ "x": 1.500027327052519,
73
+ "y": -0.8660274112611017
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.2744140809119732e-05,
78
+ "x": -1.1729121399930445e-05,
79
+ "y": -1.7320804388416937
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.4129929566471411e-05,
84
+ "x": 1.500007809165934,
85
+ "y": 0.8660707945968823
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 2.3808649162334368e-05,
90
+ "x": -1.5000921000099785,
91
+ "y": 0.8660473054506028
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 1.4007437334042954e-05,
96
+ "x": -1.5000627356798137,
97
+ "y": -0.8660445993388864
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 8.187259710978805e-06,
102
+ "x": 1.5000354458791934,
103
+ "y": -2.5981236666146827
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.564956906501928e-05,
108
+ "x": 1.4999771412201266,
109
+ "y": 2.598157924263895
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 4.230216195749886e-06,
114
+ "x": -1.5000475346412259,
115
+ "y": -2.598137296739696
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 5.369955590216415e-06,
120
+ "x": 3.0000607409304507,
121
+ "y": 3.189608543084569e-05
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 6.785265932963477e-05,
126
+ "x": -1.6144221095343834,
127
+ "y": 2.5981439505745008
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 1.4736832396281009e-05,
132
+ "x": -3.000110379615136,
133
+ "y": -1.8042724339772035e-05
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": -0.003652697809227027,
138
+ "x": -0.22650347590498823,
139
+ "y": 3.7034724846640468
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 1.0472053275952096,
144
+ "x": 3.000078345649967,
145
+ "y": -1.7320674550507549
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.23705410537071625,
150
+ "x": -3.351589787388511,
151
+ "y": 1.9509056039722206
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 2.8511563253447625e-05,
156
+ "x": 3.029369357449979,
157
+ "y": 1.7829380746946009
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 1.0366138717924829e-05,
162
+ "x": -3.3270901204769334,
163
+ "y": -1.7321063032055857
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 8.549189670345785e-06,
168
+ "x": 3.89280285131611e-06,
169
+ "y": -3.4641860317598527
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 1.0472030895963276,
174
+ "x": 3.000078647261406,
175
+ "y": -3.4641633933580773
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 9.5701259471499e-06,
180
+ "x": -1.5000327466286165,
181
+ "y": -4.33023151991034
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 7.149457988042092e-05,
186
+ "x": -1.9910835037323698,
187
+ "y": 4.330201448555072
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 6.249277649801763e-06,
192
+ "x": 1.5000489225065274,
193
+ "y": -4.330223031684511
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 8.661909799844375e-06,
198
+ "x": 1.4172317733590434,
199
+ "y": 4.330231415081273
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 1.5552143883042622e-05,
204
+ "x": -4.712138816324989,
205
+ "y": 0.49879688467644107
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 9.768184612102666e-06,
210
+ "x": 2.965086884159296,
211
+ "y": 3.524738282890009
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 4.007154219288995e-06,
216
+ "x": 4.500089037230717,
217
+ "y": 0.8660833513408284
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": 5.257664941264914e-06,
222
+ "x": -3.000072437095844,
223
+ "y": -3.4641901525369287
224
+ },
225
+ {
226
+ "id": 29,
227
+ "rotation_radians": 7.244206319604436e-06,
228
+ "x": 4.500115894327682,
229
+ "y": -0.8660116567024647
230
+ }
231
+ ],
232
+ "problem": "29 equal items for Hexagons in Hexagons",
233
+ "setup": "hexinhex",
234
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
235
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
236
+ }
data/solutions/generated/hexinhex_030_100db5f9f28894cc.json ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@30",
3
+ "container": {
4
+ "circumradius": 6.000078501746011,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.00007850174601,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@30",
13
+ "credit": "Trivial",
14
+ "date": "",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "6",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.0,
19
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
20
+ "source_image": "31.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000200001000001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@30",
36
+ "credit": "Trivial",
37
+ "date": "",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "6",
40
+ "metric_symbol": "s",
41
+ "metric_value": 6.0,
42
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
43
+ "source_image": "31.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": -2.1568093060581115e-06,
60
+ "x": -0.5000046790830123,
61
+ "y": -0.8660375027573861
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -6.91313726895934e-07,
66
+ "x": 1.0000168855896254,
67
+ "y": 6.305863012131126e-06
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 2.1690134983637883e-06,
72
+ "x": -0.5000111090123347,
73
+ "y": 0.866041046146985
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": -1.03984897083855e-06,
78
+ "x": 1.000021627215863,
79
+ "y": -1.7320689564041776
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 5.036742420048412e-07,
84
+ "x": -2.0000339708769572,
85
+ "y": -3.5888041917672923e-06
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": -3.9242487946010595e-08,
90
+ "x": 1.0000119528931868,
91
+ "y": 1.7320820616600257
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": -7.731437857827133e-07,
96
+ "x": 2.500046305729863,
97
+ "y": -0.866025947935205
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 7.118841366061075e-07,
102
+ "x": -0.5000034477954115,
103
+ "y": -2.5981145828228938
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": -6.557394370968648e-07,
108
+ "x": 2.500040354576674,
109
+ "y": 0.8660455403083884
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": -8.937067677108101e-07,
114
+ "x": -2.0000249253110614,
115
+ "y": -1.7320826993141683
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 9.617047027369317e-07,
120
+ "x": -0.5000209913039744,
121
+ "y": 2.5981171021478753
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -6.135699199836213e-07,
126
+ "x": -2.000038202692628,
127
+ "y": 1.7320772232779593
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -3.0192509895929896e-06,
132
+ "x": 2.5000519141268778,
133
+ "y": -2.598106502265172
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 8.230734905360213e-07,
138
+ "x": 1.0000250008872191,
139
+ "y": -3.4641459157665806
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -5.641908620269044e-07,
144
+ "x": 2.500040276822104,
145
+ "y": 2.598124337403475
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 9.33195056784635e-07,
150
+ "x": -3.5000545893861923,
151
+ "y": -0.8660531733262709
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": -2.3485190583690915e-07,
156
+ "x": -2.0417406996311205,
157
+ "y": -3.536433704532172
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 1.039211914012478e-06,
162
+ "x": 4.426615534526794,
163
+ "y": 1.2621780750165221e-05
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 8.2150842097607e-07,
168
+ "x": -3.500057564580012,
169
+ "y": 0.8660297122558687
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": -1.516113667608833e-06,
174
+ "x": 1.0000039125737086,
175
+ "y": 3.464156280640706
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 7.193380867555484e-07,
180
+ "x": -2.0922316903038887,
181
+ "y": 3.6238201728422337
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": -6.142997880200996e-06,
186
+ "x": 4.000068701785937,
187
+ "y": -1.7320608931762065
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 6.036575488920136e-07,
192
+ "x": -0.4999895478283576,
193
+ "y": -4.330189492797411
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": -3.2789721611959128e-06,
198
+ "x": 2.500037478603552,
199
+ "y": -4.330182414425288
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 1.4954656685310197e-06,
204
+ "x": -3.5000399678531604,
205
+ "y": -2.5981301368837437
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": -4.0079259744672843e-07,
210
+ "x": 4.000058321751524,
211
+ "y": 1.7320813891907003
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 4.366037913227048e-07,
216
+ "x": -3.5000607330501903,
217
+ "y": 2.5981032880488897
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": 9.76757375278175e-07,
222
+ "x": -0.5000231083448415,
223
+ "y": 4.3301883463523865
224
+ },
225
+ {
226
+ "id": 29,
227
+ "rotation_radians": 9.842621830853817e-07,
228
+ "x": -5.000068695617427,
229
+ "y": -7.1268798689748576e-06
230
+ },
231
+ {
232
+ "id": 30,
233
+ "rotation_radians": 2.593704181283053e-06,
234
+ "x": 2.5000258495081056,
235
+ "y": 4.330190994430722
236
+ }
237
+ ],
238
+ "problem": "30 equal items for Hexagons in Hexagons",
239
+ "setup": "hexinhex",
240
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
241
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
242
+ }
data/solutions/generated/hexinhex_031_d503e2b08764a35e.json ADDED
@@ -0,0 +1,248 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinhex@31",
3
+ "container": {
4
+ "circumradius": 6.000103172861179,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.000103172861178,
7
+ "sides": 6,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinhex@31",
13
+ "credit": "Trivial",
14
+ "date": "",
15
+ "family_updated": "4/15/26",
16
+ "metric_expression": "6",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.0,
19
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
20
+ "source_image": "31.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
23
+ "title": "Hexagons in Hexagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000200001000001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinhex@31",
36
+ "credit": "Trivial",
37
+ "date": "",
38
+ "family_updated": "4/15/26",
39
+ "metric_expression": "6",
40
+ "metric_symbol": "s",
41
+ "metric_value": 6.0,
42
+ "reference_text": "29-31. | | s = 6 | Trivial. |",
43
+ "source_image": "31.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/",
46
+ "title": "Hexagons in Hexagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinhex/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 2.0424208175774232e-07,
60
+ "x": -4.758617149819045e-06,
61
+ "y": -3.0380601089986932e-06
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.3962206985056456e-07,
66
+ "x": 4.3802403063552815e-05,
67
+ "y": 1.7320762226693935
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 2.683744280835305e-07,
72
+ "x": 1.4999963367136782,
73
+ "y": -0.8660840119838368
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.550657106256193e-07,
78
+ "x": -5.013535142258281e-05,
79
+ "y": -1.7320820953604814
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 9.649800783360379e-08,
84
+ "x": 1.5000446703284853,
85
+ "y": 0.8659939078618845
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 5.922500865088752e-08,
90
+ "x": -1.5000063127509895,
91
+ "y": 0.8660765485136467
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 2.9148073306446924e-07,
96
+ "x": -1.5000516123261072,
97
+ "y": -0.8660041371676196
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -6.871076779674426e-08,
102
+ "x": 1.499947686126322,
103
+ "y": -2.598155502270612
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.3595771450417744e-07,
108
+ "x": 1.5000918831983017,
109
+ "y": 2.598066904048856
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 1.1820390231707096e-07,
114
+ "x": -1.5000891216165178,
115
+ "y": -2.59807895330997
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.4369701202223092e-07,
120
+ "x": 3.0000384162665847,
121
+ "y": -8.807136082934793e-05
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 3.11065304298298e-07,
126
+ "x": -1.499955300537077,
127
+ "y": 2.5981504200856738
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -1.171804558852428e-07,
132
+ "x": -3.0000466778845327,
133
+ "y": 7.118039536196239e-05
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": -3.52275136444735e-07,
138
+ "x": 0.0001152128440970345,
139
+ "y": 3.4641813737750144
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -8.138711322073669e-08,
144
+ "x": 2.9999998686678118,
145
+ "y": -1.7321730747853827
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 2.873557556746292e-07,
150
+ "x": -3.0000198148936583,
151
+ "y": 1.7321857981773359
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 5.0180499183737064e-08,
156
+ "x": 3.0001210417566018,
157
+ "y": 1.731986703891681
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 4.483782094384345e-07,
162
+ "x": -3.000117277181924,
163
+ "y": -1.7320058514154326
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.7033231775487548e-07,
168
+ "x": -9.746397840182894e-05,
169
+ "y": -3.4641706513359964
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": -1.4669612877472878e-07,
174
+ "x": 2.9999955374802845,
175
+ "y": -3.464256652713817
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 1.207755958622689e-07,
180
+ "x": -1.5001315345465358,
181
+ "y": -4.3302009850286876
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 1.1594462056923785e-07,
186
+ "x": -1.4999098507566224,
187
+ "y": 4.330213781482313
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 1.8933346495570021e-07,
192
+ "x": 1.4999225281883937,
193
+ "y": -4.330215243321034
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": -1.5725238027214725e-07,
198
+ "x": 1.5001556447630628,
199
+ "y": 4.330201192159377
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 5.851190839552243e-07,
204
+ "x": -4.500036533545838,
205
+ "y": 0.8661367545616072
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": -8.255802123894274e-08,
210
+ "x": 3.0001231222089593,
211
+ "y": 3.46406262319174
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 1.5163257735508872e-07,
216
+ "x": 4.500140538833788,
217
+ "y": 0.8659301673795337
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": 2.9204572663096774e-07,
222
+ "x": -3.000112142726159,
223
+ "y": -3.464083435330626
224
+ },
225
+ {
226
+ "id": 29,
227
+ "rotation_radians": 1.7873633058504198e-07,
228
+ "x": 4.500029983242889,
229
+ "y": -0.8661492840486752
230
+ },
231
+ {
232
+ "id": 30,
233
+ "rotation_radians": 2.597768331234049e-07,
234
+ "x": -2.9999891519986814,
235
+ "y": 3.4642686962984572
236
+ },
237
+ {
238
+ "id": 31,
239
+ "rotation_radians": 4.009630559569833e-07,
240
+ "x": -4.5001329150531655,
241
+ "y": -0.8659432469098659
242
+ }
243
+ ],
244
+ "problem": "31 equal items for Hexagons in Hexagons",
245
+ "setup": "hexinhex",
246
+ "source_image": "https://erich-friedman.github.io/packing/hexinhex/31.gif",
247
+ "source_page": "https://erich-friedman.github.io/packing/hexinhex/"
248
+ }
data/solutions/generated/hexinsqu_021_5d369a2740fde606.json ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinsqu@21",
3
+ "container": {
4
+ "circumradius": 5.928045365096002,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 8.383522153681731,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinsqu@21",
13
+ "credit": "Jonathan Viquerat",
14
+ "date": "April 2026",
15
+ "family_updated": "4/28/26",
16
+ "metric_expression": "8.381+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 8.381,
19
+ "reference_text": "s = 8.381+ | Found by Jonathan Viquerat | in April 2026.",
20
+ "source_image": "21.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/21.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
23
+ "title": "Hexagons in Squares"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinsqu@21",
36
+ "credit": "Jonathan Viquerat",
37
+ "date": "April 2026",
38
+ "family_updated": "4/28/26",
39
+ "metric_expression": "8.381+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 8.381,
42
+ "reference_text": "s = 8.381+ | Found by Jonathan Viquerat | in April 2026.",
43
+ "source_image": "21.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/21.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
46
+ "title": "Hexagons in Squares"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinsqu/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 2.3751101279227043,
60
+ "x": -0.16970643692594198,
61
+ "y": 2.22447398681181
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.375095668288798,
66
+ "x": 1.5398107008920296,
67
+ "y": 1.921573588348337
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 1.3279190677744106,
72
+ "x": -0.6152771770127541,
73
+ "y": 3.8987113542722494
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 5.516422105218625,
78
+ "x": 0.28194249393639303,
79
+ "y": 0.5518704983668915
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 2.3782796717684316,
84
+ "x": 0.8713037008886259,
85
+ "y": -1.0823236922604575
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.3276837993039377,
90
+ "x": 1.9914183093669462,
91
+ "y": 0.2489653186679852
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 3.4426452665568976,
96
+ "x": -4.542825664827087,
97
+ "y": -0.03636405381888811
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 3.927596585612022,
102
+ "x": -1.2502601833098461,
103
+ "y": -3.263563754526016
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.832958105760932,
108
+ "x": 0.09822484141338368,
109
+ "y": -4.601222530546293
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 4.444613179025525,
114
+ "x": -2.7979917665753042,
115
+ "y": -0.2818358353803969
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 4.444608402128186,
120
+ "x": -2.662321375619116,
121
+ "y": -2.036723311865229
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.3247573938320223,
126
+ "x": -1.8458574452791054,
127
+ "y": 2.6679839302818418
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 2.8803961108739036,
132
+ "x": 2.1467066863296718,
133
+ "y": -2.5561414256674446
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 5.540264090352187,
138
+ "x": 3.3689129620674496,
139
+ "y": -1.1461679219909906
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 6.02199172479513,
144
+ "x": 0.4458108231377275,
145
+ "y": -2.9008721133886057
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 5.673346101648995,
150
+ "x": -1.0495448702268826,
151
+ "y": -0.97020104704018
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 3.3974328745239606,
156
+ "x": -3.078745425119485,
157
+ "y": 1.435104626002461
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.2804748333750988,
162
+ "x": 3.214072686170339,
163
+ "y": 1.4762201070637124
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.3279380902688882,
168
+ "x": 1.0942253991854534,
169
+ "y": 3.59584923187469
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 3.4443460849655927,
174
+ "x": 4.594158462176817,
175
+ "y": 0.08118657857232116
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 5.507999003647057,
180
+ "x": -1.4152072713969777,
181
+ "y": 0.9217617872751641
182
+ }
183
+ ],
184
+ "problem": "21 equal items for Hexagons in Squares",
185
+ "setup": "hexinsqu",
186
+ "source_image": "https://erich-friedman.github.io/packing/hexinsqu/21.png",
187
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/"
188
+ }
data/solutions/generated/hexinsqu_022_2f0b0033f0c66708.json ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinsqu@22",
3
+ "container": {
4
+ "circumradius": 6.064415893285481,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 8.576379204155273,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinsqu@22",
13
+ "credit": "Jonathan Viquerat",
14
+ "date": "April 2026",
15
+ "family_updated": "4/28/26",
16
+ "metric_expression": "8.568+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 8.568,
19
+ "reference_text": "s = 8.568+ | Found by Jonathan Viquerat | in April 2026.",
20
+ "source_image": "22.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/22.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
23
+ "title": "Hexagons in Squares"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinsqu@22",
36
+ "credit": "Jonathan Viquerat",
37
+ "date": "April 2026",
38
+ "family_updated": "4/28/26",
39
+ "metric_expression": "8.568+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 8.568,
42
+ "reference_text": "s = 8.568+ | Found by Jonathan Viquerat | in April 2026.",
43
+ "source_image": "22.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/22.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
46
+ "title": "Hexagons in Squares"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinsqu/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.7977010015728918,
60
+ "x": -2.760500702697093,
61
+ "y": -1.8897809696803076
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.8019114174642531,
66
+ "x": -1.5341594848070275,
67
+ "y": -3.11615456575505
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 1.308983373129213,
72
+ "x": -0.2065246914401924,
73
+ "y": -4.633125847806705
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.8325837113524788,
78
+ "x": 1.3195003643956449,
79
+ "y": -3.5201512107782444
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 4.96381383790364,
84
+ "x": 3.405104303084936,
85
+ "y": -1.4272608509577445
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 6.033690002439361,
90
+ "x": -3.985371399736603,
91
+ "y": -0.6649128869000597
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7877069528675847,
96
+ "x": -1.1743758480028128,
97
+ "y": -1.1134821303094966
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 1.8349039811285752,
102
+ "x": 0.05186917788639797,
103
+ "y": -2.336786034085349
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 3.915930434147693,
108
+ "x": 1.7192722238064366,
109
+ "y": -1.8284262763074883
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.6315458078148712,
114
+ "x": 4.706038888687644,
115
+ "y": -0.03971830478073898
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.7977014689051477,
120
+ "x": -3.764737144860528,
121
+ "y": 1.0663007939846807
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 2.356132346051416,
126
+ "x": -1.9541707615023542,
127
+ "y": 0.6094880901440287
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 1.785789454404328,
132
+ "x": 0.4825043632790665,
133
+ "y": -0.515227772819107
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 4.927379468106776,
138
+ "x": 2.173230331426509,
139
+ "y": -0.13886264373359675
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 2.66219544476157,
144
+ "x": 3.455043903611295,
145
+ "y": 1.2285030759467375
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 2.356136348267536,
150
+ "x": -2.3548537079657006,
151
+ "y": 2.2953179477700094
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 2.3501761576648503,
156
+ "x": -0.6815180880430817,
157
+ "y": 1.7948354285893688
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.23767755862958886,
162
+ "x": 0.9999535717812034,
163
+ "y": 1.3324183856038594
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 5.49772929906356,
168
+ "x": 0.5353872833247472,
169
+ "y": 3.043558517056281
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.26174382834459464,
174
+ "x": 2.216036909919325,
175
+ "y": 2.6235846136622643
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 6.5449207377591465,
180
+ "x": -1.1300958607014044,
181
+ "y": 3.520100304752904
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 3.403309537170139,
186
+ "x": 0.10527038026378016,
187
+ "y": 4.734307604755597
188
+ }
189
+ ],
190
+ "problem": "22 equal items for Hexagons in Squares",
191
+ "setup": "hexinsqu",
192
+ "source_image": "https://erich-friedman.github.io/packing/hexinsqu/22.png",
193
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/"
194
+ }
data/solutions/generated/hexinsqu_023_31cc17034bd25d7b.json ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinsqu@23",
3
+ "container": {
4
+ "circumradius": 6.1238264137435126,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 8.660398367934667,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinsqu@23",
13
+ "credit": "Jonathan Viquerat",
14
+ "date": "April 2026",
15
+ "family_updated": "4/28/26",
16
+ "metric_expression": "5\u221a3 = 8.660+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 8.66,
19
+ "reference_text": "s = 5\u221a3 = 8.660+ | Found by Jonathan Viquerat | in April 2026.",
20
+ "source_image": "23.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/23.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
23
+ "title": "Hexagons in Squares"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinsqu@23",
36
+ "credit": "Jonathan Viquerat",
37
+ "date": "April 2026",
38
+ "family_updated": "4/28/26",
39
+ "metric_expression": "5\u221a3 = 8.660+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 8.66,
42
+ "reference_text": "s = 5\u221a3 = 8.660+ | Found by Jonathan Viquerat | in April 2026.",
43
+ "source_image": "23.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/23.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
46
+ "title": "Hexagons in Squares"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinsqu/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 1.3089958892197966,
60
+ "x": 2.3324225660155875,
61
+ "y": -2.3324292470230468
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 4.450573503999844,
66
+ "x": -1.3541111854930894,
67
+ "y": -1.0954122458343778
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.26179615568823783,
72
+ "x": 4.804317121722751,
73
+ "y": 0.0947465349690251
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.3197591545926493,
78
+ "x": -1.9034694153889438,
79
+ "y": 0.5800446690076764
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.28638043078872377,
84
+ "x": 0.8158392910723246,
85
+ "y": 2.8972131900422435
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 5.497764719461516,
90
+ "x": 2.529563165937119,
91
+ "y": 2.3694938332808433
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.4872349138883506,
96
+ "x": 0.36596446786474357,
97
+ "y": -1.7829076664879528
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 2.266003237764056,
102
+ "x": 1.822300636954561,
103
+ "y": -0.6329234922837796
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 6.7778649134379485,
108
+ "x": -0.8074794578366769,
109
+ "y": -3.1089360714105276
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.261801877959388,
114
+ "x": 3.5794741034677684,
115
+ "y": -1.1299416227913983
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 2.3158234798411947,
120
+ "x": -3.1430134649087047,
121
+ "y": -0.6756237879599019
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.3089938067122178,
126
+ "x": 1.0577808341541846,
127
+ "y": -3.507310534549994
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 4.480216295352059,
132
+ "x": -0.6057166627395408,
133
+ "y": 1.846571775714521
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 5.4977667774325045,
138
+ "x": -2.3340066002845132,
139
+ "y": 2.3340121843712116
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 4.450562802683287,
144
+ "x": -3.5717846015052914,
145
+ "y": 1.1222560113083253
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.3406725194813578,
150
+ "x": 3.078327637555984,
151
+ "y": 0.6437498853677918
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 1.308987939532052,
156
+ "x": -2.514979745057465,
157
+ "y": -2.3840801021032765
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.26177518746955575,
162
+ "x": 1.299915124430481,
163
+ "y": 1.1496209110169906
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 4.450561474019668,
168
+ "x": -0.05279515627685617,
169
+ "y": 0.05280395901232762
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 5.49776525809453,
174
+ "x": -1.1247940160755785,
175
+ "y": 3.574334667928198
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 3.403380916286967,
180
+ "x": 0.24192493888512073,
181
+ "y": 4.657141176573033
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 4.4505878021011505,
186
+ "x": -0.09663726729610306,
187
+ "y": -4.80242259844813
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.26177728667265426,
192
+ "x": -4.800373047868109,
193
+ "y": -0.09867472114638581
194
+ }
195
+ ],
196
+ "problem": "23 equal items for Hexagons in Squares",
197
+ "setup": "hexinsqu",
198
+ "source_image": "https://erich-friedman.github.io/packing/hexinsqu/23.png",
199
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/"
200
+ }
data/solutions/generated/hexinsqu_024_941fbce4f50492c6.json ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinsqu@24",
3
+ "container": {
4
+ "circumradius": 6.219918586523657,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 8.796293221918246,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "hexinsqu@24",
13
+ "credit": "Jonathan Viquerat",
14
+ "date": "April 2026",
15
+ "family_updated": "4/28/26",
16
+ "metric_expression": "8.795+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 8.795,
19
+ "reference_text": "s = 8.795+ | Found by Jonathan Viquerat | in April 2026.",
20
+ "source_image": "24.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/24.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
23
+ "title": "Hexagons in Squares"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "hexinsqu@24",
36
+ "credit": "Jonathan Viquerat",
37
+ "date": "April 2026",
38
+ "family_updated": "4/28/26",
39
+ "metric_expression": "8.795+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 8.795,
42
+ "reference_text": "s = 8.795+ | Found by Jonathan Viquerat | in April 2026.",
43
+ "source_image": "24.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/24.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
46
+ "title": "Hexagons in Squares"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinsqu/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 5.93257010359674,
60
+ "x": -0.0629985429975633,
61
+ "y": 4.8742560475230885
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.7734857616067785,
66
+ "x": -3.5308022267417494,
67
+ "y": 1.396251009472839
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 4.868940163160825,
72
+ "x": 0.2678827411833474,
73
+ "y": 0.27457309471435026
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.6961635602740237,
78
+ "x": -2.1917356596280153,
79
+ "y": 2.7452657254883746
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": -0.36146735669127283,
84
+ "x": 2.403338994053616,
85
+ "y": 2.40934099311739
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 4.883451328404109,
90
+ "x": 1.1690656629713196,
91
+ "y": 3.642451408081969
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 5.921948788903831,
96
+ "x": 3.634270998861003,
97
+ "y": 1.1783822129953256
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 3.826047517962225,
102
+ "x": 2.741468685031521,
103
+ "y": -2.188314483145284
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 2.7745464172650336,
108
+ "x": 1.5002987690660428,
109
+ "y": -0.9563545849974936
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 5.950443624822582,
114
+ "x": 4.878662139050818,
115
+ "y": -0.06943697349790708
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.725637943672936,
120
+ "x": -2.406591827506523,
121
+ "y": -2.407177870822691
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 5.918862579381371,
126
+ "x": 0.05807186948085872,
127
+ "y": -4.871164706561672
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -0.3612369292941675,
132
+ "x": 3.184181509755131,
133
+ "y": -0.5031718089130688
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 1.726283172687747,
138
+ "x": 1.3976820302852142,
139
+ "y": -3.5293578717958716
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 5.921422955630515,
144
+ "x": 1.9522352413371584,
145
+ "y": 0.7274180542022084
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 2.7753459259304236,
150
+ "x": -1.174005167136654,
151
+ "y": -3.6393794921190588
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 4.867226430655346,
156
+ "x": -4.870113971564976,
157
+ "y": 0.05653988916895529
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 1.7256380602218475,
162
+ "x": -3.63839726044839,
163
+ "y": -1.1753692758016556
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.6790767844405831,
168
+ "x": -1.0675767818665798,
169
+ "y": -1.0673738272997746
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 2.790529385980945,
174
+ "x": -0.5116965598563241,
175
+ "y": 3.193823933294465
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 2.7845301281991337,
180
+ "x": -0.9626439021367643,
181
+ "y": 1.5112055865123362
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 1.7262685779144946,
186
+ "x": -2.2992445356584263,
187
+ "y": 0.16440599347790744
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 5.927284841374064,
192
+ "x": 0.7196082120177724,
193
+ "y": 1.960431030200583
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 3.8206564458439596,
198
+ "x": 0.16503554494200573,
199
+ "y": -2.2983778910790282
200
+ }
201
+ ],
202
+ "problem": "24 equal items for Hexagons in Squares",
203
+ "setup": "hexinsqu",
204
+ "source_image": "https://erich-friedman.github.io/packing/hexinsqu/24.png",
205
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/"
206
+ }
data/solutions/generated/hexinsqu_025_d89d09725d796421.json ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexinsqu@25",
3
+ "container": {
4
+ "circumradius": 6.437509629050764,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 9.104013425310981,
7
+ "sides": 4,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexinsqu@25",
13
+ "credit": "Jonathan Viquerat",
14
+ "date": "April 2026",
15
+ "family_updated": "4/28/26",
16
+ "metric_expression": "30(4\u221a3\u20133)/13 = 9.065+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 9.065,
19
+ "reference_text": "s = 30(4\u221a3\u20133)/13 = 9.065+ | Found by Jonathan Viquerat | in April 2026.",
20
+ "source_image": "25.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/25.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
23
+ "title": "Hexagons in Squares"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexinsqu@25",
36
+ "credit": "Jonathan Viquerat",
37
+ "date": "April 2026",
38
+ "family_updated": "4/28/26",
39
+ "metric_expression": "30(4\u221a3\u20133)/13 = 9.065+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 9.065,
42
+ "reference_text": "s = 30(4\u221a3\u20133)/13 = 9.065+ | Found by Jonathan Viquerat | in April 2026.",
43
+ "source_image": "25.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexinsqu/25.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/",
46
+ "title": "Hexagons in Squares"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexinsqu/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 4.449497435763409,
60
+ "x": -2.6530181578098566,
61
+ "y": -0.10938276812361925
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.356195747317991,
66
+ "x": 0.09474308243049272,
67
+ "y": 5.1179851715760405
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 4.449496847463716,
72
+ "x": -0.20936437440957217,
73
+ "y": 2.346122755522066
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.6695322522608338,
78
+ "x": -3.727579475899307,
79
+ "y": 1.4116075138742592
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.5866632803438079,
84
+ "x": 3.7779094468578007,
85
+ "y": 1.2385247094279157
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 3.291585808941434,
90
+ "x": 3.730076034909709,
91
+ "y": -1.3020085106116608
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 2.356178998269235,
96
+ "x": 2.562170310339731,
97
+ "y": 2.650571523375503
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.7853966367687021,
102
+ "x": -2.354519090660921,
103
+ "y": 2.6681118862085915
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 2.356177854833813,
108
+ "x": -3.8742303889724163,
109
+ "y": -1.3385032538619157
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 4.450573479518846,
114
+ "x": 0.11572873646049141,
115
+ "y": 0.1979206358387157
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.2607071230754677,
120
+ "x": -1.4309396185424443,
121
+ "y": 1.1181177443412673
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.3089804016181483,
126
+ "x": -2.327427965186894,
127
+ "y": -2.2580297279169677
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 1.3089977697492767,
132
+ "x": -1.1300430100973524,
133
+ "y": 3.8932067070204317
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.26178370637788245,
138
+ "x": -1.1030341751415824,
139
+ "y": -1.0328698985981448
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 3.402200373941947,
144
+ "x": 1.0155388843583855,
145
+ "y": 3.5708749996276556
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 2.350758245764546,
150
+ "x": -0.17789509616946556,
151
+ "y": -2.5814533134396087
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 3.204679592964309,
156
+ "x": 1.2395338176412294,
157
+ "y": -3.811360266472643
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 3.854037047684209,
162
+ "x": -5.095735377399876,
163
+ "y": 0.06872011991407326
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.0953057348520077,
168
+ "x": -0.013360919726782314,
169
+ "y": -5.068793523909988
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 5.461157007395922,
174
+ "x": 2.2913639071748957,
175
+ "y": -0.13000806385609504
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 4.72820445636781,
180
+ "x": 5.071608730417592,
181
+ "y": -0.005786589201378384
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 5.487854705500991,
186
+ "x": 1.0448972845602236,
187
+ "y": -1.3514292782458313
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 4.353065408072961,
192
+ "x": 2.4934455495676695,
193
+ "y": -2.5364649288629395
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 2.3561782330096954,
198
+ "x": 1.337285461650252,
199
+ "y": 1.4259169021236733
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 6.544968154660768,
204
+ "x": -1.4078896442279345,
205
+ "y": -3.8048464160637527
206
+ }
207
+ ],
208
+ "problem": "25 equal items for Hexagons in Squares",
209
+ "setup": "hexinsqu",
210
+ "source_image": "https://erich-friedman.github.io/packing/hexinsqu/25.png",
211
+ "source_page": "https://erich-friedman.github.io/packing/hexinsqu/"
212
+ }
data/solutions/generated/hexintri_021_6cf726ac83ba7d7f.json ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "hexintri@21",
3
+ "container": {
4
+ "circumradius": 7.00016054016223,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 12.124633716699778,
7
+ "sides": 3,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "hexintri@21",
13
+ "credit": "Trivial",
14
+ "date": "",
15
+ "family_updated": "4/5/26",
16
+ "metric_expression": "7\u221a3 = 12.1243+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 12.1243,
19
+ "reference_text": "s = 7\u221a3 = 12.1243+ | Trivial. |",
20
+ "source_image": "21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/hexintri/21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/hexintri/",
23
+ "title": "Hexagons in Triangles"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.0000000000000002,
27
+ "side_length": 1.0,
28
+ "sides": 6,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "hexintri@21",
36
+ "credit": "Trivial",
37
+ "date": "",
38
+ "family_updated": "4/5/26",
39
+ "metric_expression": "7\u221a3 = 12.1243+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 12.1243,
42
+ "reference_text": "s = 7\u221a3 = 12.1243+ | Trivial. |",
43
+ "source_image": "21.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/hexintri/21.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/hexintri/",
46
+ "title": "Hexagons in Triangles"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/hexintri/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": -0.0030398564401798852,
60
+ "x": 2.0000686853718537,
61
+ "y": -1.7320926736998798
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.45447806536461716,
66
+ "x": -2.5910366057857788,
67
+ "y": 4.493984313802931
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -0.0030379526735467618,
72
+ "x": 3.500111971942715,
73
+ "y": 0.8660520485918902
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": -0.003039601584529748,
78
+ "x": -1.000037573754735,
79
+ "y": 3.464212895350693
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": -0.0030432321501530075,
84
+ "x": -2.5000745443676746,
85
+ "y": 2.5981683067385433
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.044160158511412,
90
+ "x": 0.5000189505388358,
91
+ "y": 0.8660561268185518
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": -0.0030347515430323036,
96
+ "x": 2.0000666470666335,
97
+ "y": 4.5288522566376654e-06
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 1.0441573551498704,
102
+ "x": -1.0000337623713567,
103
+ "y": 1.7321126822706914
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": -0.003038910832044619,
108
+ "x": 0.5000127124022922,
109
+ "y": 2.5981572146011387
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": -0.003042746037449452,
114
+ "x": -2.5000715290209556,
115
+ "y": 0.8660617288700451
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": -0.003037702976976884,
120
+ "x": 3.5001180895989514,
121
+ "y": -0.8660421820232557
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.5540459578338309,
126
+ "x": 5.2124463838495645,
127
+ "y": 0.0010464474809183256
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -0.0030381044045535745,
132
+ "x": 2.0000601667961146,
133
+ "y": 1.732103684088033
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": -0.0030050547230579855,
138
+ "x": -2.5000759672800106,
139
+ "y": -0.8660636228747471
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -0.002983422102268534,
144
+ "x": -1.0000451122151435,
145
+ "y": -3.4642211448773725
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -0.002982491409430324,
150
+ "x": -2.5000807070817803,
151
+ "y": -2.5981814587208234
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 1.044157583753369,
156
+ "x": 0.5000214093550591,
157
+ "y": -0.8660433592915127
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": -0.003008313591953828,
162
+ "x": 0.5000098322870491,
163
+ "y": -2.5981571048412975
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.0441922001401638,
168
+ "x": -1.0000322845635021,
169
+ "y": -1.7321109112350768
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.49051181746238914,
174
+ "x": -2.6173928570438845,
175
+ "y": -4.531947867109468
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 1.0441598911509304,
180
+ "x": -1.0000254706526575,
181
+ "y": 7.949627308408943e-06
182
+ }
183
+ ],
184
+ "problem": "21 equal items for Hexagons in Triangles",
185
+ "setup": "hexintri",
186
+ "source_image": "https://erich-friedman.github.io/packing/hexintri/21.gif",
187
+ "source_page": "https://erich-friedman.github.io/packing/hexintri/"
188
+ }
data/solutions/generated/octinoct_021_92c4bcf9428983c2.json ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@21",
3
+ "container": {
4
+ "circumradius": 6.790383586607595,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.1971345959971265,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@21",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.19715+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.19715,
19
+ "reference_text": "s = 5.19715+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "21.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/21.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@21",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.19715+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.19715,
42
+ "reference_text": "s = 5.19715+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "21.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/21.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 9.518523270295335e-06,
60
+ "x": 0.0026959501419075702,
61
+ "y": 5.482681170215482
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.13091535883703911,
66
+ "x": 0.30444013696249855,
67
+ "y": -2.685053976126771
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.42095316325061694,
72
+ "x": 0.0036127034572600164,
73
+ "y": -0.032916439190611026
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.13091418365602034,
78
+ "x": -2.0428042242612845,
79
+ "y": -2.117152874517605
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.6997541675883147e-05,
84
+ "x": -1.3821576866752419,
85
+ "y": 2.2980790314960995
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.7854166332477723,
90
+ "x": -1.635022855881214,
91
+ "y": -4.772902100385014
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7852509895457906,
96
+ "x": 3.0559023842959743,
97
+ "y": -4.217883889903211
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 1.2673781744400633e-05,
102
+ "x": 0.8491265209582148,
103
+ "y": 3.2201023598846246
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.7853914807874623,
108
+ "x": 0.8253367549567066,
109
+ "y": -5.141930603490421
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 1.912218403381361e-05,
114
+ "x": 4.56089742601168,
115
+ "y": -2.2280694879490524
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.7854067818506797,
120
+ "x": 3.047551356487613,
121
+ "y": 4.221445755244208
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.1309373494942105,
126
+ "x": 2.2809607267414407,
127
+ "y": -1.2799809177252603
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.7854115348429682,
132
+ "x": -3.8775342620948545,
133
+ "y": -3.877678344939351
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 9.957668855930878e-06,
138
+ "x": -4.218221619133975,
139
+ "y": 3.0553526962616804
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 2.1556489878507075e-05,
144
+ "x": 5.482269193630867,
145
+ "y": 0.003549847547907922
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.7854048275013688,
150
+ "x": -4.781133333650034,
151
+ "y": -1.6387940990684917
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.0014952882036121426,
156
+ "x": -2.7641750739082784,
157
+ "y": 0.2565345411089217
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 7.992742901443847e-06,
162
+ "x": -5.142131249244154,
163
+ "y": 0.8248616467825739
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.9157130758664028e-05,
168
+ "x": 4.558404614219804,
169
+ "y": 2.2340753608649204
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.13097144841992128,
174
+ "x": 2.3091562449076544,
175
+ "y": 1.2118594744507065
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 6.978409263442952e-06,
180
+ "x": -2.228580382872541,
181
+ "y": 4.560682323177018
182
+ }
183
+ ],
184
+ "problem": "21 equal items for Octagons in Octagons",
185
+ "setup": "octinoct",
186
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/21.gif",
187
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
188
+ }
data/solutions/generated/octinoct_022_b8f2befaa2d4a75e.json ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@22",
3
+ "container": {
4
+ "circumradius": 7.000589663177571,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.358019361768721,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@22",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.35750+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.3575,
19
+ "reference_text": "s = 5.35750+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "22.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/22.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@22",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.35750+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.3575,
42
+ "reference_text": "s = 5.35750+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "22.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/22.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 5.4977943867584225,
60
+ "x": 5.200854348883957,
61
+ "y": 1.1905293703273452
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.3482264379559217,
66
+ "x": 2.152117723823794,
67
+ "y": -2.241819258770687
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 2.3561872186825528,
72
+ "x": 4.194905174048309,
73
+ "y": -3.619154859601694
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 5.497786984731784,
78
+ "x": 2.22373016224731,
79
+ "y": 4.772906065157386
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 4.7124026909128265,
84
+ "x": -4.496155607010538,
85
+ "y": -2.8918471815847
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 2.3915331420026082,
90
+ "x": -5.410221986131439,
91
+ "y": -0.6381483986001512
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 6.283191915227585,
96
+ "x": 4.276953730693632,
97
+ "y": 3.421043191696978
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 5.4977782833730595,
102
+ "x": 2.0836458959697155,
103
+ "y": -4.830918483047158
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 5.4977948733294,
108
+ "x": -4.028643327804291,
109
+ "y": 4.020516689732176
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 3.9209736911559276,
114
+ "x": 3.076427596250851,
115
+ "y": -0.010395834460669063
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.5596043861191696,
120
+ "x": -2.4012505660395362,
121
+ "y": -1.4281623844355025
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.5696561055723146,
126
+ "x": -2.595683677261443,
127
+ "y": -4.613829405044768
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.7853940669025994,
132
+ "x": 5.118794087778671,
133
+ "y": -1.3886633723226485
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 6.250952552824854,
138
+ "x": 0.13347837127295858,
139
+ "y": -0.818133838139317
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 2.3504146666070516,
144
+ "x": -0.26113347446748075,
145
+ "y": 1.6268837888037138
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.7828557918264474,
150
+ "x": -2.6396252338058512,
151
+ "y": 1.0618517376610774
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 4.712394285123516,
156
+ "x": -1.5432080427103378,
157
+ "y": 3.712108134778865
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 4.71237614251748,
162
+ "x": -4.95310980551691,
163
+ "y": 1.7886686419043951
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 3.9269952573764697,
168
+ "x": -0.009564622931623431,
169
+ "y": 5.6900394842816
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 5.492020247759835,
174
+ "x": 2.1109738309129438,
175
+ "y": 2.203343066983049
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.03230783452179647,
180
+ "x": -0.5721805183486408,
181
+ "y": -3.148800203105373
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": -1.2890708267210215e-05,
186
+ "x": -0.20765600112515012,
187
+ "y": -5.608000386692329
188
+ }
189
+ ],
190
+ "problem": "22 equal items for Octagons in Octagons",
191
+ "setup": "octinoct",
192
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/22.gif",
193
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
194
+ }
data/solutions/generated/octinoct_023_d6528e8801e36ce0.json ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@23",
3
+ "container": {
4
+ "circumradius": 7.074156474460484,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.414324961468521,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@23",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.41440+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.4144,
19
+ "reference_text": "s = 5.41440+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "23.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/23.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@23",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.41440+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.4144,
42
+ "reference_text": "s = 5.41440+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "23.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/23.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 3.9270181483970337,
60
+ "x": -4.079363476429201,
61
+ "y": -4.075703341115646
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 1.5708233945626737,
66
+ "x": -1.8493724329491528,
67
+ "y": -5.0008110780239
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 5.497810876348508,
72
+ "x": 0.5386056659366816,
73
+ "y": -5.54447594382163
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 6.283208926532913,
78
+ "x": 2.7690937103494764,
79
+ "y": -4.620559636475766
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 3.927004896840179,
84
+ "x": 4.617962481758996,
85
+ "y": -2.775382371714679
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 3.927016514460933,
90
+ "x": -5.003246132610022,
91
+ "y": -1.8451993599578802
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 2.8715693307407136e-05,
96
+ "x": -2.230507036799692,
97
+ "y": -2.230531948328337
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 2.356222667150596,
102
+ "x": -3.237493850411713e-07,
103
+ "y": -3.1543784320741963
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 4.712416840614229,
108
+ "x": 2.2304825897507077,
109
+ "y": -2.230458495821536
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 5.497802216296138,
114
+ "x": 5.5418649036329235,
115
+ "y": -0.5448840647848686
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.570809889102413,
120
+ "x": -5.541856979384667,
121
+ "y": 0.5449027236083288
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.7854266352014155,
126
+ "x": -3.154381310102962,
127
+ "y": -3.0205444067671072e-05
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.9240290002119494,
132
+ "x": -0.15557066419461857,
133
+ "y": -0.08891480817603585
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 6.283212421378476,
138
+ "x": 3.1543823750346,
139
+ "y": 3.0183439187935574e-05
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 6.283200916980124,
144
+ "x": 5.003250408602744,
145
+ "y": 1.845206472583629
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.5708127661940807,
150
+ "x": -4.617954068233842,
151
+ "y": 2.775402739669103
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 2.356221120654699,
156
+ "x": -2.2304840143912905,
157
+ "y": 2.230459702247452
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 3.141620146916032,
162
+ "x": -1.04862406877325e-06,
163
+ "y": 3.1543811501501597
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 6.283212880436895,
168
+ "x": 2.230501863537211,
169
+ "y": 2.2305286958587858
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.7854140838461334,
174
+ "x": 4.079363682989642,
175
+ "y": 4.075703701883958
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 5.4978041507125495,
180
+ "x": -2.7690798952780855,
181
+ "y": 4.620568850100944
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 5.497804084143195,
186
+ "x": -0.5385925394245675,
187
+ "y": 5.544482957697946
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 3.1416106806734767,
192
+ "x": 1.8493028780205083,
193
+ "y": 5.000626067025402
194
+ }
195
+ ],
196
+ "problem": "23 equal items for Octagons in Octagons",
197
+ "setup": "octinoct",
198
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/23.gif",
199
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
200
+ }
data/solutions/generated/octinoct_024_a34ac6a3c52f70df.json ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@24",
3
+ "container": {
4
+ "circumradius": 7.257471709325863,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.554628368034713,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@24",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.55464+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.55464,
19
+ "reference_text": "s = 5.55464+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "24.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/24.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@24",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.55464+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.55464,
42
+ "reference_text": "s = 5.55464+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "24.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/24.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": -0.3104973535340642,
60
+ "x": -2.692828616350791,
61
+ "y": -4.732151705275996
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.7853896277081767,
66
+ "x": -4.64452141227958,
67
+ "y": -3.1538143467263073
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.78539022606204,
72
+ "x": 1.6784639489824013e-06,
73
+ "y": -5.950882323643123
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.7854030409445484,
78
+ "x": 2.2305020164982596,
79
+ "y": -5.026970219030209
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.7826985426326541,
84
+ "x": 4.356185724720133,
85
+ "y": -3.846465162360966
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.7386123279528356,
90
+ "x": -3.2527453192445432,
91
+ "y": 0.19704974350364488
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7853709241103185,
96
+ "x": -2.8029726211541398e-05,
97
+ "y": 5.9508740348472005
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.7478501774499006,
102
+ "x": 5.273511457203417,
103
+ "y": -1.5885042587574743
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.738614905361602,
108
+ "x": 2.3306568734644704,
109
+ "y": -2.4313937667213943
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.05943722053647388,
114
+ "x": 5.458690929043055,
115
+ "y": 1.1008444275920677
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.025355678156066437,
120
+ "x": -5.546250892264074,
121
+ "y": -0.8993220333093255
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.7386068274310623,
126
+ "x": -2.330937377376838,
127
+ "y": 2.4314592215119997
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.7385960569946735,
132
+ "x": 0.24438453666791643,
133
+ "y": -1.1945167362045035
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.7386197182065007,
138
+ "x": -2.451985522548868,
139
+ "y": -2.080643158816821
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.7386117107814585,
144
+ "x": 3.2544571962522757,
145
+ "y": -0.19793116499373525
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.7854020999771066,
150
+ "x": -2.2305435693738995,
151
+ "y": 5.026950805714105
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.7386229012401239,
156
+ "x": -0.46503652578509813,
157
+ "y": -3.5287730738155703
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.7386092022124358,
162
+ "x": 2.4525339484841227,
163
+ "y": 2.079322127640416
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.03513468544990879,
168
+ "x": 2.54747427313219,
169
+ "y": 4.877224782895519
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.7386073781152671,
174
+ "x": -0.24417194756527394,
175
+ "y": 1.1956544456687483
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.7881058458627486,
180
+ "x": -5.286857681182137,
181
+ "y": 1.5995536133065837
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.7853668954293739,
186
+ "x": -4.356214070655967,
187
+ "y": 3.849869327132821
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.7386088444183039,
192
+ "x": 0.46648386380864454,
193
+ "y": 3.5293196358389443
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.7853957059929876,
198
+ "x": 4.555075737923532,
199
+ "y": 3.3697662269535447
200
+ }
201
+ ],
202
+ "problem": "24 equal items for Octagons in Octagons",
203
+ "setup": "octinoct",
204
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/24.gif",
205
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
206
+ }
data/solutions/generated/octinoct_025_113492960b7e7dce.json ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@25",
3
+ "container": {
4
+ "circumradius": 7.394267573806387,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.659327389940226,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@25",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.65593+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.65593,
19
+ "reference_text": "s = 5.65593+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "25.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/25.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@25",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.65593+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.65593,
42
+ "reference_text": "s = 5.65593+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "25.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/25.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.5693215399299264,
60
+ "x": -2.0570783014243563,
61
+ "y": 0.07051977382764134
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -0.06224157593431032,
66
+ "x": -4.10812375248985,
67
+ "y": -1.5209464517194367
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 2.3715719771674282e-05,
72
+ "x": 2.5875678433008873,
73
+ "y": -2.141099014193161
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.7581351655317794e-05,
78
+ "x": 4.5256557001938065,
79
+ "y": 3.771007931142321
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.4721695143166491e-05,
84
+ "x": 2.4981672208876224,
85
+ "y": 2.3569705432497767
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.004366406192732975,
90
+ "x": -1.7881888984833292,
91
+ "y": 2.6643137550034988
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.20978101110321437,
96
+ "x": 0.06771874131465401,
97
+ "y": -1.275898539939052
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.21607043096668146,
102
+ "x": -4.007220020558106,
103
+ "y": 1.49484336603282
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.20977379927381537,
108
+ "x": 0.2883467083781305,
109
+ "y": 1.1385250724570537
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.003807430786470125,
114
+ "x": -6.085532857661545,
115
+ "y": 0.00018361516892787157
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.0063044580291853865,
120
+ "x": -2.2407155875127542,
121
+ "y": -5.156144943767577
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -0.00047559137326154004,
126
+ "x": 2.4493918780901582,
127
+ "y": 5.0726095320486895
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -0.023583527879612647,
132
+ "x": 2.7763231544589058,
133
+ "y": -4.897820906021629
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 1.8526357757946055e-05,
138
+ "x": 3.422073649224173,
139
+ "y": 0.12644611518572274
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 3.896856839869422e-05,
144
+ "x": -0.008381495154578613,
145
+ "y": -6.0842049925837385
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -0.0014567238837104467,
150
+ "x": -4.4115857695793,
151
+ "y": -4.043460118512249
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.6686546265676944,
156
+ "x": 5.629752042885831,
157
+ "y": -0.9747380362871849
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.7853323216964855,
162
+ "x": -0.009496795473022629,
163
+ "y": 6.083718094033468
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.638954685861762e-05,
168
+ "x": 4.731047832584925,
169
+ "y": -3.2751755928211477
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.08172653490960273,
174
+ "x": -4.402638274050974,
175
+ "y": 3.9717840870423635
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -1.839424057805183e-05,
180
+ "x": 0.4198849394069394,
181
+ "y": 3.6484184544221208
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.2096433545864106,
186
+ "x": -1.8912666776527096,
187
+ "y": -2.688119502905674
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.0688242073084812,
192
+ "x": -2.268020663642456,
193
+ "y": 5.114073750277366
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 2.3329973843458612e-05,
198
+ "x": 5.449687591278974,
199
+ "y": 1.5401658308235053
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 7.06140528078519e-05,
204
+ "x": 0.6358013773742742,
205
+ "y": -3.737851068078261
206
+ }
207
+ ],
208
+ "problem": "25 equal items for Octagons in Octagons",
209
+ "setup": "octinoct",
210
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/25.gif",
211
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
212
+ }
data/solutions/generated/octinoct_026_581188c4895e4037.json ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@26",
3
+ "container": {
4
+ "circumradius": 7.504266445326936,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.743516881359766,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@26",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.73940+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.7394,
19
+ "reference_text": "s = 5.73940+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "26.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/26.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@26",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.73940+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.7394,
42
+ "reference_text": "s = 5.73940+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "26.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/26.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.9523739006684414,
60
+ "x": -2.5086975055511016,
61
+ "y": -2.682912117926112
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.7660935189633062,
66
+ "x": 0.604433288966701,
67
+ "y": -1.413559022247024
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.7853892559433551,
72
+ "x": -5.313794804993755,
73
+ "y": -2.0929003835282898
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.7986932115583967,
78
+ "x": 3.399171461648714,
79
+ "y": 0.2183930657162704
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.785383683187249,
84
+ "x": 1.4807045615934724,
85
+ "y": 5.584348214247414
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 0.7853952835144798,
90
+ "x": -3.3316502785704354,
91
+ "y": 4.8176565869248416
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7853966892615891,
96
+ "x": 0.05800224489590957,
97
+ "y": -6.173660405597693
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.6898665173778029,
102
+ "x": 0.472013851219055,
103
+ "y": 1.1069856890886334
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.7853918485840538,
108
+ "x": 5.387630850596179,
109
+ "y": -1.9556128180256527
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.7660984915784623,
114
+ "x": 2.887484220522465,
115
+ "y": -2.2182867342736423
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.6898651546706734,
120
+ "x": 0.12178980530695259,
121
+ "y": 3.524673352284675
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -1.4501233189043965e-06,
126
+ "x": 4.462411781818704,
127
+ "y": -4.189313718615357
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.7853840489196464,
132
+ "x": -6.120613964151758,
133
+ "y": 0.18607529379225543
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.7853974950138513,
138
+ "x": 2.0244061895940764,
139
+ "y": -4.612214682510489
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.7853948423297549,
144
+ "x": 5.1127383030677205,
145
+ "y": 2.6192526707202735
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.773360077342425,
150
+ "x": -0.23528854718660808,
151
+ "y": -3.684225332290076
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": -0.019122129628962863,
156
+ "x": 2.5570418986446124,
157
+ "y": 2.4981596512176947
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.8682390019158405,
162
+ "x": -1.0521840559237174,
163
+ "y": 5.721075124168665
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.6898216267055335,
168
+ "x": -2.136491593241936,
169
+ "y": 2.6538323806372492
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.7629015058678197,
174
+ "x": -3.729797568757605,
175
+ "y": 0.7287471525373916
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.7853935269680613,
180
+ "x": -4.404394018446974,
181
+ "y": -4.329385806002333
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.7629058314679107,
186
+ "x": -1.5780902786558744,
187
+ "y": -0.375386867720952
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.7967839662086619,
192
+ "x": 3.714253577446122,
193
+ "y": 4.653096669103849
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.7853947842715419,
198
+ "x": 6.036643696814545,
199
+ "y": 0.3887502047479285
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 0.785395382263092,
204
+ "x": -2.189454752619741,
205
+ "y": -5.290765587537986
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 0.7541278022609171,
210
+ "x": -4.919882721782195,
211
+ "y": 2.8634103681353813
212
+ }
213
+ ],
214
+ "problem": "26 equal items for Octagons in Octagons",
215
+ "setup": "octinoct",
216
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/26.gif",
217
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
218
+ }
data/solutions/generated/octinoct_027_25c7f85bc0b15209.json ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@27",
3
+ "container": {
4
+ "circumradius": 7.59533034725261,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.813214174466716,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@27",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "5.81238+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.81238,
19
+ "reference_text": "s = 5.81238+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "27.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/27.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@27",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "5.81238+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.81238,
42
+ "reference_text": "s = 5.81238+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "27.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/27.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 5.497788183226797,
60
+ "x": 0.09492511989680884,
61
+ "y": -6.249407967499408
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 2.3561705536274764,
66
+ "x": -4.418216670674793,
67
+ "y": -4.45865800212841
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 6.283182339089631,
72
+ "x": 5.43281173888933,
73
+ "y": 2.065941485512853
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 5.646873846363499,
78
+ "x": -2.421475251643423,
79
+ "y": 2.8041182404580582
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 3.1415916680131475,
84
+ "x": -6.2862339995520005,
85
+ "y": -0.006036096994846737
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 3.926965387506575,
90
+ "x": -4.8442794499134285,
91
+ "y": 2.0098629423485934
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7957708872745689,
96
+ "x": 1.2759546821346963,
97
+ "y": -0.5124877795802836
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 1.8781922019464363,
102
+ "x": -3.726383366633069,
103
+ "y": -0.2635518103154847
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 3.1415914710392707,
108
+ "x": 4.51073179589875,
109
+ "y": -4.292491122962037
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 4.731224758375477,
114
+ "x": 2.041673255941676,
115
+ "y": -2.8166587023847107
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 3.93553467311479,
120
+ "x": -0.29923382915731195,
121
+ "y": 1.4415807134881167
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 5.497798732682845,
126
+ "x": 0.03994630731521127,
127
+ "y": 6.2722106400139825
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 3.1501403599129567,
132
+ "x": 0.3503579306844943,
133
+ "y": 3.7830247085952653
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 3.926989510778845,
138
+ "x": 4.509054320336427,
139
+ "y": 4.296497829351077
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 5.506343265603295,
144
+ "x": -1.2531175958255032,
145
+ "y": -0.776878026654066
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.5707935789543368,
150
+ "x": -2.163382112402952,
151
+ "y": -5.392634214861737
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 1.5760967466755464,
156
+ "x": 2.5378258433761354,
157
+ "y": 2.7488513132569423
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 4.720929148512929,
162
+ "x": -2.4542659081461036,
163
+ "y": -2.8953857484067966
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 6.283187276116029,
168
+ "x": -5.3532674174145845,
169
+ "y": -2.232770245518803
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 3.9270037003705576,
174
+ "x": -2.196608111460055,
175
+ "y": 5.362955613503642
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 6.283178614369351,
180
+ "x": 6.192385520359506,
181
+ "y": -0.23262710822111485
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 5.497792128774849,
186
+ "x": 2.325063945798523,
187
+ "y": -5.324637033943778
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 3.9269939286257602,
192
+ "x": -4.432722917950031,
193
+ "y": 4.452606399166264
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 3.141608505242548,
198
+ "x": 2.32257746105828,
199
+ "y": 5.326702428525041
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 3.16034211742628,
204
+ "x": 4.22656985891618,
205
+ "y": -1.7870832729783153
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 4.721043752453188,
210
+ "x": 3.462604221088771,
211
+ "y": 0.516813984622734
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 0.8042443034222917,
216
+ "x": -0.1880545325093968,
217
+ "y": -3.7434322050456705
218
+ }
219
+ ],
220
+ "problem": "27 equal items for Octagons in Octagons",
221
+ "setup": "octinoct",
222
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/27.gif",
223
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
224
+ }
data/solutions/generated/octinoct_028_f8d9c8a9f9a38d45.json ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@28",
3
+ "container": {
4
+ "circumradius": 7.615311619146363,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.828507177889359,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": true,
12
+ "case": "octinoct@28",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "3+2\u221a2 = 5.82842+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.82842,
19
+ "reference_text": "s = 3+2\u221a2 = 5.82842+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "28.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/28.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.0000200001000001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": true,
35
+ "case": "octinoct@28",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "3+2\u221a2 = 5.82842+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.82842,
42
+ "reference_text": "s = 3+2\u221a2 = 5.82842+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "28.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/28.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.785369043977947,
60
+ "x": 0.6532871737527217,
61
+ "y": 1.5771780813202667
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 5.4977806540681415,
66
+ "x": 5.384834387920679,
67
+ "y": 2.230482129127525
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 4.712381491644558,
72
+ "x": 6.308732181501794,
73
+ "y": 1.2374339658784899e-05
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 3.926986826326625,
78
+ "x": 4.460941454828339,
79
+ "y": -4.460953397933932
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.7853701175761926,
84
+ "x": -0.6532885808689756,
85
+ "y": -1.5771778874233437
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 3.1415615644791797,
90
+ "x": -3.807646404672461,
91
+ "y": -0.27061161630538133
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.7853702307362372,
96
+ "x": -1.5771821126171526,
97
+ "y": 0.653289171946033
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 0.7853683154976964,
102
+ "x": -2.5010929117672265,
103
+ "y": 2.8837494817711926
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 5.497783232046969,
108
+ "x": -2.203278018692044,
109
+ "y": -5.319181696785776
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 4.712385921982515,
114
+ "x": -4.460948399532799,
115
+ "y": 4.460944328101629
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.7853693937729909,
120
+ "x": 1.57718225502301,
121
+ "y": -0.6532898726890033
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 4.712359488480964,
126
+ "x": 2.5010893836281873,
127
+ "y": -2.8837526205751205
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 1.570766041489327,
132
+ "x": 0.27060452721253414,
133
+ "y": -3.80764574166345
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.7853941503048595,
138
+ "x": 2.079289438789878,
139
+ "y": 5.019861326376021
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.785369674459845,
144
+ "x": 2.8837432097171916,
145
+ "y": 2.5011004294955237
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.7853946232903743,
150
+ "x": -2.2304728503028843,
151
+ "y": 5.384838405994789
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 3.141479891936242,
156
+ "x": 4.881685531540648,
157
+ "y": -2.022022419682835
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 4.712384192443675,
162
+ "x": 4.460941188033818,
163
+ "y": 4.460953130974686
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": -3.254809293490312e-06,
168
+ "x": -5.745382963308587e-06,
169
+ "y": -6.30873127748959
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 5.497782591097332,
174
+ "x": -4.460944203061364,
175
+ "y": -4.4609487687370155
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 3.141589055556543,
180
+ "x": -4.9716637680133475,
181
+ "y": 2.0593297131439425
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 5.4977833898710875,
186
+ "x": 1.6203941204540357e-06,
187
+ "y": 6.308730924893716
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.7853959404622493,
192
+ "x": -5.384837717583938,
193
+ "y": -2.2304746841709626
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 2.3561643158397523,
198
+ "x": -0.27060937925594747,
199
+ "y": 3.8076446504164068
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 5.497757680424624,
204
+ "x": -2.883747380227653,
205
+ "y": -2.5010940180691725
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": -3.778563522929647e-06,
210
+ "x": 2.2304671777766223,
211
+ "y": -5.384840952691193
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 6.283157952518043,
216
+ "x": 3.8076445853264786,
217
+ "y": 0.2706190879860121
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": 1.5707946774360875,
222
+ "x": -6.308730467243412,
223
+ "y": 2.569595976860316e-06
224
+ }
225
+ ],
226
+ "problem": "28 equal items for Octagons in Octagons",
227
+ "setup": "octinoct",
228
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/28.gif",
229
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
230
+ }
data/solutions/generated/octinoct_029_30789c6bb8fd99b7.json ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@29",
3
+ "container": {
4
+ "circumradius": 7.915124590620668,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.0579740918720875,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@29",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "6.05746+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.05746,
19
+ "reference_text": "s = 6.05746+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "29.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/29.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@29",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "6.05746+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 6.05746,
42
+ "reference_text": "s = 6.05746+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "29.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/29.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.7839586495971684,
60
+ "x": -2.5871120064416018,
61
+ "y": -5.536158591683675
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -0.001709732577697924,
66
+ "x": 3.155452268601462,
67
+ "y": 2.68834614881321
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -0.0016474603951101175,
72
+ "x": -2.7040270776523063,
73
+ "y": 3.1016012493263725
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.24773184031608317,
78
+ "x": 1.1171678227939492,
79
+ "y": -3.520567442118366
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.7853898234273222,
84
+ "x": -5.739626081208593,
85
+ "y": -2.0976982877937935
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 7.148849877087693e-06,
90
+ "x": 5.692462644906289,
91
+ "y": -2.21156535603614
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": -0.0017037455269571728,
96
+ "x": -1.385266362263064,
97
+ "y": 1.0338397126549073
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": 6.673349538625338e-06,
102
+ "x": 4.768536736867518,
103
+ "y": -4.442088396525415
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 6.96154970467223e-06,
108
+ "x": 2.605624941511477,
109
+ "y": -5.529235729832928
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": -0.0017031268410607455,
114
+ "x": -0.4541292888423293,
115
+ "y": -1.1937002517127346
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.24773717880394236,
120
+ "x": 3.163746247131458,
121
+ "y": -2.226486011793599
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.7836669248411581,
126
+ "x": 4.124720839255784,
127
+ "y": 0.36833452227563424
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.5622838223648813,
132
+ "x": -3.268423423551006,
133
+ "y": -1.7466366215358107
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.7853858462657682,
138
+ "x": -4.664582064710053,
139
+ "y": 4.676381793936473
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.7853851314102495,
144
+ "x": -5.594405912567706,
145
+ "y": 2.4483052827116283
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 7.259773801631304e-06,
150
+ "x": 6.597411195567688,
151
+ "y": 0.026812147941377738
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": -8.584782412412758e-06,
156
+ "x": 5.63228122689041,
157
+ "y": 2.3568496053714987
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 4.807551762723889e-07,
162
+ "x": 0.03089077330613029,
163
+ "y": 6.5957191819521706
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 0.9439213108691074,
168
+ "x": -0.08086250925463227,
169
+ "y": -6.021240030378052
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": -0.001703082415839968,
174
+ "x": 1.7361125717418449,
175
+ "y": -0.17208461612653775
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.7853953675047748,
180
+ "x": -2.429723941467776,
181
+ "y": 5.602091921395527
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.7639094493245863,
186
+ "x": -4.758346731116102,
187
+ "y": -4.430563250811375
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.7836901679661165,
192
+ "x": 4.574209814153218,
193
+ "y": 4.712903894525254
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": 0.7837010482216619,
198
+ "x": -1.3946143270687228,
199
+ "y": -3.417311625359392
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": -0.0017033604387581532,
204
+ "x": 0.8049735329434445,
205
+ "y": 2.0554563982703047
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": 0.5622816904271657,
210
+ "x": -3.842677708622351,
211
+ "y": 0.604458342794656
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": 0.7930902521230568,
216
+ "x": -6.5236555849265985,
217
+ "y": 0.19490108312809984
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": -2.983905443773624e-06,
222
+ "x": -0.4114664340756128,
223
+ "y": 4.165726686348186
224
+ },
225
+ {
226
+ "id": 29,
227
+ "rotation_radians": 0.8978844187165769,
228
+ "x": 2.0741034354781682,
229
+ "y": 4.95850629054105
230
+ }
231
+ ],
232
+ "problem": "29 equal items for Octagons in Octagons",
233
+ "setup": "octinoct",
234
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/29.gif",
235
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
236
+ }
data/solutions/generated/octinoct_030_1a16dc8a4d741008.json ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "octinoct@30",
3
+ "container": {
4
+ "circumradius": 8.04162623825285,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 6.154794261303532,
7
+ "sides": 8,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "octinoct@30",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "March 2026",
15
+ "family_updated": "3/27/26",
16
+ "metric_expression": "6.15432+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 6.15432,
19
+ "reference_text": "s = 6.15432+ | Found by Ignacio Vallejo | in March 2026.",
20
+ "source_image": "30.gif",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/30.gif",
22
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
23
+ "title": "Octagons in Octagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 1.3065629648763766,
27
+ "side_length": 1.0,
28
+ "sides": 8,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000030000300001,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "octinoct@30",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "March 2026",
38
+ "family_updated": "3/27/26",
39
+ "metric_expression": "6.15432+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 6.15432,
42
+ "reference_text": "s = 6.15432+ | Found by Ignacio Vallejo | in March 2026.",
43
+ "source_image": "30.gif",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/octinoct/30.gif",
45
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/",
46
+ "title": "Octagons in Octagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/octinoct/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.7853985669273894,
60
+ "x": -4.460853529556884,
61
+ "y": -4.887285530319528
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": -3.236891252007777e-06,
66
+ "x": -2.2303387146297773,
67
+ "y": -5.811148728494539
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -2.4200801123159494e-06,
72
+ "x": 0.00020618510854237274,
73
+ "y": -6.734945110374791
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.7853760261826629,
78
+ "x": 0.8163691869300846,
79
+ "y": -4.459816648906572
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": -1.2955629596159967e-05,
84
+ "x": 3.0022237528214784,
85
+ "y": -5.491469623186467
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 7.089557453995235e-06,
90
+ "x": 5.037903725476704,
91
+ "y": -4.097222196205068
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": -0.7854103416728232,
96
+ "x": -5.597983105056128,
97
+ "y": -2.745109070656076
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.7853642582762894,
102
+ "x": -3.388960890827465,
103
+ "y": -1.769381117374732
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": -0.8345154445995265,
108
+ "x": -1.4996555984708788,
109
+ "y": -3.475572191150964
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": -0.013871397889793736,
114
+ "x": 0.5187444542226575,
115
+ "y": -1.9724622772304243
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 0.7740683932306067,
120
+ "x": 2.8156137476943788,
121
+ "y": -2.958832667570038
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -0.7853817880747395,
126
+ "x": 5.961748265107965,
127
+ "y": -1.8666899360110738
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 1.659521839184079e-05,
132
+ "x": -6.521888332162401,
133
+ "y": -0.5145812510916653
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.7255360065794421,
138
+ "x": -3.810782614606555,
139
+ "y": 0.6687071775351029
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -0.7869620549594492,
144
+ "x": -1.3898170204765354,
145
+ "y": -0.28495679762075954
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -0.013827605036687557,
150
+ "x": 1.3838630790356377,
151
+ "y": 0.2836089709276332
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.7741340224768467,
156
+ "x": 3.804735143361905,
157
+ "y": -0.7559987412781047
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": -0.7853920758039332,
162
+ "x": 6.521926000021451,
163
+ "y": 0.5144650504667468
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": -0.785390939290023,
168
+ "x": -5.946833135651572,
169
+ "y": 1.8604090238128743
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": -0.08365649714303072,
174
+ "x": -2.8210264976902355,
175
+ "y": 2.8848880437574733
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.8050529313993353,
180
+ "x": -0.5144365311461893,
181
+ "y": 1.975301061663274
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.8794636074514369,
186
+ "x": 1.5062396406342393,
187
+ "y": 3.462983921029856
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 0.7854141245152652,
192
+ "x": 3.4191050294297676,
193
+ "y": 1.696614781172084
194
+ },
195
+ {
196
+ "id": 24,
197
+ "rotation_radians": -0.7853832283949629,
198
+ "x": 5.598040121807019,
199
+ "y": 2.744966519119988
200
+ },
201
+ {
202
+ "id": 25,
203
+ "rotation_radians": 3.330350278091846e-06,
204
+ "x": -5.037946228772615,
205
+ "y": 4.097122598291171
206
+ },
207
+ {
208
+ "id": 26,
209
+ "rotation_radians": -1.0526171557492808e-05,
210
+ "x": -3.0023045122063396,
211
+ "y": 5.491439084918123
212
+ },
213
+ {
214
+ "id": 27,
215
+ "rotation_radians": -0.7854108039938092,
216
+ "x": -0.8163657600728035,
217
+ "y": 4.459996509833742
218
+ },
219
+ {
220
+ "id": 28,
221
+ "rotation_radians": -1.661503676552794e-05,
222
+ "x": 1.1794865396797923e-05,
223
+ "y": 6.7350286820909355
224
+ },
225
+ {
226
+ "id": 29,
227
+ "rotation_radians": -1.439807534039132e-05,
228
+ "x": 2.2300198968421148,
229
+ "y": 5.8099350235240435
230
+ },
231
+ {
232
+ "id": 30,
233
+ "rotation_radians": -8.538692956654813e-06,
234
+ "x": 4.461022414535396,
235
+ "y": 4.887211394230514
236
+ }
237
+ ],
238
+ "problem": "30 equal items for Octagons in Octagons",
239
+ "setup": "octinoct",
240
+ "source_image": "https://erich-friedman.github.io/packing/octinoct/30.gif",
241
+ "source_page": "https://erich-friedman.github.io/packing/octinoct/"
242
+ }
data/solutions/generated/penincir_021_b713bb4909b828e8.json ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "penincir@21",
3
+ "container": {
4
+ "radius": 3.930338682033069,
5
+ "type": "circle"
6
+ },
7
+ "friedman_reference": {
8
+ "analytical_or_proved": false,
9
+ "case": "penincir@21",
10
+ "credit": "Cyril Summerfield",
11
+ "date": "April 2026",
12
+ "family_updated": "4/13/26",
13
+ "metric_expression": "3.90735+",
14
+ "metric_symbol": "r",
15
+ "metric_value": 3.90735,
16
+ "reference_text": "r = 3.90735+ | Found by Cyril Summerfield | in April 2026.",
17
+ "source_image": "21.png",
18
+ "source_image_url": "https://erich-friedman.github.io/packing/penincir/21.png",
19
+ "source_page": "https://erich-friedman.github.io/packing/penincir/",
20
+ "title": "Pentagons in Circles"
21
+ },
22
+ "item": {
23
+ "circumradius": 0.8506508083520399,
24
+ "side_length": 1.0,
25
+ "sides": 5,
26
+ "type": "regular_polygon"
27
+ },
28
+ "metadata": {
29
+ "certification_slack": 1.000040000600004,
30
+ "friedman_reference": {
31
+ "analytical_or_proved": false,
32
+ "case": "penincir@21",
33
+ "credit": "Cyril Summerfield",
34
+ "date": "April 2026",
35
+ "family_updated": "4/13/26",
36
+ "metric_expression": "3.90735+",
37
+ "metric_symbol": "r",
38
+ "metric_value": 3.90735,
39
+ "reference_text": "r = 3.90735+ | Found by Cyril Summerfield | in April 2026.",
40
+ "source_image": "21.png",
41
+ "source_image_url": "https://erich-friedman.github.io/packing/penincir/21.png",
42
+ "source_page": "https://erich-friedman.github.io/packing/penincir/",
43
+ "title": "Pentagons in Circles"
44
+ },
45
+ "generator": "polygon_packer_c",
46
+ "generator_profile": "best of cg/steepest/sa seed profiles",
47
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
48
+ "profile": "cg",
49
+ "source_url": "https://erich-friedman.github.io/packing/penincir/",
50
+ "submitted_at": "2026-05-01T01:47:21+00:00",
51
+ "submitted_by": "polygon-packer-c seed"
52
+ },
53
+ "placements": [
54
+ {
55
+ "id": 1,
56
+ "rotation_radians": -0.024134982253120198,
57
+ "x": -2.5052356478600597,
58
+ "y": -1.7899875569344428
59
+ },
60
+ {
61
+ "id": 2,
62
+ "rotation_radians": -0.17992688643344107,
63
+ "x": -1.4054616311501196,
64
+ "y": -2.869011179991396
65
+ },
66
+ {
67
+ "id": 3,
68
+ "rotation_radians": 0.44832913184720335,
69
+ "x": -0.010184043443905824,
70
+ "y": -2.594226098580287
71
+ },
72
+ {
73
+ "id": 4,
74
+ "rotation_radians": -0.1798401010648493,
75
+ "x": 1.350655422183028,
76
+ "y": -2.8042623700222182
77
+ },
78
+ {
79
+ "id": 5,
80
+ "rotation_radians": 0.4064321989367834,
81
+ "x": 2.4558447640150503,
82
+ "y": -1.8795981370133357
83
+ },
84
+ {
85
+ "id": 6,
86
+ "rotation_radians": -0.27561822051291973,
87
+ "x": -3.0737291872185684,
88
+ "y": -0.38062057366407054
89
+ },
90
+ {
91
+ "id": 7,
92
+ "rotation_radians": 0.35851118993390346,
93
+ "x": -1.03218530078102,
94
+ "y": -1.4324551565267476
95
+ },
96
+ {
97
+ "id": 8,
98
+ "rotation_radians": -0.1798792836445681,
99
+ "x": 0.4387255596484396,
100
+ "y": -1.2725495314445174
101
+ },
102
+ {
103
+ "id": 9,
104
+ "rotation_radians": 0.448227347476807,
105
+ "x": 1.6246499029168366,
106
+ "y": -0.5624593586661817
107
+ },
108
+ {
109
+ "id": 10,
110
+ "rotation_radians": -0.18688419285842073,
111
+ "x": 3.020663468211921,
112
+ "y": -0.6000063252809855
113
+ },
114
+ {
115
+ "id": 11,
116
+ "rotation_radians": -0.8977529832935082,
117
+ "x": -2.9115646675167146,
118
+ "y": 1.0075756617843024
119
+ },
120
+ {
121
+ "id": 12,
122
+ "rotation_radians": 0.35255243080151666,
123
+ "x": -1.7371970101808605,
124
+ "y": -0.026610739305269037
125
+ },
126
+ {
127
+ "id": 13,
128
+ "rotation_radians": 0.202521585175819,
129
+ "x": 0.024224435306528846,
130
+ "y": 0.22167079812226745
131
+ },
132
+ {
133
+ "id": 14,
134
+ "rotation_radians": 0.638978226542233,
135
+ "x": 1.4507386090156857,
136
+ "y": 0.9865358091599962
137
+ },
138
+ {
139
+ "id": 15,
140
+ "rotation_radians": -0.8183032144351778,
141
+ "x": 2.989299090521316,
142
+ "y": 0.7848181709730626
143
+ },
144
+ {
145
+ "id": 16,
146
+ "rotation_radians": 0.31179370118076105,
147
+ "x": -2.1360109417570254,
148
+ "y": 2.338483170993703
149
+ },
150
+ {
151
+ "id": 17,
152
+ "rotation_radians": 0.93985356624413,
153
+ "x": -1.0603545804335173,
154
+ "y": 1.200655237805827
155
+ },
156
+ {
157
+ "id": 18,
158
+ "rotation_radians": 0.31141187137683607,
159
+ "x": 0.19390276560845454,
160
+ "y": 1.7964493716208798
161
+ },
162
+ {
163
+ "id": 19,
164
+ "rotation_radians": 0.9395442637438224,
165
+ "x": 0.901213899751428,
166
+ "y": 2.9845150914689045
167
+ },
168
+ {
169
+ "id": 20,
170
+ "rotation_radians": 0.08302300598622774,
171
+ "x": 2.3193714821396276,
172
+ "y": 2.192876911618853
173
+ },
174
+ {
175
+ "id": 21,
176
+ "rotation_radians": -1.1673746489194439,
177
+ "x": -0.676949323880265,
178
+ "y": 3.0707481643152312
179
+ }
180
+ ],
181
+ "problem": "21 equal items for Pentagons in Circles",
182
+ "setup": "penincir",
183
+ "source_image": "https://erich-friedman.github.io/packing/penincir/21.png",
184
+ "source_page": "https://erich-friedman.github.io/packing/penincir/"
185
+ }
data/solutions/generated/peninpen_021_1c71a8b98efbf1a2.json ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "peninpen@21",
3
+ "container": {
4
+ "circumradius": 4.3933961637073455,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.164746945011012,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "peninpen@21",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "April 2026",
15
+ "family_updated": "4/29/26",
16
+ "metric_expression": "5.15948+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.15948,
19
+ "reference_text": "s = 5.15948+ | Found by Ignacio Vallejo in April 2026.",
20
+ "source_image": "21.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/21.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
23
+ "title": "Pentagons in Pentagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 0.8506508083520399,
27
+ "side_length": 1.0,
28
+ "sides": 5,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "peninpen@21",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "April 2026",
38
+ "family_updated": "4/29/26",
39
+ "metric_expression": "5.15948+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.15948,
42
+ "reference_text": "s = 5.15948+ | Found by Ignacio Vallejo in April 2026.",
43
+ "source_image": "21.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/21.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
46
+ "title": "Pentagons in Pentagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/peninpen/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 1.397028218895107e-05,
60
+ "x": 3.542716728057001,
61
+ "y": -1.1956123858689668e-06
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 0.005978598424278154,
66
+ "x": -1.2956626185036004,
67
+ "y": 2.5895085843890553
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.6344237953281536,
72
+ "x": -0.09232700751772847,
73
+ "y": 1.9055009363240227
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.6282179685152955,
78
+ "x": 1.6107286252156785,
79
+ "y": 2.382744528730965
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.00040323182659254044,
84
+ "x": 0.48076001003090274,
85
+ "y": 3.169611312865715
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.256861734975848,
90
+ "x": -2.831606566372038,
91
+ "y": 2.093461575643324
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.6346997163461501,
96
+ "x": -1.9450910509981327,
97
+ "y": -2.2108147600085637
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.0447245572991173,
102
+ "x": 2.5454759996586165,
103
+ "y": 1.2164006909261993
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 4.899298079246767e-05,
108
+ "x": 0.8430789768313152,
109
+ "y": -0.6742162963341523
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 0.07135892154733492,
114
+ "x": 2.1545448261860938,
115
+ "y": -1.8214336294726978
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.0028472129204171,
120
+ "x": -0.22124108635031559,
121
+ "y": 0.41069056946442406
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 0.9345225657605123,
126
+ "x": -1.6027371158444215,
127
+ "y": -0.31805643462649963
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.6283742367352263,
132
+ "x": 0.662051275930451,
133
+ "y": -2.062641297099786
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.3062111216612485,
138
+ "x": -0.6562167452620948,
139
+ "y": -1.333438877633257
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 1.2638088185675576e-05,
144
+ "x": 1.0947583408442618,
145
+ "y": -3.36931972943828
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": -3.0205189876895802e-05,
150
+ "x": -0.46507522498454335,
151
+ "y": -2.8613969604951817
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 3.1835662916716426e-06,
156
+ "x": -2.8661197357775516,
157
+ "y": -1.1313795165782778
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.6283328470841323,
162
+ "x": 2.166325843359591,
163
+ "y": -0.15375892331332083
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 2.1761986133661617e-05,
168
+ "x": -2.8661222132147115,
169
+ "y": 0.4867050422936623
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.3745288243736087,
174
+ "x": 1.064695900254714,
175
+ "y": 0.9017223055855533
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 0.43824537221645077,
180
+ "x": -1.5303626140563018,
181
+ "y": 1.1313475656480074
182
+ }
183
+ ],
184
+ "problem": "21 equal items for Pentagons in Pentagons",
185
+ "setup": "peninpen",
186
+ "source_image": "https://erich-friedman.github.io/packing/peninpen/21.png",
187
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/"
188
+ }
data/solutions/generated/peninpen_022_07e217f200bb677e.json ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "peninpen@22",
3
+ "container": {
4
+ "circumradius": 4.48109149580312,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.267838990812585,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "peninpen@22",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "April 2026",
15
+ "family_updated": "4/29/26",
16
+ "metric_expression": "5.26740+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.2674,
19
+ "reference_text": "s = 5.26740+ | Found by Ignacio Vallejo in April 2026.",
20
+ "source_image": "22.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/22.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
23
+ "title": "Pentagons in Pentagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 0.8506508083520399,
27
+ "side_length": 1.0,
28
+ "sides": 5,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "peninpen@22",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "April 2026",
38
+ "family_updated": "4/29/26",
39
+ "metric_expression": "5.26740+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.2674,
42
+ "reference_text": "s = 5.26740+ | Found by Ignacio Vallejo in April 2026.",
43
+ "source_image": "22.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/22.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
46
+ "title": "Pentagons in Pentagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "cg",
52
+ "source_url": "https://erich-friedman.github.io/packing/peninpen/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 3.5656610694771376e-06,
60
+ "x": -2.937064016182957,
61
+ "y": -2.1264074111022766
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 6.661855145488751e-07,
66
+ "x": -1.4025845200932818,
67
+ "y": -2.6324856117295585
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": -0.5732000090866805,
72
+ "x": 0.06814313577472773,
73
+ "y": -2.940898682985223
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 0.05511747731335471,
78
+ "x": 1.4476621900551523,
79
+ "y": -2.959224943246937
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 0.0006606796968828536,
84
+ "x": 2.39976418290298,
85
+ "y": -1.6933176674239605
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": -0.6564275694170668,
90
+ "x": -1.79876078029997,
91
+ "y": -1.2999281298292646
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 0.06852118024158708,
96
+ "x": -0.3781551528952375,
97
+ "y": -1.2385959041774823
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -0.5598684632609497,
102
+ "x": 0.9910060899112121,
103
+ "y": -1.6459004945426479
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 0.6289771772913488,
108
+ "x": 1.973952177704273,
109
+ "y": -0.38441170078998294
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 3.826856296429339e-07,
114
+ "x": 3.3508415092577146,
115
+ "y": -0.38479775143609507
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": -0.028141450132241178,
120
+ "x": -2.9232701064214877,
121
+ "y": -0.5041867041543232
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": -0.08953018803460663,
126
+ "x": -1.3096456636714913,
127
+ "y": 0.018193822649291008
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": -0.12573762238656258,
132
+ "x": 0.31702962697481846,
133
+ "y": 0.11804475408528063
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 0.6371116856469893,
138
+ "x": 1.4713149852473846,
139
+ "y": 1.070122741232727
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": -1.2544664665159269,
144
+ "x": 2.851033365522404,
145
+ "y": 1.0708915888273165
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 0.5626713206987076,
150
+ "x": -2.7764363311644593,
151
+ "y": 0.9719633673950818
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.5418635726325061,
156
+ "x": -1.2603573212771335,
157
+ "y": 1.4429191807943715
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.00878890887908165,
162
+ "x": 0.2091903546551387,
163
+ "y": 1.6709266377415906
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": -0.0003098729450709277,
168
+ "x": 0.6663867041104553,
169
+ "y": 3.3045695683922047
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 0.007645910609472346,
174
+ "x": 1.8966654662250435,
175
+ "y": 2.379827018026491
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": -0.06564601873767298,
180
+ "x": -2.360991862520845,
181
+ "y": 2.2881640393900806
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": -0.005382343172488092,
186
+ "x": -0.8683073599246469,
187
+ "y": 2.803284077967661
188
+ }
189
+ ],
190
+ "problem": "22 equal items for Pentagons in Pentagons",
191
+ "setup": "peninpen",
192
+ "source_image": "https://erich-friedman.github.io/packing/peninpen/22.png",
193
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/"
194
+ }
data/solutions/generated/peninpen_023_1da2b8cbe37457cd.json ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "case": "peninpen@23",
3
+ "container": {
4
+ "circumradius": 4.5717171971773904,
5
+ "orientation_radians": 0.0,
6
+ "side_length": 5.374375892305501,
7
+ "sides": 5,
8
+ "type": "regular_polygon"
9
+ },
10
+ "friedman_reference": {
11
+ "analytical_or_proved": false,
12
+ "case": "peninpen@23",
13
+ "credit": "Ignacio Vallejo",
14
+ "date": "April 2026",
15
+ "family_updated": "4/29/26",
16
+ "metric_expression": "5.34794+",
17
+ "metric_symbol": "s",
18
+ "metric_value": 5.34794,
19
+ "reference_text": "s = 5.34794+ | Found by Ignacio Vallejo in April 2026.",
20
+ "source_image": "23.png",
21
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/23.png",
22
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
23
+ "title": "Pentagons in Pentagons"
24
+ },
25
+ "item": {
26
+ "circumradius": 0.8506508083520399,
27
+ "side_length": 1.0,
28
+ "sides": 5,
29
+ "type": "regular_polygon"
30
+ },
31
+ "metadata": {
32
+ "certification_slack": 1.000040000600004,
33
+ "friedman_reference": {
34
+ "analytical_or_proved": false,
35
+ "case": "peninpen@23",
36
+ "credit": "Ignacio Vallejo",
37
+ "date": "April 2026",
38
+ "family_updated": "4/29/26",
39
+ "metric_expression": "5.34794+",
40
+ "metric_symbol": "s",
41
+ "metric_value": 5.34794,
42
+ "reference_text": "s = 5.34794+ | Found by Ignacio Vallejo in April 2026.",
43
+ "source_image": "23.png",
44
+ "source_image_url": "https://erich-friedman.github.io/packing/peninpen/23.png",
45
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/",
46
+ "title": "Pentagons in Pentagons"
47
+ },
48
+ "generator": "polygon_packer_c",
49
+ "generator_profile": "best of cg/steepest/sa seed profiles",
50
+ "notes": "Generated seed layout for frontend figures with polygon-packer-c.",
51
+ "profile": "sa",
52
+ "source_url": "https://erich-friedman.github.io/packing/peninpen/",
53
+ "submitted_at": "2026-05-01T01:47:21+00:00",
54
+ "submitted_by": "polygon-packer-c seed"
55
+ },
56
+ "placements": [
57
+ {
58
+ "id": 1,
59
+ "rotation_radians": 0.6050741474158858,
60
+ "x": -1.768246508466418,
61
+ "y": 1.4037773966656382
62
+ },
63
+ {
64
+ "id": 2,
65
+ "rotation_radians": 1.568040081693026e-05,
66
+ "x": -3.0103775498944687,
67
+ "y": -0.9291130646383552
68
+ },
69
+ {
70
+ "id": 3,
71
+ "rotation_radians": 0.6287398457224113,
72
+ "x": 0.696438705719324,
73
+ "y": -2.1995987596364266
74
+ },
75
+ {
76
+ "id": 4,
77
+ "rotation_radians": 1.25666680561995,
78
+ "x": 1.089615824424435,
79
+ "y": -3.519339950284296
80
+ },
81
+ {
82
+ "id": 5,
83
+ "rotation_radians": 1.2630706569468177,
84
+ "x": 2.075951184457128,
85
+ "y": -2.2588066574199717
86
+ },
87
+ {
88
+ "id": 6,
89
+ "rotation_radians": 1.2566875480247401,
90
+ "x": 3.447614420418823,
91
+ "y": 0.37627130233454237
92
+ },
93
+ {
94
+ "id": 7,
95
+ "rotation_radians": 1.3367837102909996,
96
+ "x": -2.9725612486391375,
97
+ "y": 0.6410689547466103
98
+ },
99
+ {
100
+ "id": 8,
101
+ "rotation_radians": -1.0558702568020267e-05,
102
+ "x": -2.8850703622635567,
103
+ "y": 2.2278663317871215
104
+ },
105
+ {
106
+ "id": 9,
107
+ "rotation_radians": 1.3919536537779504,
108
+ "x": -0.7278613527452744,
109
+ "y": -2.8527152114425136
110
+ },
111
+ {
112
+ "id": 10,
113
+ "rotation_radians": 1.226225244817876,
114
+ "x": -1.3373837910549915,
115
+ "y": 2.7150991941472085
116
+ },
117
+ {
118
+ "id": 11,
119
+ "rotation_radians": 1.2368552323787623,
120
+ "x": 1.4948824722361305,
121
+ "y": 3.0472016338780366
122
+ },
123
+ {
124
+ "id": 12,
125
+ "rotation_radians": 1.2510669503710734,
126
+ "x": -1.257526698530509,
127
+ "y": 0.08829990355533612
128
+ },
129
+ {
130
+ "id": 13,
131
+ "rotation_radians": 0.8620362257097788,
132
+ "x": 2.839949292755376,
133
+ "y": -0.9756509764246234
134
+ },
135
+ {
136
+ "id": 14,
137
+ "rotation_radians": 1.4110213565331724,
138
+ "x": 1.3427250560249013,
139
+ "y": -0.8901579856302211
140
+ },
141
+ {
142
+ "id": 15,
143
+ "rotation_radians": 0.7736365844869931,
144
+ "x": 0.5496579103435701,
145
+ "y": 0.2567401498750461
146
+ },
147
+ {
148
+ "id": 16,
149
+ "rotation_radians": 1.8584377270154175,
150
+ "x": 1.0591639117186842,
151
+ "y": 1.737547852578575
152
+ },
153
+ {
154
+ "id": 17,
155
+ "rotation_radians": 0.6306282197395175,
156
+ "x": -1.5543380896186356,
157
+ "y": -1.266400366613812
158
+ },
159
+ {
160
+ "id": 18,
161
+ "rotation_radians": 0.6283383185519722,
162
+ "x": 2.0711018482552412,
163
+ "y": 0.42674680822471883
164
+ },
165
+ {
166
+ "id": 19,
167
+ "rotation_radians": 1.2333149105012227,
168
+ "x": -0.39114758859004256,
169
+ "y": 1.4151840862478318
170
+ },
171
+ {
172
+ "id": 20,
173
+ "rotation_radians": 1.2566403322878883,
174
+ "x": 2.4486131598359777,
175
+ "y": 1.7513404490963358
176
+ },
177
+ {
178
+ "id": 21,
179
+ "rotation_radians": 1.2588480532935649,
180
+ "x": -0.17834193158644307,
181
+ "y": -1.0600192740406174
182
+ },
183
+ {
184
+ "id": 22,
185
+ "rotation_radians": 0.5978360104869263,
186
+ "x": 0.11251949970597934,
187
+ "y": 3.031445120956196
188
+ },
189
+ {
190
+ "id": 23,
191
+ "rotation_radians": 1.2566691189502817,
192
+ "x": -2.456356599256893,
193
+ "y": -2.367185343167629
194
+ }
195
+ ],
196
+ "problem": "23 equal items for Pentagons in Pentagons",
197
+ "setup": "peninpen",
198
+ "source_image": "https://erich-friedman.github.io/packing/peninpen/23.png",
199
+ "source_page": "https://erich-friedman.github.io/packing/peninpen/"
200
+ }