🌿Work on Dino🌿

🪷 Assignment Status

// 🪷 STUDY NOOK STATUS STATION

const filePath = dv.current().file.path;
const options = [
  { name: "Not started", emoji: "🌱" },
  { name: "In progress", emoji: "☕" },
  { name: "Done", emoji: "🌸" }
];

let currentStatus = String(
  dv.current().status ?? "Not started"
);

const station = dv.container.createDiv();
station.style.margin = "16px 0 28px";

station.createEl("p", {
  text: "How is this assignment coming along?"
});

const buttons = station.createDiv();
buttons.style.display = "flex";
buttons.style.flexWrap = "wrap";
buttons.style.gap = "10px";

const controls = [];

function refreshButtons() {
  for (const control of controls) {
    const selected = control.name === currentStatus;

    control.button.style.background = selected
      ? "var(--interactive-accent)"
      : "var(--background-secondary)";

    control.button.style.color = selected
      ? "var(--text-on-accent)"
      : "var(--text-normal)";

    control.button.style.border = selected
      ? "2px solid var(--interactive-accent)"
      : "1px solid var(--background-modifier-border)";

    control.button.style.fontWeight = selected
      ? "600" : "400";

    control.button.setAttribute(
      "aria-pressed", String(selected)
    );
  }
}

for (const option of options) {
  const button = buttons.createEl("button", {
    text: option.emoji + " " + option.name
  });

  button.style.borderRadius = "12px";
  button.style.padding = "10px 16px";
  button.style.cursor = "pointer";
  button.style.flex = "1 1 120px";

  controls.push({
    name: option.name, button
  });

  button.addEventListener("click", async () => {
    if (currentStatus === option.name) return;

    const previousStatus = currentStatus;
    currentStatus = option.name;

    controls.forEach(c => c.button.disabled = true);
    refreshButtons();

    try {
      const file = app.vault.getAbstractFileByPath(filePath);

      if (!file) {
        throw new Error("Assignment file not found.");
      }

      await app.fileManager.processFrontMatter(
        file,
        fm => { fm.status = option.name; }
      );

      new Notice(
        "🌿 Status updated: " + option.name
      );

    } catch (error) {
      currentStatus = previousStatus;
      refreshButtons();
      new Notice("Could not update status.");
      console.error(error);

    } finally {
      controls.forEach(c => c.button.disabled = false);
    }
  });
}

refreshButtons();

🌱 Next step

  • Downsize parts
  • Change materials

📖 Work notes

  • What needs to be submitted?
  • Submission location:
  • Instructions / rubric link:

🪷 Notes

  • Change wood dowel to steel: 1/2 to 1/4
  • Change throwing arm to 2x2

Wednesday's game plan

1:15–4:00 PM

Class, commute, and reset

No CAD required. Eat, rest, and get home.

4:00–5:15 PM

🪻 Finish the ramp

Measure, model, and mate the ramp surface. Add basic sidewalls.

5:15–5:30 PM

☕ Break

Get away from SolidWorks for a few minutes.

5:30–6:15 PM

⚙️ Mounting system

Add the base pegs and secure the ramp support conceptually.

6:15–7:00 PM

🌸 Dinner and reset

Eat and recharge before documentation.

7:00–8:00 PM

📐 Final assembly check

Verify cup clearance, size, stability, weight, and materials.

8:00–9:15 PM

📜 Drawings and cut list

Dimension critical parts and prepare your fabrication documentation.

9:15–9:25 PM

☕ Short break

Water, stretch, and reset.

9:25–10:15 PM

🗂️ Instructions and export

Assembly guide, PDFs, reference files, and submission check.

10:15–10:30 PM

✅ Final upload

Submit the deliverables and verify they actually open. Before leaving [ ] Save the latest Catapult on platform assembly [ ] Make sure the catapult parts and platform references are saved

Ramp design [ ] Set the cup in its upright loading position [ ] Measure the support-to-cup distance and required slope [ ] Model the ramp surface [ ] Add sidewalls and a wider nugget-catching inlet [ ] Position ramp and check the arm's entire swing path

Mounting and validation [ ] Add locating pins or approved removable fasteners to catapult base [ ] Add a stable foot and mounting pins to the 10-inch ramp support [ ] Check platform-hole alignment and attachment stability [ ] Check 12 × 12 × 12-inch envelope, weight and $20 material budget

Documentation and submission [ ] Prepare dimensioned part drawings [ ] Create a cut list and bill of materials [ ] Write assembly and mounting instructions [ ] Export required drawing PDFs and fabrication files [ ] Check file references and submit to Google Drive / Canvas

💚 Completion checklist

  • Start the assignment ✅ 2026-10-27
  • Complete the main work
  • Check answers / review instructions
  • Submit assignment

🪻Planning

  • Work session scheduled for:
  • Estimated time (minutes): 150
  • Questions to ask:

🌸 Wrap-up

  • Actual time spent:
  • What I learned:
  • Follow-up / review needed:
Built with LogoFlowershow