Skip to content

Commit 6474302

Browse files
committed
Merge branch 'main' of https://github.com/open-edge-platform/scenescape into feature/vision-pipeline-api-design-doc
2 parents 4234d67 + e8367a7 commit 6474302

26 files changed

+136
-10
lines changed

.github/resources/.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
# Most yaml files are go templates, so they're parsed incorrectly
55
**/kubernetes/**/*.yaml
66
**/.reuse/templates/template.jinja2
7+
.venv

.github/resources/actionlint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
self-hosted-runner:
66
# Labels of self-hosted runner in array of strings.
7-
labels: [xeon, nuc]
7+
labels: [all, bat]
88

99
# Configuration variables in array of strings defined in your repository or
1010
# organization. `null` means disabling configuration variables check.

.github/workflows/docs-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
DOC_AWS_ACCESS_KEY_ID: ${{ secrets.DOC_AWS_ACCESS_KEY_ID }}
4848
DOC_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOC_AWS_SECRET_ACCESS_KEY }}
4949
with:
50-
exclude_patterns: "README.md, adr, design"
50+
exclude_patterns: "README.md, adr, design, development"
5151
build_autocalibration:
5252
name: "Build Autocalibration Documentation"
5353
needs: filter

.github/workflows/tests-all.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ permissions:
4545
jobs:
4646
run-all-tests:
4747
name: "Run All Tests"
48-
runs-on: [self-hosted]
48+
runs-on: [all]
4949
timeout-minutes: ${{ fromJSON(inputs.timeout || '90') }}
5050
steps:
5151
- name: "Remove all Docker images"

.github/workflows/tests-bat.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
117117
run-basic-acceptance-tests:
118118
name: "Run Basic Acceptance Tests"
119-
runs-on: [self-hosted]
119+
runs-on: [bat]
120120
timeout-minutes: ${{ fromJSON(inputs.timeout || '60') }}
121121
needs: [filter, check-pr-state]
122122
if: ${{ needs.filter.outputs.code_changed == 'true' && (needs.check-pr-state.outputs.pr_state != 'true' || github.event_name == 'workflow_dispatch') }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,4 @@ coverity_tool.tgz
4646
*.ts
4747
*.pem
4848
kubernetes/scenescape-chart/files/*
49+
.venv

controller/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,12 @@ RUN : \
3535
&& rm -rf /var/lib/apt/lists/*
3636

3737
# install common dependencies
38-
COPY ./scene_common /tmp/scene_common
38+
COPY ./scene_common/src /tmp/scene_common
3939
RUN : \
4040
&& cd /tmp/scene_common \
41-
&& mv src scene_common \
4241
&& pip3 install --break-system-packages --no-cache-dir pybind11==3.0.0 \
4342
&& pip3 install --break-system-packages --no-cache-dir . \
44-
&& make -C scene_common/fast_geometry -j $(nproc) all install \
43+
&& make -C fast_geometry -j $(nproc) all install \
4544
&& cd .. \
4645
&& rm -rf scene_common
4746

docs/development/vscode-setup.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# VS Code Setup for SceneScape
2+
3+
This guide configures Visual Studio Code for optimal SceneScape development with cross-module navigation and IntelliSense.
4+
5+
## Prerequisites
6+
7+
- Ubuntu 24.04 LTS
8+
- Python 3.12
9+
- Git
10+
- Visual Studio Code
11+
12+
### Initial Setup
13+
14+
Before configuring VS Code, set up the project environment:
15+
16+
1. **Clone the repository**
17+
18+
```bash
19+
git clone https://github.com/open-edge-platform/scenescape.git
20+
cd scenescape
21+
```
22+
23+
2. **Create and activate virtual environment**
24+
25+
```bash
26+
python3.12 -m venv .venv
27+
source .venv/bin/activate
28+
```
29+
30+
3. **Install Python dependencies**
31+
32+
```bash
33+
pip install --upgrade pip
34+
pip install -r controller/requirements-runtime.txt
35+
pip install -r manager/requirements-runtime.txt
36+
pip install -r autocalibration/requirements-runtime.txt
37+
pip install -r model_installer/requirements-runtime.txt
38+
39+
# Optional: Install test requirements
40+
pip install -r manager/test/requirements-test.txt
41+
```
42+
43+
4. **Build project components**
44+
```bash
45+
make
46+
```
47+
48+
## Quick Setup
49+
50+
Assuming you have the SceneScape project cloned and Python environment ready:
51+
52+
1. Open VS Code
53+
2. Use **File → Open Folder** and select the `scenescape` directory
54+
3. VS Code will load the workspace with the project structure
55+
56+
## Required Extensions
57+
58+
Install these essential VS Code extensions for Python development:
59+
60+
### Python Extension Pack
61+
62+
- **[Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)** (Microsoft)
63+
- Core Python language support
64+
- Debugging, linting, and code formatting
65+
- Extension ID: `ms-python.python`
66+
67+
- **[Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)** (Microsoft)
68+
- Fast Python language server
69+
- Type checking and IntelliSense
70+
- Auto-imports and code navigation
71+
- Extension ID: `ms-python.vscode-pylance`
72+
73+
### Installation Steps
74+
75+
1. Open Extensions view (`Ctrl+Shift+X`)
76+
2. Search for "Python" and install the **Microsoft** Python extension
77+
3. Search for "Pylance" and install the **Microsoft** Pylance extension
78+
79+
> **Tip:** You can also copy and paste the extension IDs directly into the search box:
80+
>
81+
> - `ms-python.python`
82+
> - `ms-python.vscode-pylance`
83+
84+
## Workspace Configuration
85+
86+
Create `.vscode/settings.json` in the project root, or press `Ctrl+Shift+P` → "Preferences: Open Workspace Settings (JSON)"
87+
88+
```json
89+
{
90+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
91+
"python.terminal.activateEnvironment": true,
92+
"python.analysis.extraPaths": [
93+
"${workspaceFolder}",
94+
"${workspaceFolder}/manager/src/django",
95+
"${workspaceFolder}/tests",
96+
"${workspaceFolder}/scene_common/src",
97+
"${workspaceFolder}/controller/src",
98+
"${workspaceFolder}/autocalibration/src",
99+
"${workspaceFolder}/manager/src"
100+
],
101+
"python.analysis.autoImportCompletions": true,
102+
"python.analysis.autoSearchPaths": true
103+
}
104+
```
105+
106+
## What This Configuration Enables
107+
108+
- **Automatic Python Environment**: Uses `.venv/bin/python` automatically
109+
- **Cross-Module Navigation**: Jump between modules with F12 (Go to Definition)
110+
- **IntelliSense**: Auto-completion across all project components
111+
- **Import Resolution**: Finds imports in `scene_common`, `controller`, `manager`, `autocalibration`, and `tests`
112+
113+
## Verify Setup
114+
115+
1. Open any Python file in `scene_common/src/` or `controller/src/`
116+
2. Check that VS Code status bar shows Python interpreter from `.venv`
117+
3. Verify that imports and IntelliSense work across modules
118+
4. Test cross-module navigation:
119+
- Right-click on any import from `scene_common` → "Go to Definition" (F12)
120+
- Use "Find All References" (Shift+F12) on functions/classes
121+
- Verify autocomplete works for imports from other modules
122+
123+
## Troubleshooting
124+
125+
- If Python interpreter is not detected, press `Ctrl+Shift+P` → "Python: Select Interpreter" → Choose `.venv/bin/python`
126+
- If imports are not resolved, restart VS Code or reload the window (`Ctrl+Shift+P` → "Developer: Reload Window")

scene_common/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,12 @@ RUN : \
3232
&& rm -rf /var/lib/apt/lists/*
3333

3434
# install common dependencies
35-
COPY ./scene_common /tmp/scene_common
35+
COPY ./scene_common/src /tmp/scene_common
3636
RUN : \
3737
&& cd /tmp/scene_common \
38-
&& mv src scene_common \
3938
&& pip3 install --no-cache-dir pybind11 \
4039
&& pip3 install --no-cache-dir . \
41-
&& make -C scene_common/fast_geometry -j $(nproc) all install \
40+
&& make -C fast_geometry -j $(nproc) all install \
4241
&& cd .. \
4342
&& rm -rf scene_common
4443

File renamed without changes.

0 commit comments

Comments
 (0)