Skip to content

add a homepage for the docs site and update the material theme. - #3743

Open
swstica wants to merge 8 commits into
mainfrom
swastika/docs/homepage
Open

add a homepage for the docs site and update the material theme.#3743
swstica wants to merge 8 commits into
mainfrom
swastika/docs/homepage

Conversation

@swstica

@swstica swstica commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Problem

Docs landing page is a copy readme. Too long for a landing page

Solution

Added index.md and added some styling

@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
4897 2 4895 82
View the full list of 2 ❄️ flaky test(s)
dimos.e2e_tests.test_manipulation_planning_groups::test_dual_arm_plans_and_dispatches_both_arms_through_control_coordinator

Flake rate in main: 100.00% (Passed 0 times, Failed 3 times)

Stack Traces | 120s run time
lcm_spy = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736d886d0d40>
start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440860>

    def test_dual_arm_plans_and_dispatches_both_arms_through_control_coordinator(
        lcm_spy: LcmSpy,
        start_blueprint: Callable[..., DimosCliCall],
    ) -> None:
        """Plan one generated plan over both arms and dispatch through one trajectory task."""
>       _start_openarm_mock_planner(start_blueprint, lcm_spy)

lcm_spy    = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736d886d0d40>
start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440860>

dimos/e2e_tests/test_manipulation_planning_groups.py:190: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/e2e_tests/test_manipulation_planning_groups.py:151: in _start_openarm_mock_planner
    lcm_spy.wait_for_saved_topic(JOINT_STATE_TOPIC, timeout=120.0)
        lcm_spy    = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736d886d0d40>
        start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440860>
