Skip to content

Conversation

@JeanMeijer
Copy link
Collaborator

@JeanMeijer JeanMeijer commented Dec 28, 2025

Description

Briefly describe what you did and why.

Screenshots / Recordings

Add screenshots or recordings here to help reviewers understand your changes.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • UI/UX update
  • Docs update
  • Refactor / Cleanup

Related Areas

  • Authentication
  • Calendar UI
  • Data/API
  • Docs

Testing

  • Manual testing performed
  • Cross-browser testing (if UI changes)
  • Mobile responsiveness verified (if UI changes)

Checklist

  • I’ve read the CONTRIBUTING guide
  • My code works and is understandable and follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in complex areas
  • I have updated the documentation
  • Any dependent changes are merged and published

Notes

(Optional) Add anything else you'd like to share.

By submitting, I confirm I understand and stand behind this code. If AI was used, I’ve reviewed and verified everything myself.


Summary by cubic

Replaced multi-day lane placement with a greedy min-heap algorithm to pack all-day events more accurately and efficiently. Simplified overflow handling and added a container size hook for responsive layout.

  • New Features

    • LanePacker with MinHeap packing (O(n log k)) and stable sorting by start then duration.
    • Inclusive day ranges; adjacent events reuse lanes; reserves one lane for the “+X more” row when needed.
    • useContainerSize hook to measure container width/height via ResizeObserver.
  • Refactors

    • multi-day-layout: new placeIntoLanes and cached metadata; organizeEventsWithOverflow now takes an options object and returns { totalLanes, visibleLanes, overflowLanes }.
    • use-multi-day-overflow: uses useContainerSize; removes availableHeight, visibleEvents, hasOverflow, overflowCount; overflowEvents sourced from overflowLanes.
    • Removed getOverflowEvents; added shared MinHeap utility.
    • Minor TODO note in command-bar for color helper reuse.

Written for commit 581347a. Summary will update automatically on new commits.

@vercel
Copy link

vercel bot commented Dec 28, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
analog Ready Ready Preview, Comment Dec 28, 2025 4:37pm

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 6 files

@JeanMeijer JeanMeijer changed the title feat(web): implement new lane placing algorithm for all day events feat(web): implement new lane placement algorithm for all day events Dec 28, 2025
@JeanMeijer JeanMeijer merged commit 3324311 into main Dec 28, 2025
7 checks passed
@JeanMeijer JeanMeijer deleted the feat/new-lane-placing-algorithm branch December 28, 2025 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant