Skip to content

Commit 155935a

Browse files
Merge pull request #48 from beavertronics/add-crystal-skull
Looks good!
2 parents a66141e + 3c4e817 commit 155935a

File tree

7 files changed

+88
-23
lines changed

7 files changed

+88
-23
lines changed

assets/pages/robots/2026-robot.jpg

7.15 MB
Loading

assets/pages/robots/robot-info.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
2023: Lockpick
99
2024: Beyonce
1010
2025: Radek
11+
2026: Crystal Skull
1112

1213
https://beavertronics5970.wixsite.com/bhs-robotics/robots

robots/body/desktop.html

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,38 @@
33
-->
44
<div class="robot-images">
55

6+
<div class="robot-title" style="text-align: left">
7+
<a href="https://www.thebluealliance.com/team/5970/2026" class="robot-title-link" target=”_blank”>
8+
2026 - Crystal Skull
9+
</a>
10+
</div>
11+
<div class="robot-description">
12+
<img src="/assets/pages/robots/2026-robot.jpg">
13+
<div class="robot-description-text">
14+
<!-- You know why they call it "Rebuilt"? Because your intake will break and you'll have to rebuild it in the pits! -->
15+
This year was our first year with a swerve drivetrain and proper vision, and it was very successful; we were able to field a driving robot for every match and while
16+
we did have some drivetrain issues, we overall were a competitive robot
17+
<a target="_blank" href="https://www.thebluealliance.com/match/2026orore_qm37">with competitive defense</a> and <a target="_blank" href="https://www.thebluealliance.com/match/2026orore_sf1m1">a preload auto</a>.
18+
Our robot was designed with a four-bar intake, a spinning indexer system (spindexer), and a fixed shooter powered by a Kraken X60 with a variable 3D-printed hood.
19+
During our first competition at Wilsonville, we were the second pick of alliance 2 and made it to finals. At our second competition at CAIS, we were the
20+
second pick of alliance 8 and got eliminated in the Double Elimination Bracket (Round 2). Overall this was a very successful year, and we learned a lot.
21+
</div>
22+
</div>
23+
624
<div class = "robot-title" style="text-align: right">
725
<a href="https://www.thebluealliance.com/team/5970/2025" class="robot-title-link" target="_blank">
826
Radek - 2025
927
</a>
1028
</div>
1129
<div class="robot-description">
12-
<img src="/assets/pages/robots/2025-robot.jpg">
1330
<div class="robot-description-text">
14-
We had to swap Radek's drivetrain to from swerve to a kitbot drivebase with very little turnaround due to shipping delays. The latching deep climb, based
15-
heavily on the Everybot, scored well. The signature bucket arm was designed to allow space for a central climb while still ferrying coral from
16-
the back of the robot to the front. On our plywood test reef, this worked great, but the real reef was a lot more bouncy and we spend a lot of time
17-
trying to figure out how to prevent coral from bouncing out.
31+
This year was our 10th anniversary of being an FRC team. We had to swap Radek's drivetrain to from swerve to a kitbot drivebase with very little
32+
turnaround due to shipping delays. The latching deep climb, based heavily on the Everybot, scored well. The signature bucket arm was designed to allow space
33+
for a central climb while still ferrying coral from the back of the robot to the front. On our plywood test reef, this worked great, but the real reef was a
34+
lot more bouncy and we spent a lot of time trying to figure out how to prevent coral from bouncing out. We settled on a plywood "tail" that dropped against the
35+
reef to block the coral from bouncing out.
1836
</div>
37+
<img src="/assets/pages/robots/2025-robot.jpg">
1938
</div>
2039

2140
<!--
@@ -40,7 +59,7 @@
4059
</div>
4160

4261
<!--
43-
now the second one is a bit different. and this altnerates back and forth between this format and the format mentioned above
62+
now the second one is a bit different. and this alternates back and forth between this format and the format mentioned above
4463
in this one, there is the title then the description then the image
4564
the reason for this alternating design is so that for one, the image is on the right side and the description is on the left
4665
but for the next one, the description is on the right and the image is on the left

robots/body/mobile.html

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
<!--
22
this contains everything about the robot images and their descriptions
33
-->
4-
<div>
54

5+
<div>
6+
<div class = "robot-title-mobile">
7+
<a href="https://www.thebluealliance.com/team/5970/2026" class="robot-title-link" target="_blank">
8+
2026 - Crystal Skull
9+
</a>
10+
</div>
11+
<div class="robot-images-mobile"><img src="/assets/pages/robots/2026-robot.jpg"></div>
12+
13+
<div class="robot-description-text-mobile">
14+
You know why they call it "Rebuilt"? Because your intake will break and you'll have to rebuild it in the pits!
15+
</div>
16+
</div>
17+
18+
<div>
619
<div class = "robot-title-mobile">
720
<a href="https://www.thebluealliance.com/team/5970/2025" class="robot-title-link" target="_blank">
821
2025 - Radek
@@ -11,12 +24,14 @@
1124
<div class="robot-images-mobile"><img src="/assets/pages/robots/2025-robot.jpg"></div>
1225