dimos/e2e_tests/lcm_spy.py:97: in wait_for_saved_topic
    wait_until(
        condition  = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69440e00>
        self       = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736d886d0d40>
        timeout    = 120.0
        topic      = '/coordinator_joint_state#sensor_msgs.JointState'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

predicate = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69440e00>

    def wait_until(
        predicate: Callable[[], bool],
        *,
        timeout: float,
        interval: float = 0.1,
        message: str | None = None,
    ) -> None:
        """Poll ``predicate`` until it returns truthy or ``timeout`` elapses."""
        deadline = time.monotonic() + timeout
        while time.monotonic() < deadline:
            if predicate():
                return
            time.sleep(interval)
>       raise TimeoutError(message or f"Timed out after {timeout}s waiting for condition")
E       TimeoutError: Timeout waiting for topic /coordinator_joint_state#sensor_msgs.JointState

deadline   = 4426698.793192932
interval   = 0.1
message    = 'Timeout waiting for topic /coordinator_joint_state#sensor_msgs.JointState'
predicate  = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69440e00>
timeout    = 120.0

.../utils/testing/waiting.py:35: TimeoutError
dimos.e2e_tests.test_manipulation_planning_groups::test_single_arm_plans_and_executes_through_control_coordinator

Flake rate in main: 25.00% (Passed 12 times, Failed 4 times)

Stack Traces | 120s run time
lcm_spy = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736e8f57f950>
start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440400>

    def test_single_arm_plans_and_executes_through_control_coordinator(
        lcm_spy: LcmSpy,
        start_blueprint: Callable[..., DimosCliCall],
    ) -> None:
        """Plan with one arm and execute through its trajectory task."""
>       _start_openarm_mock_planner(start_blueprint, lcm_spy)

lcm_spy    = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736e8f57f950>
start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440400>

dimos/e2e_tests/test_manipulation_planning_groups.py:159: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/e2e_tests/test_manipulation_planning_groups.py:151: in _start_openarm_mock_planner
    lcm_spy.wait_for_saved_topic(JOINT_STATE_TOPIC, timeout=120.0)
        lcm_spy    = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736e8f57f950>
        start_blueprint = <function start_blueprint.<locals>.set_name_and_start at 0x736d69440400>
dimos/e2e_tests/lcm_spy.py:97: in wait_for_saved_topic
    wait_until(
        condition  = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69437740>
        self       = <dimos.e2e_tests.lcm_spy.LcmSpy object at 0x736e8f57f950>
        timeout    = 120.0
        topic      = '/coordinator_joint_state#sensor_msgs.JointState'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

predicate = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69437740>

    def wait_until(
        predicate: Callable[[], bool],
        *,
        timeout: float,
        interval: float = 0.1,
        message: str | None = None,
    ) -> None:
        """Poll ``predicate`` until it returns truthy or ``timeout`` elapses."""
        deadline = time.monotonic() + timeout
        while time.monotonic() < deadline:
            if predicate():
                return
            time.sleep(interval)
>       raise TimeoutError(message or f"Timed out after {timeout}s waiting for condition")
E       TimeoutError: Timeout waiting for topic /coordinator_joint_state#sensor_msgs.JointState

deadline   = 4426578.60562929
interval   = 0.1
message    = 'Timeout waiting for topic /coordinator_joint_state#sensor_msgs.JointState'
predicate  = <function LcmSpy.wait_for_saved_topic.<locals>.condition at 0x736d69437740>
timeout    = 120.0

.../utils/testing/waiting.py:35: TimeoutError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@greptile-apps

greptile-apps Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The new documentation homepage builds successfully, but the capability section becomes difficult to scan at common desktop widths because it changes to three columns before the constrained article area is wide enough. Keep this section at two columns until the container can support readable card widths.

Confidence Score: 4/5

One non-security P1 responsive-layout regression remains.

The verified homepage layout divides its constrained content region into 203–224px cards at common desktop widths, materially increasing text wrapping.

Files Needing Attention: misc/mkdocs/theme.css

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex established a baseline by comparing the homepage source before validation.
  • T-Rex verified the MkDocs build by running a strict build and inspecting the output.
  • T-Rex executed the responsive homepage browser-check source to exercise the layout checks.
  • T-Rex captured and reviewed visual evidence of responsive layouts across breakpoints, including 961px and 1280px, to verify column behavior.
  • T-Rex inspected the homepage internal-link checker output and the responsive UI evidence manifest.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (2): Last reviewed commit: "update content on homepage" | Re-trigger Greptile

Comment thread misc/mkdocs/theme.css
@swstica
swstica marked this pull request as ready for review August 28, 2026 02:43
Comment thread misc/mkdocs/theme.css
Comment on lines +354 to +357
@media screen and (min-width: 60em) {
.md-typeset .dim-media {
grid-template-columns: repeat(3, 1fr);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Capability grid narrows within the constrained content column

At the 60em breakpoint, the homepage switches the capability grid to three columns based on viewport width even though the article column remains narrow. A live 961px render produces a 687px grid with 223.7px cards, and a 1280px render produces a 625px grid with 203px cards. The capability descriptions wrap substantially more than a two-column rendering at the same 961px viewport—for example, Remote teleoperation grows from five lines to six, and at 1280px it reaches seven lines. Keep two columns until the actual card container can provide readable card widths, or use a card-width-aware grid.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Artifacts

Homepage source comparison before validation

  • Git diff output captures the homepage and theme changes under review, including the 60em capability-grid rule, with the takeaway that the three-column behavior is introduced by the reviewed CSS.

Strict MkDocs build output

  • Executed `.venv/bin/mkdocs build --strict` successfully and emitted the homepage site files, with the takeaway that the generated homepage builds.

Executed responsive homepage browser-check source

  • Playwright Chromium validation source measures the rendered capabilities grid, card dimensions, and text-line wrapping at 961px and 1280px, with the takeaway that the reported measurements came from live browser rendering.

Responsive homepage browser-check output

  • Executed Chromium measurements record the current three-column layout and two-column comparison at 961px plus the current 1280px layout, with the takeaway that three columns materially increase description wrapping in the constrained content region.

▶ Two-column capabilities comparison at 961px

  • Chromium video renders the same built homepage at 961px with a temporary two-column comparison rule, with the takeaway that cards are 339.5px wide and descriptions wrap less.

Two-column capabilities comparison screenshot at 961px

  • Full-page Chromium screenshot shows the two-column comparison for the built homepage at 961px, with the takeaway that the wider cards preserve more readable text lines.

▶ Current three-column capabilities layout at 961px

  • Chromium video renders the built homepage with the active 60em CSS at 961px, with the takeaway that the 687px grid is divided into three 223.7px cards.

Current three-column capabilities screenshot at 961px

  • Full-page Chromium screenshot shows the active three-column homepage layout at 961px, with the takeaway that the capability descriptions have visibly tighter wrapping.

▶ Current three-column capabilities layout at 1280px

  • Chromium video renders the built homepage at 1280px using the active CSS, with the takeaway that the constrained 625px article grid creates 203px cards.

Current three-column capabilities screenshot at 1280px

  • Full-page Chromium screenshot shows the current desktop capability cards at 1280px, with the takeaway that the Remote teleoperation description wraps to seven lines.

Executed homepage internal-link checker source

  • Playwright Chromium checker source attempts to locate homepage card links and request their rendered destinations, with the takeaway that the script itself is preserved for audit.

Homepage internal-link checker output

  • The executed checker completed but selected zero links because MkDocs generated relative URLs while the original filter expected root-relative URLs, with the takeaway that this output does not establish link-resolution coverage.

Responsive UI evidence manifest

  • Executed artifact listing confirms the saved source, build, measurement, image, and video proof files in the required artifact directory, with the takeaway that the responsive validation evidence is available for upload.

View artifacts

T-Rex Ran code and verified through T-Rex

@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Aug 28, 2026
@github-actions github-actions Bot added ready-to-merge Required CI checks have passed on this PR and removed ready-to-merge Required CI checks have passed on this PR labels Aug 28, 2026
@github-actions github-actions Bot removed the ready-to-merge Required CI checks have passed on this PR label Aug 28, 2026
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant