Initial project skeleton: shared prompt, coordination, baseline
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
12
COORDINATION.md
Normal file
12
COORDINATION.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Coordination
|
||||
|
||||
Claim a task before starting. Release it when done. One agent per file.
|
||||
|
||||
| Task | Agent | Branch | Status |
|
||||
|------|-------|--------|--------|
|
||||
| Phase 0: build Orca, record baseline | Claude | | open |
|
||||
| Phase 1: prime tower trace | Codex | | open |
|
||||
| Phase 1: flush-into-object trace | Grok | | open |
|
||||
| Phase 1: Flexi Cube inspection and options | Claude | | open |
|
||||
|
||||
## Notes and disagreements
|
||||
92
PROMPT.md
Normal file
92
PROMPT.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# FLUSH FIDGET — shared agent prompt
|
||||
|
||||
Every agent (Claude, Codex, Grok) reads this file first. It is the single source of
|
||||
truth for the project. If something here is wrong, say so in COORDINATION.md; do not
|
||||
quietly work around it.
|
||||
|
||||
## Goal
|
||||
|
||||
Orca Slicer wastes most of the filament on a multi-colour print as purge: one real
|
||||
4-colour slice used 94 g of purge and prime tower against 19 g for the model itself
|
||||
(392 filament changes). Make that purge land in a **flush fidget** instead of the
|
||||
tower or a waste bin.
|
||||
|
||||
The flush fidget is the print-in-place Flexi Cube at `assets/flexi cube.stl`.
|
||||
Getting that one file through the whole process is the goal: slice it as the purge
|
||||
target, print it, and have it still flex.
|
||||
|
||||
**Random colours on the outside are wanted.** Purge showing on the exterior in
|
||||
unplanned colours is the desired look, not a defect. Do not hide it inside infill.
|
||||
|
||||
## Success test
|
||||
|
||||
Slice a 4-colour model with the Flexi Cube on the plate as the purge target. Then:
|
||||
|
||||
1. The Flushed + Tower totals in Orca's filament table drop substantially against
|
||||
the baseline recorded in `tests/baseline.md`. Ideal: no prime tower at all.
|
||||
2. The G-code preview shows purge extruded into the Flexi Cube, with mixed colours
|
||||
on its outer surface.
|
||||
3. The printed cube still moves. Colour-change purge must not fuse the joints or
|
||||
fill the clearances. This is the hard constraint and the likeliest failure.
|
||||
|
||||
## The core problem
|
||||
|
||||
Purge needed per layer depends on the colour changes on that layer. The cube has a
|
||||
fixed cross-section per layer. They won't match. Layers needing more purge than the
|
||||
cube can take, and layers needing less, both have to be handled. Any design that
|
||||
ignores this will look right in the preview and fail on the printer.
|
||||
|
||||
## Rules
|
||||
|
||||
- Smallest change that works. Do not rewrite the slicer.
|
||||
- Label every claim VERIFIED (you read the code or ran it) or UNVERIFIED. File paths
|
||||
in this document are guesses until an agent confirms them. A starting guess for the
|
||||
tower code is `src/libslic3r/GCode/WipeTower.cpp` and `WipeTower2.cpp`.
|
||||
- Metric units. No new dependencies without asking Fred.
|
||||
- Orca Slicer is AGPL-3.0. Keep upstream as a remote. Keep the licence intact.
|
||||
- Only touch this repo and the Orca fork. Never touch Fred's other workspace files.
|
||||
- Do not push to `main`. Do not push anywhere public. Fred decides when anything is
|
||||
published.
|
||||
- Never print without Fred present.
|
||||
|
||||
## Team protocol
|
||||
|
||||
- Each agent works in its own git worktree on `agent/<name>/<task>`.
|
||||
- Claim a task in `COORDINATION.md` before starting. Two agents never edit the same
|
||||
file at once. Claude merges.
|
||||
- Write findings to `recon/<name>-<topic>.md` with file paths and line numbers.
|
||||
- Put code changes in the Orca fork. Keep the resulting patches in `patches/`.
|
||||
|
||||
## Phases
|
||||
|
||||
**Phase 0 — Baseline (Claude).** Build Orca from source on this machine. Record the
|
||||
exact commands and build time in `tests/baseline.md`. Slice the reference model and
|
||||
record its Flushed and Tower totals there. Nothing proceeds until this works.
|
||||
|
||||
**Phase 1 — Recon, read-only.**
|
||||
- Codex: trace how the prime tower is generated layer by layer, and where the flush
|
||||
matrix and multiplier feed in.
|
||||
- Grok: trace the existing "flush into objects' infill / support / this object"
|
||||
feature. Where does purge get routed into an object, and what limits how much it
|
||||
absorbs?
|
||||
- Claude: inspect `assets/flexi cube.stl`. Report its volume per layer, joint
|
||||
clearances, and wall thickness. Then set out the options for reconciling purge
|
||||
volume with that cross-section, with effort and risk for each.
|
||||
|
||||
**STOP after Phase 1. Report to Fred. Write no code until Fred approves one option.**
|
||||
|
||||
## Options to evaluate (do not implement yet)
|
||||
|
||||
1. No code: use the existing flush-into-this-object feature with the cube as the
|
||||
target. Say whether it is enough on its own.
|
||||
2. Extend flush-into-this-object so the chosen object absorbs more, including onto
|
||||
its outer surface.
|
||||
3. Replace the tower geometry with the cube. Likely hardest.
|
||||
|
||||
For each: files touched, effort, and what breaks. Option 2 or 3 must say how the
|
||||
joints stay free.
|
||||
|
||||
## Reporting
|
||||
|
||||
Short and plain. Lead with the answer. If you are unsure, say so and say what would
|
||||
settle it. Fred has ADHD: no walls of text, no unrequested tangents.
|
||||
17
README.md
Normal file
17
README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# flush-fidget
|
||||
|
||||
Turn Orca Slicer's purge waste into a printed fidget. The target object is a
|
||||
print-in-place Flexi Cube, with random exterior colours welcome.
|
||||
|
||||
Agents: read `PROMPT.md` first.
|
||||
|
||||
```
|
||||
PROMPT.md shared prompt for every agent
|
||||
COORDINATION.md who is doing what right now
|
||||
assets/ flexi cube.stl and reference models
|
||||
recon/ read-only findings, one file per agent per topic
|
||||
patches/ changes to the Orca fork, as patch files
|
||||
tests/ baseline numbers and test slices
|
||||
```
|
||||
|
||||
The Orca Slicer fork is a separate repository.
|
||||
11
assets/README.md
Normal file
11
assets/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# assets
|
||||
|
||||
`flexi cube.stl` is not here yet. It lives on Fred's Omarchy machine at
|
||||
`/home/fred/Downloads/flexi+cube+3_stls/flexi cube.stl`. The folder name suggests
|
||||
three STLs, so confirm which one is meant.
|
||||
|
||||
Copy it in with:
|
||||
|
||||
scp "/home/fred/Downloads/flexi+cube+3_stls/flexi cube.stl" fred@10.0.10.12:/home/fred/workspace/projects/flush-fidget/assets/
|
||||
|
||||
Check the licence and source of the model before this repo is made public.
|
||||
0
patches/.gitkeep
Normal file
0
patches/.gitkeep
Normal file
0
recon/.gitkeep
Normal file
0
recon/.gitkeep
Normal file
23
tests/baseline.md
Normal file
23
tests/baseline.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Baseline
|
||||
|
||||
Re-slice the reference model with the current profile before any code changes, and
|
||||
fill this in. Phase 0 is not done until it is.
|
||||
|
||||
Reference slice (2026-10-04, Bambu P2S, 0.20mm High Quality, 4 filaments, tower on):
|
||||
|
||||
| | Model | Support | Flushed | Tower | Total |
|
||||
|---|---|---|---|---|---|
|
||||
| grams | 18.78 | 2.03 | 61.61 | 32.95 | 115.37 |
|
||||
|
||||
Waste (Flushed + Tower): 94.56 g. Filament changes: 392. Print time: 11h52m.
|
||||
|
||||
Flush volumes in that slice are unrecorded. Record the matrix and multiplier here
|
||||
for the new baseline.
|
||||
|
||||
| Item | Value |
|
||||
|---|---|
|
||||
| Orca build commit | |
|
||||
| Build time | |
|
||||
| Flush matrix and multiplier | |
|
||||
| Flushed (g) | |
|
||||
| Tower (g) | |
|
||||
Reference in New Issue
Block a user