mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-09-07 19:36:23 +02:00
Commit Graph
Select branches
Hide Pull Requests
cif-compose
magic-8.3
master
testing
tomerge
vert-stripes
#1
#111
#111
#112
#113
#114
#115
#116
#117
#118
#119
#12
#120
#123
#13
#131
#132
#135
#14
#143
#15
#155
#157
#158
#160
#161
#169
#17
#175
#176
#179
#180
#181
#19
#191
#208
#209
#21
#210
#213
#215
#217
#22
#222
#23
#235
#24
#24
#25
#256
#258
#26
#266
#278
#282
#283
#284
#287
#288
#296
#3
#31
#310
#314
#316
#325
#326
#327
#329
#330
#331
#332
#333
#334
#335
#336
#337
#34
#340
#341
#343
#344
#345
#346
#347
#348
#349
#35
#350
#351
#352
#356
#357
#358
#359
#360
#361
#362
#364
#370
#371
#372
#373
#374
#375
#375
#376
#377
#377
#378
#379
#380
#382
#383
#384
#385
#386
#387
#388
#389
#390
#391
#392
#393
#395
#396
#405
#406
#407
#408
#41
#410
#411
#412
#414
#415
#416
#417
#418
#419
#420
#421
#422
#424
#426
#427
#428
#430
#432
#433
#435
#436
#437
#439
#444
#455
#459
#46
#460
#47
#472
#472
#473
#475
#476
#477
#478
#48
#480
#482
#485
#486
#487
#49
#497
#498
#499
#505
#508
#509
#51
#510
#512
#515
#516
#519
#521
#522
#526
#526
#527
#53
#531
#534
#536
#54
#540
#543
#544
#545
#546
#547
#554
#554
#555
#56
#57
#59
#61
#62
#63
#64
#65
#68
#7
#74
#74
#75
#84
#87
#88
#89
#90
#98
8.2.0
8.2.1
8.2.10
8.2.100
8.2.101
8.2.102
8.2.11
8.2.12
8.2.13
8.2.14
8.2.15
8.2.16
8.2.17
8.2.18
8.2.181
8.2.182
8.2.183
8.2.184
8.2.185
8.2.186
8.2.187
8.2.188
8.2.189
8.2.19
8.2.190
8.2.192
8.2.193
8.2.194
8.2.195
8.2.196
8.2.197
8.2.198
8.2.199
8.2.2
8.2.20
8.2.200
8.2.201
8.2.202
8.2.203
8.2.204
8.2.205
8.2.206
8.2.207
8.2.208
8.2.21
8.2.22
8.2.23
8.2.24
8.2.25
8.2.26
8.2.27
8.2.28
8.2.29
8.2.3
8.2.30
8.2.31
8.2.32
8.2.33
8.2.34
8.2.35
8.2.36
8.2.37
8.2.38
8.2.39
8.2.4
8.2.40
8.2.41
8.2.42
8.2.43
8.2.44
8.2.45
8.2.46
8.2.47
8.2.48
8.2.49
8.2.5
8.2.50
8.2.51
8.2.52
8.2.53
8.2.54
8.2.55
8.2.56
8.2.57
8.2.58
8.2.59
8.2.6
8.2.60
8.2.61
8.2.62
8.2.63
8.2.64
8.2.65
8.2.66
8.2.67
8.2.68
8.2.69
8.2.7
8.2.70
8.2.71
8.2.72
8.2.73
8.2.74
8.2.75
8.2.76
8.2.77
8.2.78
8.2.79
8.2.8
8.2.80
8.2.81
8.2.82
8.2.83
8.2.84
8.2.85
8.2.86
8.2.87
8.2.88
8.2.89
8.2.9
8.2.90
8.2.91
8.2.92
8.2.93
8.2.94
8.2.95
8.2.96
8.2.97
8.2.98
8.2.99
8.3.0
8.3.1
8.3.10
8.3.100
8.3.101
8.3.102
8.3.103
8.3.104
8.3.105
8.3.106
8.3.107
8.3.108
8.3.109
8.3.11
8.3.110
8.3.111
8.3.112
8.3.113
8.3.114
8.3.115
8.3.116
8.3.117
8.3.118
8.3.119
8.3.12
8.3.120
8.3.121
8.3.122
8.3.123
8.3.124
8.3.125
8.3.126
8.3.127
8.3.128
8.3.129
8.3.13
8.3.130
8.3.131
8.3.132
8.3.133
8.3.134
8.3.135
8.3.136
8.3.137
8.3.138
8.3.139
8.3.14
8.3.140
8.3.141
8.3.142
8.3.143
8.3.144
8.3.145
8.3.146
8.3.147
8.3.148
8.3.149
8.3.15
8.3.150
8.3.151
8.3.152
8.3.153
8.3.154
8.3.155
8.3.156
8.3.157
8.3.158
8.3.159
8.3.16
8.3.160
8.3.161
8.3.162
8.3.163
8.3.164
8.3.165
8.3.166
8.3.167
8.3.168
8.3.169
8.3.17
8.3.170
8.3.171
8.3.172
8.3.173
8.3.174
8.3.175
8.3.176
8.3.177
8.3.178
8.3.179
8.3.18
8.3.180
8.3.181
8.3.182
8.3.183
8.3.184
8.3.185
8.3.186
8.3.187
8.3.188
8.3.189
8.3.19
8.3.190
8.3.191
8.3.192
8.3.193
8.3.194
8.3.195
8.3.196
8.3.197
8.3.198
8.3.199
8.3.2
8.3.20
8.3.200
8.3.201
8.3.202
8.3.203
8.3.204
8.3.205
8.3.206
8.3.207
8.3.208
8.3.209
8.3.21
8.3.210
8.3.211
8.3.212
8.3.213
8.3.214
8.3.215
8.3.216
8.3.217
8.3.218
8.3.219
8.3.22
8.3.220
8.3.221
8.3.222
8.3.223
8.3.224
8.3.225
8.3.226
8.3.227
8.3.228
8.3.229
8.3.23
8.3.230
8.3.231
8.3.232
8.3.233
8.3.234
8.3.235
8.3.236
8.3.237
8.3.238
8.3.239
8.3.24
8.3.240
8.3.241
8.3.242
8.3.243
8.3.244
8.3.245
8.3.246
8.3.247
8.3.248
8.3.249
8.3.25
8.3.250
8.3.251
8.3.253
8.3.254
8.3.255
8.3.256
8.3.257
8.3.258
8.3.259
8.3.26
8.3.260
8.3.261
8.3.262
8.3.263
8.3.264
8.3.265
8.3.266
8.3.267
8.3.268
8.3.269
8.3.27
8.3.270
8.3.271
8.3.272
8.3.273
8.3.274
8.3.275
8.3.276
8.3.277
8.3.278
8.3.279
8.3.28
8.3.280
8.3.281
8.3.282
8.3.283
8.3.284
8.3.285
8.3.286
8.3.287
8.3.288
8.3.289
8.3.29
8.3.290
8.3.291
8.3.292
8.3.293
8.3.294
8.3.295
8.3.297
8.3.298
8.3.299
8.3.3
8.3.30
8.3.300
8.3.301
8.3.302
8.3.304
8.3.305
8.3.306
8.3.307
8.3.308
8.3.309
8.3.31
8.3.310
8.3.311
8.3.312
8.3.314
8.3.315
8.3.316
8.3.317
8.3.318
8.3.319
8.3.32
8.3.320
8.3.321
8.3.322
8.3.323
8.3.324
8.3.325
8.3.326
8.3.327
8.3.328
8.3.329
8.3.33
8.3.330
8.3.331
8.3.332
8.3.333
8.3.334
8.3.335
8.3.336
8.3.337
8.3.338
8.3.339
8.3.34
8.3.340
8.3.341
8.3.342
8.3.343
8.3.344
8.3.345
8.3.346
8.3.347
8.3.348
8.3.349
8.3.35
8.3.350
8.3.351
8.3.352
8.3.353
8.3.354
8.3.355
8.3.356
8.3.357
8.3.358
8.3.359
8.3.36
8.3.360
8.3.361
8.3.362
8.3.363
8.3.364
8.3.365
8.3.366
8.3.367
8.3.368
8.3.369
8.3.37
8.3.370
8.3.371
8.3.372
8.3.373
8.3.374
8.3.375
8.3.376
8.3.377
8.3.378
8.3.379
8.3.38
8.3.380
8.3.381
8.3.382
8.3.383
8.3.384
8.3.385
8.3.386
8.3.387
8.3.388
8.3.389
8.3.39
8.3.390
8.3.391
8.3.392
8.3.393
8.3.394
8.3.395
8.3.396
8.3.397
8.3.398
8.3.399
8.3.4
8.3.40
8.3.400
8.3.401
8.3.402
8.3.403
8.3.404
8.3.405
8.3.406
8.3.407
8.3.408
8.3.409
8.3.41
8.3.410
8.3.411
8.3.412
8.3.413
8.3.414
8.3.415
8.3.416
8.3.417
8.3.418
8.3.419
8.3.42
8.3.420
8.3.421
8.3.422
8.3.423
8.3.424
8.3.425
8.3.426
8.3.427
8.3.428
8.3.429
8.3.43
8.3.430
8.3.431
8.3.432
8.3.433
8.3.434
8.3.435
8.3.436
8.3.437
8.3.438
8.3.439
8.3.44
8.3.440
8.3.441
8.3.442
8.3.443
8.3.444
8.3.445
8.3.446
8.3.447
8.3.448
8.3.449
8.3.45
8.3.450
8.3.451
8.3.452
8.3.453
8.3.454
8.3.455
8.3.456
8.3.457
8.3.458
8.3.459
8.3.46
8.3.460
8.3.461
8.3.462
8.3.463
8.3.464
8.3.465
8.3.466
8.3.467
8.3.468
8.3.469
8.3.47
8.3.470
8.3.471
8.3.472
8.3.473
8.3.474
8.3.475
8.3.476
8.3.477
8.3.478
8.3.479
8.3.48
8.3.480
8.3.481
8.3.482
8.3.483
8.3.484
8.3.485
8.3.486
8.3.487
8.3.488
8.3.489
8.3.49
8.3.490
8.3.491
8.3.492
8.3.493
8.3.494
8.3.495
8.3.496
8.3.497
8.3.498
8.3.499
8.3.5
8.3.50
8.3.500
8.3.501
8.3.502
8.3.503
8.3.504
8.3.505
8.3.506
8.3.507
8.3.508
8.3.509
8.3.51
8.3.510
8.3.511
8.3.512
8.3.513
8.3.514
8.3.515
8.3.516
8.3.517
8.3.518
8.3.519
8.3.52
8.3.520
8.3.521
8.3.522
8.3.523
8.3.524
8.3.525
8.3.526
8.3.527
8.3.528
8.3.529
8.3.53
8.3.530
8.3.531
8.3.532
8.3.533
8.3.534
8.3.535
8.3.536
8.3.537
8.3.538
8.3.539
8.3.54
8.3.540
8.3.541
8.3.542
8.3.543
8.3.544
8.3.545
8.3.546
8.3.547
8.3.548
8.3.549
8.3.55
8.3.550
8.3.551
8.3.552
8.3.554
8.3.555
8.3.556
8.3.557
8.3.558
8.3.559
8.3.56
8.3.560
8.3.561
8.3.562
8.3.563
8.3.564
8.3.565
8.3.566
8.3.567
8.3.568
8.3.569
8.3.57
8.3.570
8.3.571
8.3.572
8.3.573
8.3.574
8.3.575
8.3.576
8.3.577
8.3.578
8.3.579
8.3.58
8.3.580
8.3.581
8.3.582
8.3.583
8.3.584
8.3.585
8.3.586
8.3.587
8.3.588
8.3.589
8.3.59
8.3.590
8.3.591
8.3.592
8.3.593
8.3.594
8.3.595
8.3.596
8.3.597
8.3.598
8.3.599
8.3.6
8.3.60
8.3.600
8.3.601
8.3.602
8.3.603
8.3.604
8.3.605
8.3.606
8.3.607
8.3.608
8.3.609
8.3.61
8.3.610
8.3.611
8.3.612
8.3.613
8.3.614
8.3.615
8.3.616
8.3.617
8.3.618
8.3.619
8.3.62
8.3.620
8.3.621
8.3.623
8.3.624
8.3.625
8.3.626
8.3.627
8.3.628
8.3.629
8.3.63
8.3.630
8.3.631
8.3.632
8.3.633
8.3.634
8.3.635
8.3.636
8.3.637
8.3.64
8.3.640
8.3.641
8.3.642
8.3.643
8.3.644
8.3.645
8.3.646
8.3.647
8.3.648
8.3.649
8.3.65
8.3.650
8.3.651
8.3.652
8.3.653
8.3.654
8.3.655
8.3.656
8.3.657
8.3.658
8.3.659
8.3.66
8.3.660
8.3.661
8.3.662
8.3.663
8.3.664
8.3.665
8.3.666
8.3.667
8.3.668
8.3.669
8.3.67
8.3.670
8.3.671
8.3.672
8.3.673
8.3.674
8.3.675
8.3.676
8.3.677
8.3.678
8.3.679
8.3.68
8.3.680
8.3.681
8.3.682
8.3.683
8.3.69
8.3.7
8.3.70
8.3.71
8.3.72
8.3.73
8.3.74
8.3.75
8.3.76
8.3.77
8.3.78
8.3.79
8.3.8
8.3.80
8.3.81
8.3.82
8.3.83
8.3.84
8.3.85
8.3.86
8.3.87
8.3.88
8.3.89
8.3.9
8.3.90
8.3.91
8.3.92
8.3.93
8.3.94
8.3.95
8.3.96
8.3.97
8.3.98
8.3.99
mpw-one-a
mpw-one-b
Select branches
Hide Pull Requests
cif-compose
magic-8.3
master
testing
tomerge
vert-stripes
#1
#111
#111
#112
#113
#114
#115
#116
#117
#118
#119
#12
#120
#123
#13
#131
#132
#135
#14
#143
#15
#155
#157
#158
#160
#161
#169
#17
#175
#176
#179
#180
#181
#19
#191
#208
#209
#21
#210
#213
#215
#217
#22
#222
#23
#235
#24
#24
#25
#256
#258
#26
#266
#278
#282
#283
#284
#287
#288
#296
#3
#31
#310
#314
#316
#325
#326
#327
#329
#330
#331
#332
#333
#334
#335
#336
#337
#34
#340
#341
#343
#344
#345
#346
#347
#348
#349
#35
#350
#351
#352
#356
#357
#358
#359
#360
#361
#362
#364
#370
#371
#372
#373
#374
#375
#375
#376
#377
#377
#378
#379
#380
#382
#383
#384
#385
#386
#387
#388
#389
#390
#391
#392
#393
#395
#396
#405
#406
#407
#408
#41
#410
#411
#412
#414
#415
#416
#417
#418
#419
#420
#421
#422
#424
#426
#427
#428
#430
#432
#433
#435
#436
#437
#439
#444
#455
#459
#46
#460
#47
#472
#472
#473
#475
#476
#477
#478
#48
#480
#482
#485
#486
#487
#49
#497
#498
#499
#505
#508
#509
#51
#510
#512
#515
#516
#519
#521
#522
#526
#526
#527
#53
#531
#534
#536
#54
#540
#543
#544
#545
#546
#547
#554
#554
#555
#56
#57
#59
#61
#62
#63
#64
#65
#68
#7
#74
#74
#75
#84
#87
#88
#89
#90
#98
8.2.0
8.2.1
8.2.10
8.2.100
8.2.101
8.2.102
8.2.11
8.2.12
8.2.13
8.2.14
8.2.15
8.2.16
8.2.17
8.2.18
8.2.181
8.2.182
8.2.183
8.2.184
8.2.185
8.2.186
8.2.187
8.2.188
8.2.189
8.2.19
8.2.190
8.2.192
8.2.193
8.2.194
8.2.195
8.2.196
8.2.197
8.2.198
8.2.199
8.2.2
8.2.20
8.2.200
8.2.201
8.2.202
8.2.203
8.2.204
8.2.205
8.2.206
8.2.207
8.2.208
8.2.21
8.2.22
8.2.23
8.2.24
8.2.25
8.2.26
8.2.27
8.2.28
8.2.29
8.2.3
8.2.30
8.2.31
8.2.32
8.2.33
8.2.34
8.2.35
8.2.36
8.2.37
8.2.38
8.2.39
8.2.4
8.2.40
8.2.41
8.2.42
8.2.43
8.2.44
8.2.45
8.2.46
8.2.47
8.2.48
8.2.49
8.2.5
8.2.50
8.2.51
8.2.52
8.2.53
8.2.54
8.2.55
8.2.56
8.2.57
8.2.58
8.2.59
8.2.6
8.2.60
8.2.61
8.2.62
8.2.63
8.2.64
8.2.65
8.2.66
8.2.67
8.2.68
8.2.69
8.2.7
8.2.70
8.2.71
8.2.72
8.2.73
8.2.74
8.2.75
8.2.76
8.2.77
8.2.78
8.2.79
8.2.8
8.2.80
8.2.81
8.2.82
8.2.83
8.2.84
8.2.85
8.2.86
8.2.87
8.2.88
8.2.89
8.2.9
8.2.90
8.2.91
8.2.92
8.2.93
8.2.94
8.2.95
8.2.96
8.2.97
8.2.98
8.2.99
8.3.0
8.3.1
8.3.10
8.3.100
8.3.101
8.3.102
8.3.103
8.3.104
8.3.105
8.3.106
8.3.107
8.3.108
8.3.109
8.3.11
8.3.110
8.3.111
8.3.112
8.3.113
8.3.114
8.3.115
8.3.116
8.3.117
8.3.118
8.3.119
8.3.12
8.3.120
8.3.121
8.3.122
8.3.123
8.3.124
8.3.125
8.3.126
8.3.127
8.3.128
8.3.129
8.3.13
8.3.130
8.3.131
8.3.132
8.3.133
8.3.134
8.3.135
8.3.136
8.3.137
8.3.138
8.3.139
8.3.14
8.3.140
8.3.141
8.3.142
8.3.143
8.3.144
8.3.145
8.3.146
8.3.147
8.3.148
8.3.149
8.3.15
8.3.150
8.3.151
8.3.152
8.3.153
8.3.154
8.3.155
8.3.156
8.3.157
8.3.158
8.3.159
8.3.16
8.3.160
8.3.161
8.3.162
8.3.163
8.3.164
8.3.165
8.3.166
8.3.167
8.3.168
8.3.169
8.3.17
8.3.170
8.3.171
8.3.172
8.3.173
8.3.174
8.3.175
8.3.176
8.3.177
8.3.178
8.3.179
8.3.18
8.3.180
8.3.181
8.3.182
8.3.183
8.3.184
8.3.185
8.3.186
8.3.187
8.3.188
8.3.189
8.3.19
8.3.190
8.3.191
8.3.192
8.3.193
8.3.194
8.3.195
8.3.196
8.3.197
8.3.198
8.3.199
8.3.2
8.3.20
8.3.200
8.3.201
8.3.202
8.3.203
8.3.204
8.3.205
8.3.206
8.3.207
8.3.208
8.3.209
8.3.21
8.3.210
8.3.211
8.3.212
8.3.213
8.3.214
8.3.215
8.3.216
8.3.217
8.3.218
8.3.219
8.3.22
8.3.220
8.3.221
8.3.222
8.3.223
8.3.224
8.3.225
8.3.226
8.3.227
8.3.228
8.3.229
8.3.23
8.3.230
8.3.231
8.3.232
8.3.233
8.3.234
8.3.235
8.3.236
8.3.237
8.3.238
8.3.239
8.3.24
8.3.240
8.3.241
8.3.242
8.3.243
8.3.244
8.3.245
8.3.246
8.3.247
8.3.248
8.3.249
8.3.25
8.3.250
8.3.251
8.3.253
8.3.254
8.3.255
8.3.256
8.3.257
8.3.258
8.3.259
8.3.26
8.3.260
8.3.261
8.3.262
8.3.263
8.3.264
8.3.265
8.3.266
8.3.267
8.3.268
8.3.269
8.3.27
8.3.270
8.3.271
8.3.272
8.3.273
8.3.274
8.3.275
8.3.276
8.3.277
8.3.278
8.3.279
8.3.28
8.3.280
8.3.281
8.3.282
8.3.283
8.3.284
8.3.285
8.3.286
8.3.287
8.3.288
8.3.289
8.3.29
8.3.290
8.3.291
8.3.292
8.3.293
8.3.294
8.3.295
8.3.297
8.3.298
8.3.299
8.3.3
8.3.30
8.3.300
8.3.301
8.3.302
8.3.304
8.3.305
8.3.306
8.3.307
8.3.308
8.3.309
8.3.31
8.3.310
8.3.311
8.3.312
8.3.314
8.3.315
8.3.316
8.3.317
8.3.318
8.3.319
8.3.32
8.3.320
8.3.321
8.3.322
8.3.323
8.3.324
8.3.325
8.3.326
8.3.327
8.3.328
8.3.329
8.3.33
8.3.330
8.3.331
8.3.332
8.3.333
8.3.334
8.3.335
8.3.336
8.3.337
8.3.338
8.3.339
8.3.34
8.3.340
8.3.341
8.3.342
8.3.343
8.3.344
8.3.345
8.3.346
8.3.347
8.3.348
8.3.349
8.3.35
8.3.350
8.3.351
8.3.352
8.3.353
8.3.354
8.3.355
8.3.356
8.3.357
8.3.358
8.3.359
8.3.36
8.3.360
8.3.361
8.3.362
8.3.363
8.3.364
8.3.365
8.3.366
8.3.367
8.3.368
8.3.369
8.3.37
8.3.370
8.3.371
8.3.372
8.3.373
8.3.374
8.3.375
8.3.376
8.3.377
8.3.378
8.3.379
8.3.38
8.3.380
8.3.381
8.3.382
8.3.383
8.3.384
8.3.385
8.3.386
8.3.387
8.3.388
8.3.389
8.3.39
8.3.390
8.3.391
8.3.392
8.3.393
8.3.394
8.3.395
8.3.396
8.3.397
8.3.398
8.3.399
8.3.4
8.3.40
8.3.400
8.3.401
8.3.402
8.3.403
8.3.404
8.3.405
8.3.406
8.3.407
8.3.408
8.3.409
8.3.41
8.3.410
8.3.411
8.3.412
8.3.413
8.3.414
8.3.415
8.3.416
8.3.417
8.3.418
8.3.419
8.3.42
8.3.420
8.3.421
8.3.422
8.3.423
8.3.424
8.3.425
8.3.426
8.3.427
8.3.428
8.3.429
8.3.43
8.3.430
8.3.431
8.3.432
8.3.433
8.3.434
8.3.435
8.3.436
8.3.437
8.3.438
8.3.439
8.3.44
8.3.440
8.3.441
8.3.442
8.3.443
8.3.444
8.3.445
8.3.446
8.3.447
8.3.448
8.3.449
8.3.45
8.3.450
8.3.451
8.3.452
8.3.453
8.3.454
8.3.455
8.3.456
8.3.457
8.3.458
8.3.459
8.3.46
8.3.460
8.3.461
8.3.462
8.3.463
8.3.464
8.3.465
8.3.466
8.3.467
8.3.468
8.3.469
8.3.47
8.3.470
8.3.471
8.3.472
8.3.473
8.3.474
8.3.475
8.3.476
8.3.477
8.3.478
8.3.479
8.3.48
8.3.480
8.3.481
8.3.482
8.3.483
8.3.484
8.3.485
8.3.486
8.3.487
8.3.488
8.3.489
8.3.49
8.3.490
8.3.491
8.3.492
8.3.493
8.3.494
8.3.495
8.3.496
8.3.497
8.3.498
8.3.499
8.3.5
8.3.50
8.3.500
8.3.501
8.3.502
8.3.503
8.3.504
8.3.505
8.3.506
8.3.507
8.3.508
8.3.509
8.3.51
8.3.510
8.3.511
8.3.512
8.3.513
8.3.514
8.3.515
8.3.516
8.3.517
8.3.518
8.3.519
8.3.52
8.3.520
8.3.521
8.3.522
8.3.523
8.3.524
8.3.525
8.3.526
8.3.527
8.3.528
8.3.529
8.3.53
8.3.530
8.3.531
8.3.532
8.3.533
8.3.534
8.3.535
8.3.536
8.3.537
8.3.538
8.3.539
8.3.54
8.3.540
8.3.541
8.3.542
8.3.543
8.3.544
8.3.545
8.3.546
8.3.547
8.3.548
8.3.549
8.3.55
8.3.550
8.3.551
8.3.552
8.3.554
8.3.555
8.3.556
8.3.557
8.3.558
8.3.559
8.3.56
8.3.560
8.3.561
8.3.562
8.3.563
8.3.564
8.3.565
8.3.566
8.3.567
8.3.568
8.3.569
8.3.57
8.3.570
8.3.571
8.3.572
8.3.573
8.3.574
8.3.575
8.3.576
8.3.577
8.3.578
8.3.579
8.3.58
8.3.580
8.3.581
8.3.582
8.3.583
8.3.584
8.3.585
8.3.586
8.3.587
8.3.588
8.3.589
8.3.59
8.3.590
8.3.591
8.3.592
8.3.593
8.3.594
8.3.595
8.3.596
8.3.597
8.3.598
8.3.599
8.3.6
8.3.60
8.3.600
8.3.601
8.3.602
8.3.603
8.3.604
8.3.605
8.3.606
8.3.607
8.3.608
8.3.609
8.3.61
8.3.610
8.3.611
8.3.612
8.3.613
8.3.614
8.3.615
8.3.616
8.3.617
8.3.618
8.3.619
8.3.62
8.3.620
8.3.621
8.3.623
8.3.624
8.3.625
8.3.626
8.3.627
8.3.628
8.3.629
8.3.63
8.3.630
8.3.631
8.3.632
8.3.633
8.3.634
8.3.635
8.3.636
8.3.637
8.3.64
8.3.640
8.3.641
8.3.642
8.3.643
8.3.644
8.3.645
8.3.646
8.3.647
8.3.648
8.3.649
8.3.65
8.3.650
8.3.651
8.3.652
8.3.653
8.3.654
8.3.655
8.3.656
8.3.657
8.3.658
8.3.659
8.3.66
8.3.660
8.3.661
8.3.662
8.3.663
8.3.664
8.3.665
8.3.666
8.3.667
8.3.668
8.3.669
8.3.67
8.3.670
8.3.671
8.3.672
8.3.673
8.3.674
8.3.675
8.3.676
8.3.677
8.3.678
8.3.679
8.3.68
8.3.680
8.3.681
8.3.682
8.3.683
8.3.69
8.3.7
8.3.70
8.3.71
8.3.72
8.3.73
8.3.74
8.3.75
8.3.76
8.3.77
8.3.78
8.3.79
8.3.8
8.3.80
8.3.81
8.3.82
8.3.83
8.3.84
8.3.85
8.3.86
8.3.87
8.3.88
8.3.89
8.3.9
8.3.90
8.3.91
8.3.92
8.3.93
8.3.94
8.3.95
8.3.96
8.3.97
8.3.98
8.3.99
mpw-one-a
mpw-one-b
-
e45399d347
Yet another optimization on "extresist", to remove the calls to DBPaint() and DBErase(), which are meant as high-level calls from the "paint" and "erase" commands and are not appropriate for low- level tasks like erasing all contacts out of a database. This cut maybe 40 to 50% time off of the resistance extraction.
8.3.648
R. Timothy Edwards
2026-05-22 12:02:03 -04:00 -
7a3717b02a
Another performance optimization to "extresist", this one to avoid re-parsing a linked list from the current breakpoint to the end to find all entries pointing to the same node. Instead, the change to be made is saved in a hash table and applied at the following link, so only one pass through the linked list is required.
8.3.647
R. Timothy Edwards
2026-05-21 19:55:50 -04:00 -
a062fdcfe0
Continued optimizing poorly written routines in "extresist". Changed the "ResDissolveContacts()" routine to avoid running both redundant and useless code. Changed the breakpoint sorting routine from a bubble sort to a merge sort for linked lists longer than 16, as merge sort is more efficient for long lists.
8.3.646
R. Timothy Edwards
2026-05-20 19:02:22 -04:00 -
29447a35cd
Delete duplicate magicps.pro file
8.3.645
Ahmed Nematallah
2026-05-17 03:46:10 +02:00 -
1dcd09e20c
Update the postscript file to be able to support much more stipples
Ahmed Nematallah
2026-05-17 03:41:07 +02:00 -
9626b5e8c9
Changed two sprintf() to snprint() on recommendation from an AI.
R. Timothy Edwards
2026-05-19 12:21:54 -04:00 -
256955f48e
Created alternative algorithms for routines ResParallelCheck() and ResTriangleCheck(). By using hash tables, I reduced ResParallelCheck() from O(N^2) to O(N), and I reduced ResTriangleCheck() from O(N^3) to O(N^2); however, it is a bit better than that because previously there was an N^2 loop over items in the same list, so if one list happened to be very long, then N^2 would be huge; whereas now the N^2 is the length of two lists multiplied together, where both lists would have to be very long to have the same performance impact. It appears that long resistor lists are pathological and rare. For an example pathological case, the extresist runtime has been reduced from hours to seconds.
8.3.644
R. Timothy Edwards
2026-05-15 21:38:32 -04:00 -
b983e33be7
Corrected an error with the recently-added "exception" DRC rule. The logical expression for determining an excepted area was wrong for one direction, resulting in false positive DRC violations.
R. Timothy Edwards
2026-05-15 11:04:23 -04:00 -
db224105a7
Found another couple of places where the environment variable HOME was checked but no check was made on whether or not the result was NULL. This resolves issue #490 in the github issue tracker.
8.3.643
R. Timothy Edwards
2026-05-13 09:46:21 -04:00 -
e5a6cf0df9
Handled the case in which environment variable HOME is not set. See github issue tracker issue #490. There were two cases: When running without the Tk console, a NULL value was being passed to a string comparison. When running with the Tk console, two variables were not initialized. Both prolems have been fixed.
R. Timothy Edwards
2026-05-13 08:51:16 -04:00 -
22e182f908
One additional modification to check for a space in the option with no following text.
R. Timothy Edwards
2026-05-13 08:38:11 -04:00 -
0013dda92d
Response to issue #513 in the github issue tracker: The command- line parser does not recognize arguments that are both in the same word and also space separated; this is easy to do from, e.g., a python interpreter by setting an option as a single string as in "-d null"; it is harder to do from the command line, but can be done with quotes, as in 'magic "-d null"'.
R. Timothy Edwards
2026-05-13 08:30:32 -04:00 -
85561d0503
Corrected an error with the new "tagged" operator when used in "cifinput"; instead of cifSrTiles(), which ignores the "area" argument and searches over the entire plane, it should have been using cifSrTiles2(), which translates the area to CIF coordinates and searches only over that area. Otherwise, everything on the same layer in a cell gets tagged, rather than just connected material.
8.3.642
R. Timothy Edwards
2026-05-12 12:06:16 -04:00 -
eb83075e16
Modified EXT_DOALL to include EXT_DOUNIQUE. Prior to a recent change, unique node names could only be enforced by running the command "extract unique", and there was no way to ensure that the user would run the command as part of the extraction recipe. Now that it has been changed to an extraction option instead of a separate command, and does not permanently alter labels in the layout like the standalone command version did, it is possible to include the setting in "extract do all", making it run by default, and requiring the user to manually turn it off for certain use cases (which are relatively rare).
R. Timothy Edwards
2026-05-12 10:36:36 -04:00 -
8fea20425e
Merged PR #512 from Intubun, reworking the wasm workflow. Updated the version to force a test of the workflow.
R. Timothy Edwards
2026-05-12 08:57:42 -04:00 -
ad14c26597
ci(wasm): also publish on tag push
Intubun
2026-05-12 11:19:11 +02:00 -
19a2d5c57c
ci(wasm): auto-publish @<owner>/magic-vlsi-wasm to GitHub Packages when VERSION changes
Intubun
2026-05-12 11:13:25 +02:00 -
fb01f77755
Updated the version to go along with the merge of pull request the repo parsing on opencircuitdesign.com, since yesterday I found out that the tags were not updating, caused by a documentation change in a copy of the repository that created a merge conflict when seen by the script. Will check tomorrow that everything ran smoothly overnight.
8.3.641
R. Timothy Edwards
2026-05-11 14:23:04 -04:00 -
9d74f4f9a7
update main.yml
Enno Schnackenberg
2026-05-11 06:59:25 +02:00 -
9af6b329de
update main.yml
Enno Schnackenberg
2026-05-11 06:57:32 +02:00 -
6d3494a8fe
Update extract.tcl
Enno Schnackenberg
2026-05-07 07:17:45 +02:00 -
068b93608a
Update extract.tcl
Enno Schnackenberg
2026-05-07 06:57:26 +02:00 -
e62626fc06
Update extract.tcl
Enno Schnackenberg
2026-05-07 06:53:37 +02:00 -
145fba9ac0
Update extract.tcl
Enno Schnackenberg
2026-05-07 06:49:58 +02:00 -
19113bec89
Update extract.tcl
Enno Schnackenberg
2026-05-07 06:48:02 +02:00 -
480c40f516
Update extract.tcl
Enno Schnackenberg
2026-05-07 06:44:13 +02:00 -
1fffc2b8b4
Update main-wasm.yml
Enno Schnackenberg
2026-05-06 20:06:47 +02:00 -
392d9c4408
Rework WASM CI structure
Enno Schnackenberg
2026-05-06 19:47:08 +02:00 -
c8b50a702d
Change npm examples to scmos examples
Enno Schnackenberg
2026-05-06 19:16:55 +02:00 -
354416f717
ci: add ARM WASM build job with Emscripten diagnostics to CI-aarch64
Intubun
2026-05-06 11:02:29 +02:00 -
f802d729af
Annotate ClientData callbacks: /*ARGSUSED*/ + /* UNUSED */ markers
Intubun
2026-05-06 10:43:34 +02:00 -
1d402d2c5f
npm: stamp version as base-YYYYMMDD.hash on every CI build
Intubun
2026-05-06 10:38:06 +02:00 -
2d6a3a8ed6
CI: publish to GitHub Packages, emsdk latest by default, add ARM WASM job
Intubun
2026-05-06 07:27:29 +02:00 -
8560027569
Add npm package and CI workflows
Intubun
2026-05-04 13:32:51 +02:00 -
02087ea3f8
cmwind: ARGSUSED/UNUSED annotation on CMWreposition (newScreenArea unused)
Intubun
2026-05-06 07:01:54 +02:00 -
8e8fada32f
Add WASM entry point and Emscripten build wiring
Intubun
2026-05-04 13:31:41 +02:00 -
f4c22438c6
Wire up headless / WASM mode at module boundaries
Intubun
2026-05-04 13:31:11 +02:00 -
fdfb54badb
graphics/grNull.c: typed no-op stubs for WASM call_indirect
Intubun
2026-05-04 13:30:21 +02:00 -
6fc7b30386
Save and restore GrDisplayStatus across long operations
Intubun
2026-05-04 13:29:49 +02:00 -
476bb5474c
Add ClientData parameter to indirect-call callbacks for WASM
Intubun
2026-05-04 13:29:11 +02:00 -
537d370536
Fix five latent bugs surfaced while porting to WASM
Intubun
2026-05-04 13:28:42 +02:00 -
bdc0325901
Extended the use of "ext2spice resistor tee on" to include DEV_RSUBCKT as well as (previously implemented) DEV_RES. The handling of DEV_RSUBCKT includes checking if the subcircuit has a substrate pin, and zeroing the capacitance to substrate for the resistor node, under the assumption that the parasitics are part of the resistor subcircuit model.
8.3.640
R. Timothy Edwards
2026-05-09 20:05:52 -04:00 -
fa80458d80
Ensure layer name compatibility in wrapper.tcl
Ahmed Nematallah
2026-05-02 22:50:25 +02:00 -
c3ee33e9a1
tcl/tk: Fix layer toolbar icon synchronization on left-click
Ahmed Nematallah
2026-05-02 18:09:18 +02:00 -
900f6d7b0f
Ensure all cells are loaded into memory in netlist_to_spice to avoid file corruption during save
Ahmed Nematallah
2026-05-03 05:12:21 +02:00 -
97fd047aab
Implement existing cell check for layout generation
Ahmed Nematallah
2026-05-01 22:54:33 +02:00 -
df4ec3ab32
Corrects an error that can cause "extresist" to segfault. This is due to moving away from using the node "location" in favor of a drivepoint specified by a port or other connection point. The "location" record can end up at the default value of "infinity", and should not be used to set the area for searches. This fix is in response to issue #502 on the github issue tracker, submitted by Julian Schwarz.
R. Timothy Edwards
2026-05-06 10:21:35 -04:00 -
d0e38df6bf
Fixed an error introduced in the last commit (which has been in the code now for 10 days). The last commit fixed an error when using drcCanonicalMaxwidth() multiple times in DRC rule checks on a single edge. At the time, I also added a method to save some drcCanonicalMaxwidth() results to prevent needlessly re-doing the same (potentially expensive) computation over and over. However, where I reused the cached result, I did not check if the number of entries is zero. Other code does not check the number of entries and depends on the prior behavior that drcCanonicalMaxwidth() returns NULL when there are no entries. So the code needed to check if the number of entries is zero before re-using the cached result. Without the fix, any time the caching is used, the last computed maximum area rectangle will be made active even when the current check area does not meet the area requirement, resulting in many false positive errors.
R. Timothy Edwards
2026-04-24 11:21:15 -04:00 -
d157eea7f3
Fixed an error that was discovered with the drcCanonicalMaxwidth() routine, which in turn affects various DRC rules like maxrect, widespacing, and runlength spacing. drcTile() was computing the drcCanonicalMaxwidth() result for the tile and reusing it, failing to account for the fact that within the loop over DRCCookies, other rules might require calling drcCanonicalMaxwidth() on a neighboring tile, or on the same tile with a different width requirement. Implemented a cached version, in which three results are kept: One for neighboring tiles (which can never be reused on the same edge), one for the first required use of the routine for the tile, and one for any other use required for the tile. If there are one or two such rules for an edge, then the routine will work at maximum efficiency. If there are three rules, then one will always be a cache hit and reduce the total amount of computation, although it will still be doing a massive amount of redundant computation. If this seems to be something that occurs regularly, then it can be revisited. The existing implementation works fine for all the open PDKs. Some more advanced PDKs with a number of staged wide-spacing rules could have issues.
8.3.637
R. Timothy Edwards
2026-04-14 17:37:10 -04:00 -
67c6ed9395
Corrected the handling of toolkit callbacks created by the "magic::add_dependency" procedure. The "check" function should always be called first, followed by the dependencies. Because otherwise, if an incorrect value is entered for a device parameter, then it gets used to calculate dependent values *before* it gets corrected by the "check" procedure, resulting in an incorrect value being displayed for the dependent value, even after the bad entry has been corrected.
8.3.636
R. Timothy Edwards
2026-04-13 15:29:51 -04:00 -
f15f0dabbb
Added HTML documentation for the "macro" command, after finding that the exiting documentation does not include the handful of options available to the macro command, nor does it explain the relationship between tools and macro sets.
R. Timothy Edwards
2026-04-13 13:01:54 -04:00 -
ae6d26578e
Fixed issues with the "macro" command that have existed since the "tool" command was changed to be overridden by a Tcl command. Due to macro clients being registered with the tool name instead of just "layout", the "macro" command with no arguments or with a window client argument was just broken. In the process of fixing this, I realized that there was a conflict between the use of "netlist" as a window name and also as the name of a tool, so I changed the tool name to "nettool", a change which should be transparent to the end user. Otherwise, "macro netlist" returns the key bindings for the window, and the only way to get the key bindings for the tool is to make the tool active and then use "macro" without arguments. One remaining issue is that there is no syntax error that will cause the list of valid windows and tools to be printed. Probably "macro help" should print usage information instead of acting like "macro" with no arguments.
R. Timothy Edwards
2026-04-13 12:26:42 -04:00 -
cb1653b157
Found that I needed to apply the same correction as the last commit to the "tagged" GDS/CIF operator, or else this will have exactly the same issue as "bloat-all".
8.3.635
R. Timothy Edwards
2026-04-10 13:39:17 -04:00 -
a3f5e665d1
Found an extremely bad error, where the "bloat-all" GDS output operator does a second search to reset tiles and clear the "processed" mark. This second search was only searching on the types being bloated *into* and not the original types being bloated. This caused tiles to remain marked as "processed" which could in turn cause the tiles to be ignored forever after, potentially resulting in bad GDS output.
8.3.634
R. Timothy Edwards
2026-04-09 11:13:30 -04:00 -
2eea849c06
Corrected a crash condition in R-C extraction (extresist) caused by old code that still references devices like FETs assuming four ports. I resolved the crash condition but have not worked on fixing the code to properly handle a variable number of terminals per device.
8.3.633
R. Timothy Edwards
2026-04-07 21:15:56 -04:00 -
6e295d030e
Also updated the HTML command reference for the "expand" and "unexpand" commands to include the options just implemented.
8.3.632
R. Timothy Edwards
2026-04-04 21:03:06 -04:00 -
ceba050a21
Fixed the mess that is the "expand"/"unexpand" command set. This had numerous problems, the main one being that each of the three commands was inconsistent: "expand toggle" inverts the expansion of the selection and syncs with the layout. But "expand" expands the layout where instances overlap the box and does not sync to the selection, and "unexpand" unexpands the layout where the box completely surrounds instances. Added a set of options to "expand" and "unexpand" so that these functions can be made consistent with each other. All varieties of the function now always sync the selection and the layout.
R. Timothy Edwards
2026-04-04 20:47:04 -04:00 -
f7cceed5e3
Made a fairly major overhaul to the toolkit for generated devices. The main changes are: (1) Changed the hash function used to generate the 6-character suffix for generated device cell names. The original hash function is not good for ensuring unique names, and can cause cell name collisions (two different parameter sets having the same cell name). The chance of name collisions should now be diminishingly small. (2) Modified the string passed to the hash: (A) Ordered the parameter names alphabetically, since iterating through dictionary keys is not guaranteed to be in any specific order, leading to different strings for the same parameter set (B) Normalized numerical parameters, so that "2", "2.0", "2e0" are all hashed the same, again to avoid having multiple cell names for the same set of parameters. (3) Fixed a problem in which when changing parameters for a cell instance, the instance would become unselected and the instance name would be lost and revert to magic's auto-generated name. (4) Fixed the annoyance of having a pop-up dialog whenever magic decides that a parameterized cell name is not being used anywhere, and it can safely delete the cell. (5) Fixed an issue where the check for whether a cell can be deleted is not run consistently. The result is, I hope, a much more pleasant experience with generated cells.
8.3.631
R. Timothy Edwards
2026-04-02 17:13:17 -04:00 -
5d35ae38b5
Corrected an issue causing MASKHINTS values to fail to be written back to the file, instead resulting in a property key only and no value; this in turn produces an error when read back in. Another cycle of reading and writing causes the property to disappear altogether.
R. Timothy Edwards
2026-04-02 14:45:08 -04:00 -
05561b90f3
Solved three issues: (1) There was still one place that dimensional units were not being printed, which was "setlabel", with both "setlabel size" and "setlabel offset". This has been fixed. (2) Fixing (1) surfaced an error in the text helper dialog, which was not setting units properly when checking the size and offset entries. (3) Fixed a very long-standing problem in which port labels were showing up with the "pale" style of a subcell's label being drawn on top when the parent and child had the same label in exactly the same position. This was due to a parent-first search resulting in the child cell being visited last, so its "pale" style label being drawn last. Added a flag for label searches for display to reverse the search order, visiting children first and then the parent, so that the top cell's labels are the last to be drawn.
8.3.630
R. Timothy Edwards
2026-04-01 21:17:54 -04:00 -
06eab7feb6
Removed three lines of code that were meant to be a test of how much performance can be sped up if the DRC process can be interrupted at much finer intervals. Unfortunately, the method cannot work without an additional method to ensure that magic is immediately aware when a search routine has been entered recursively and to then break out of the search and clean up after itself. For now, I am just commenting out the code so that magic isn't unstable.
8.3.629
R. Timothy Edwards
2026-03-26 19:44:00 -04:00 -
9ade4c931e
Updated the version to go along with the merge of two pull requests from Darryl Miles. The second of these should finally put to rest all the compile-time issues related to "termio/termios" (yay).
R. Timothy Edwards
2026-03-26 09:23:58 -04:00 -
1bb5316d8d
utils/magsgtty.h removal and fixup
Darryl L. Miles
2025-07-31 22:59:00 +01:00 -
2f26237b8b
GHA: main.yml/main-aarch64.yml: WASM build
Darryl L. Miles
2026-03-25 12:39:20 +00:00 -
003506ba62
CmdLQ.c: fix MAGIC_WRAPPER code section(s) for WASM build
Darryl L. Miles
2026-03-25 12:39:20 +00:00 -
d659b5e1df
textio.h: add include <stdarg.h> due to va_list type use in file
Darryl L. Miles
2026-03-25 12:39:20 +00:00 -
a0afe242c8
extract/ExtNghbors.c: fix older compiler support for label
Darryl L. Miles
2026-03-23 22:41:59 +00:00 -
88ca77f6a4
GHA: main.yml: remove vezzal task
Darryl L. Miles
2026-03-25 12:39:20 +00:00 -
9d967bdf64
GHA: canary-matrix.yml: apt-get update
Darryl L. Miles
2026-03-23 22:40:51 +00:00 -
7fd2ef8100
I admit I was juggling with too many balls in the air yesterday and managed to commit some code that I thought I had tested--- but apparently what I tested was not the latest version of the code. So 8.3.627 is quite broken and won't even compile. This update fixes that.
8.3.628
R. Timothy Edwards
2026-03-25 14:07:54 -04:00 -
e789f18523
Yet another pass at the problem caused by implementing DRC exceptions; avoided the use of "signed char" altogether by just making the drcc_exception value a bit mask with the lower 7 bits being the index and the upper bit being the flag for exception (0) vs. exemption (1), with the value 0xff being reserved for "none" (no exception or exemption). This implementation should avoid any issues caused by ambiguity in the use of signed vs. unsigned char.
8.3.627
R. Timothy Edwards
2026-03-24 09:37:50 -04:00 -
460a357730
Corrected what appears to be a long-standing error in the GDS read routine, in which it calls the same "cleanup" routine as for CIF files, which in turn processes the top level cell. However, GDS doesn't have the same concept of a top level cell, so it ends up re-processing part of the last cell read. This would appear to be harmless, except that there is some kind of scaling discrepancy in which the cell bounding box can get incorrectly scaled by the cleanup routine. The solution appears to be simply (?) to not do the "top level" processing. Bypassing the CIFPaintCurrent() from the cleanup routine when reading a GDS file appears to solve the problem.
8.3.626
R. Timothy Edwards
2026-03-22 13:11:27 -04:00 -
7ceeccef56
Corrected an issue found by Harald Pretl and solved by Claude. Use of "char" does *not* implicitly mean "signed" on ARM architectures.
R. Timothy Edwards
2026-03-22 11:14:19 -04:00 -
66faf1d907
Added documentation for the attribute labels in the "label" command description, because otherwise it only appears in the tech file reference, where it doesn't really belong since the labels are a user-level feature, even if they do affect extraction. The new feature of using gate attributes for parameters was added to the command description. I noticed that the tech file reference made mention of a gate label in the form of ":ext <name>=<value>", but this seems not to be implemented anywhere. At any rate, the method just committed supercedes that.
8.3.625
R. Timothy Edwards
2026-03-18 19:28:23 -04:00 -
37db9e453b
Extended the use of attribute labels to allow gate attributes to specify additional parameters for a device. Any gate attribute (label ending with "^") that has an "=" in it is considered a parameter, and is output with the device in the .ext file. This gives a way to add specific parameters to a device, which otherwise have no meaning to the layout editor. Note that prior to this extension, the gate attribute was used only to set the device index. If a gate attribute is made for a device index, it cannot have "=" in the name, so it remains backwardly compatible. Only non-parameter attributes are passed on to ext2spice.
R. Timothy Edwards
2026-03-18 16:41:42 -04:00 -
2d5c4be6dd
Added a few lines of code to the toolkit management to work around the issue of a device name in a netlist having different case than the procedures defined for the device in the PDK. The difference in case is transparent to SPICE, so it should also be transparent to the PDK.
R. Timothy Edwards
2026-03-18 12:18:42 -04:00 -
a9673e45ae
Added inductors to the list of devices for which the toolkit can call a device generator for an ideal component in a netlist.
8.3.624
R. Timothy Edwards
2026-03-17 11:42:16 -04:00 -
8f95efc257
Added a feature to the toolkit scripts for generated devices to allow ideal devices in an input netlist to be mapped to automatically generated cells. This works if the PDK toolkit defines a device called either "capacitor" or "resistor". The device must be defined such that it can determine sane parameters for the drawn device from only a value given in the netlist (capacitance in farads, or resistance in ohms).
R. Timothy Edwards
2026-03-17 11:32:53 -04:00 -
fd12c39c37
Modified the toolkit scripts so that the "add_dependency" procedure actually works, and also can be called multiple times. The chaining of commands and bindings had earlier been done for one of the widget types (selection) but not the others (entry or checkbox).
8.3.623
R. Timothy Edwards
2026-03-16 20:02:09 -04:00 -
7d9167257a
Corrected an error caused by a recent commit that was attempting to avoid bogus values for array pitch in the direction in which a cell is not arrayed: If the array declares an ANGLE of 90 or 270, then rows and columns are effectively swapped for the purpose of figuring out which coordinate direction should be ignored in the input. The original example did not use ANGLE and so the exception was not handled.
R. Timothy Edwards
2026-03-16 12:50:17 -04:00 -
058b320c3f
Also applied the same correction as the previous commit, to hierarchical extraction (as opposed to flat extraction, which is what the previous commit fixed).
8.3.621
R. Timothy Edwards
2026-03-15 15:55:48 -04:00 -
fee4b887c0
Corrected an issue in ext2spice in which devices extracted as ideal, unmodeled capacitors or resistors are missing a space between the 2nd terminal and the device value in the output netlist. This affects the ability to produce correct output for, for example, a metal fingered capacitor using the "device" property to generate an ideal capacitor in the netlist.
R. Timothy Edwards
2026-03-15 15:40:10 -04:00 -
04e91d640d
Corrected a problem in which if a label exists that is only connected to material in a child cell, and the label is a point or line label, and the parent cell has no material other than the label in the immediate area, then the "interaction area" will have zero area, which will cause problems as area checks on a zero-sized area don't do anything useful. The solution is to ensure that interaction areas do not have zero area, but will expand around point labels. This should not have any other implications, because the interaction area is just a way to limit the amount of processing; larger interaction areas do not affect the extraction result (except in this case, where it fixes the error).
8.3.620
R. Timothy Edwards
2026-03-12 11:50:21 -04:00 -
7d9210a3f1
Updated the HTML reference for the "property" command, which did not describe the "list" option (which was just as well, since the option didn't work).
8.3.619
R. Timothy Edwards
2026-03-11 16:43:29 -04:00 -
03bbc544b2
Fixed a long-standing error that had gone unnoticed that prevents the use of "property list <key>" to return NULL if <key> is undefined, instead of printing an error message that cannot be suppressed. Scripts which wish to test whether or not a bounding box exists will of course want the "quiet" version of the command.
R. Timothy Edwards
2026-03-11 16:35:52 -04:00 -
ee79bba5e4
Decided to change the name of the new cifinput/cifoutput operator from "labeled" to "tagged", since there is already an operator called "labels", which is confusing.
R. Timothy Edwards
2026-03-11 15:52:42 -04:00 -
15943d0cb1
Implemented new cifinput/cifoutput operator "labeled" which operates like "bloat-all" except starting with a label and expanding into a type rather than starting with a layer. This is equivalent to what many tools refer to as "stamping".
R. Timothy Edwards
2026-03-11 15:06:24 -04:00 -
7bdd9e1d4f
Reworked the method from the previous set of commits, which creates yet another property type "plane". This allows mask hints to be handled like tile planes. That is, after all, what they represent. Although this change is transparent to the end user (apart from a slight performance improvement that is probably not noticeable), it allows for a number of useful future extensions, including the ability to handle non-Manhattan geometry in mask hints, and the ability to view and edit mask hints like any other layout.
8.3.618
R. Timothy Edwards
2026-03-10 14:25:02 -04:00 -
725c8e9235
Made a few corrections to yesterday's code. Most are minor, but one can potentially cause a crash condition.
8.3.617
R. Timothy Edwards
2026-03-09 14:40:53 -04:00 -
73ffad3802
Implemented the new feature discussed in the github discussion #492. This features allows two new instructions in the tech file "drc" section: "exception <name>|none" and "exemption <name>|none". The purpose of these rules is to allow DRC rule exceptions for certain areas which are marked, usually by a GDS identifier layer. Because GDS identifier layers can be cast as "mask-hint" properties, the DRC rule exceptions make use of that (recent) feature. So rules can be specified as "exceptions" (rule applies for layout inside the marked area) or "exemptions" (rule is ignored for layout inside the marked area). Rules following the statements will have the exception or exemption applied until another exception or exemption statement is given. Either "exception none" or "exemption none" will stop applying any rule exception or exemption. This is especially useful for applications like SRAM where there may be a number of rule exceptions on different layers. The previous way to handle that was to create new layers in magic for any layer that needed a rule exception. That mainly resulted in very messy tech files, and a large number of defined layers. This implementation is both simpler and cleaner.
8.3.616
R. Timothy Edwards
2026-03-08 20:12:58 -04:00 -
037daf1121
Found an issue with coupling capacitance where contact types not surrounded by metal are not checked for perimeter coupling parasitic capacitance to other layers.
8.3.615
R. Timothy Edwards
2026-03-05 18:04:53 -05:00 -
d0ef32de0f
Tracked down a DRC issue found recently where spurious errors get drawn outside the area being worked on. Tracked it down to a missing check for an invalid rectangle. Fixed now.
R. Timothy Edwards
2026-03-05 10:17:29 -05:00 -
0d9b862c0e
Corrected a minor error in ext2hier.c where views with no devices and no ports are still supposed to be output as instances if they have been marked as abstract views. Such views were getting output as cell definitions but not instanced, which although is irrelevant for simulation, would potentially cause LVS errors.
R. Timothy Edwards
2026-03-05 09:35:28 -05:00 -
71dc472797
Modified the toolkit code to make use of the "units" command; otherwise, the existing code would produce results that vary by units, with potentially incorrect label sizes and spacing between instances when generating layout devices and subcells from a netlist.
8.3.614
R. Timothy Edwards
2026-03-04 13:34:31 -05:00 -
2929ef583e
Minor correction to the new "repeat <steps> ... endrepeat" function for tech files, as the first implementation was repeating one too many times. Also: The wrong type was being read for the number of steps, although the resulting value was correct.
8.3.613
R. Timothy Edwards
2026-03-02 12:24:46 -05:00 -
ecd6ec56ae
Modified the routine for the cif-output "bloat-all <dist>" operator to make it slightly more efficient. Noting, however, that it is still highly inefficient relative to the stepped "grow" + "and" (or "and-not") operators that it was supposed to replace, I also implemented a convenience function "repeat <steps>" ... "endrepeat" to the tech file syntax. This allows the "grow" + "and" series to be defined with a few lines, whereas if the steps have to be spelled out, the series can be scores or hundreds of lines long.
8.3.612
R. Timothy Edwards
2026-03-01 21:35:00 -05:00 -
f3478cba7b
Fixed a few issues related to the "save <file>.tcl": (1) Dimension properties were not output correctly. (2) Magic insisted that the output file was <cell>.tcl, not <file>.tcl, although the error was only in the messaging (3) Magic was incorrectly renaming the cell to <cell>.tcl after writing the file.
R. Timothy Edwards
2026-03-01 11:29:25 -05:00 -
ba5154698d
Thought better of the recent change to make "snap" no longer change units; although that is a more proper usage, it also happens to break a lot of existing scripts. Since virtually all of these scripts start out with "snap internal" to force units, I have kept this single usage, when "units" is still set to "default". That keeps the older scripts from breaking, while hopefully scripts get updated over time to use "units" instead of "snap". Note that there are still ways to make this behavior break, such as running "units microns" to set units and then sourcing a script that assumes that "snap internal" will change the units, which will then not happen. But batch scripts should be handled property with backwards- compatibility mode.
8.3.611
R. Timothy Edwards
2026-02-28 20:07:00 -05:00 -
1023461ca5
Minor change to the "save <file>.tcl" method to only paint from TECHDEPBASE, as the layers below that cannot be directly painted; this avoids putting things like "paint checkpaint" into the output, which are harmless but useless.
8.3.610
R. Timothy Edwards
2026-02-27 12:08:35 -05:00 -
197763e46e
Modified the output of "save <cell>.tcl" so that (1) it strips the ".tcl" off of the name, so that the cell name remains the same, and (2) it uses "units" instead of "snap", as the latter is no longer used for setting the unit type.
R. Timothy Edwards
2026-02-27 11:18:27 -05:00