1326
<div class="robot-description-text-mobile">
14-
We had to swap Radek's drivetrain to from swerve to a kitbot drivebase with very little turnaround due to shipping delays. The latching deep climb, based
27+
We had to swap Radek's drivetrain to from swerve to a kitbot drivebase with very little turnaround due to shipping delays. The latching deep climb, based
1528
heavily on the Everybot, scored well. The signature bucket arm was designed to allow space for a central climb while still ferrying coral from
16-
the back of the robot to the front. On our plywood test reef, this worked great, but the real reef was a lot more bouncy and we spend a lot of time
17-
trying to figure out how to prevent coral from bouncing out.
29+
the back of the robot to the front. On our plywood test reef, this worked great, but the real reef was a lot more bouncy and we spent a lot of time
30+
trying to figure out how to prevent coral from bouncing out. We settled on a plywood "tail" that dropped against the reef to block the coral from bouncing out.
1831
</div>
32+
</div>
1933

34+
<div>
2035
<!--
2136
im not going to comment all of these
2237
so im going to only comment the first one (as on mobile formats are the same). capiche?

robots/robots-mobile.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
.robot-images-mobile img {
2727
width: 100%;
2828
height: auto;
29-
border-radius: 2.5px;
29+
border-radius: 2vw;
3030
}
3131

3232
.robot-description-text-mobile {

robots/robots.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,39 @@ function on_resize() {
2727
// then set "currentBody" to desktop
2828
if(currentBody != "desktop") {
2929
$("#body").empty()
30-
$("#body").load("/robots/body/desktop.html")
30+
$("#body").load("/robots/body/desktop.html",fit_text)
3131
currentBody = "desktop"
32+
} else {
33+
fit_text()
3234
}
3335
}
3436
}
3537

38+
/*
39+
fits the text to its associated image
40+
*/
41+
function fit_text() {
42+
let descriptions = document.querySelectorAll(".robot-description")
43+
44+
for (const description of descriptions) {
45+
let img = description.querySelector("img")
46+
let text = description.querySelector(".robot-description-text")
47+
48+
const adjust = () => {
49+
text.style.fontSize = ""
50+
let fontSize = parseFloat(window.getComputedStyle(text).fontSize)
51+
/* -8 is because some characters extend below the image otherwise, like "g" and "j" */
52+
while (text.clientHeight > img.clientHeight-8 && fontSize > 8) {
53+
fontSize -= 0.5
54+
text.style.fontSize = fontSize + "px"
55+
}
56+
}
57+
58+
if (img.complete) adjust()
59+
else img.addEventListener('load', adjust)
60+
}
61+
}
62+
3663
// add an event listener for when the page is done loading, which will call on_resize
3764
window.addEventListener('load', function () {
3865
on_resize()

shared/css/style.css

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,6 @@ h1{
315315
font-weight: bolder;
316316
font-size: 2.5vw;
317317
font-family: Futura-lt, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
318-
font-weight: light;
319318

320319
}
321320

@@ -331,12 +330,15 @@ h1{
331330
.robot-images img {
332331
width: 50%;
333332
height: auto;
334-
border-radius: 2.5px;
333+
border-radius: 0.75vw;
334+
min-width: 0;
335+
flex-shrink: 0;
335336
}
336337

337338
.robot-description {
338339
display: flex;
339340
margin-bottom: 5%;
341+
align-items: flex-start;
340342
}
341343

342344
/* .robot-description img {
@@ -348,11 +350,12 @@ h1{
348350
margin-top: 1%;
349351
margin-left: 5%;
350352
margin-right: 5%;
351-
font-size: 125%;
353+
/* font-size clamping no longer needed, now handled by JS */
354+
/*font-size: clamp(14px, 1.5vw, 56px); !* font scaling to display size *!*/
355+
font-size: 1.5vw;
352356
font-family: Futura-lt;
353357
text-align: center;
354-
font-weight: light;
355-
358+
font-weight: lighter;
356359
}
357360

358361
.robot-title-link {
@@ -383,7 +386,7 @@ h1{
383386
font-weight: bolder;
384387
font-family: Futura-m;
385388
font-size: 1.25vw;
386-
font-weight: light;
389+
font-weight: lighter;
387390

388391
}
389392

@@ -406,7 +409,7 @@ h1{
406409
margin-right: 12.5%;
407410
margin-bottom: 1%;
408411
padding-top: 2.5%;
409-
font-weight: light;
412+
font-weight: lighter;
410413

411414
/* justify content left/right added in html */
412415
}
@@ -420,7 +423,7 @@ h1{
420423
flex-direction: row;
421424
padding-bottom: 2.5%;
422425
font-family: Futura-lt;
423-
font-weight: light;
426+
font-weight: lighter;
424427

425428
/* text align left/right added in html */
426429
}
@@ -457,7 +460,7 @@ h1{
457460
height: 6vw;
458461
cursor: pointer;
459462
background-color: black;
460-
mask-image: url("/assets/header//hamburg/hamburgerMenuIcon.png");
463+
mask-image: url("/assets/header/hamburg/hamburgerMenuIcon.png");
461464
mask-size: cover;
462465
z-index: 100;
463466
}
@@ -487,7 +490,7 @@ h1{
487490
width: 50vw;
488491
z-index: 2;
489492
position: fixed;
490-
width: 100vw;
493+
width: 100vw;// reset to CSS default before measuring, so resize always starts fresh
491494
display: flex;
492495
justify-content: right;
493496
z-index: 20;
@@ -511,7 +514,7 @@ h1{
511514
margin-right: 32px;
512515
text-align: right;
513516
font-family: Futura;
514-
font-weight: light;
517+
font-weight: lighter;
515518
/* margin-left: auto; */
516519
text-decoration: none;
517520
color: white;

0 commit comments

Comments
 (0)