Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3753b4fd05 | ||
|
|
b4b860f277 | ||
|
|
2df7f580aa | ||
|
|
6a244fb21c |
@@ -75,3 +75,17 @@ harness/experiments/source-alias-rename-native-20260912/** -text whitespace=cr-a
|
||||
harness/experiments/source-alias-rename-completed-20260912/** -text whitespace=cr-at-eol
|
||||
harness/experiments/source-alias-rename-refresh-20260912/** -text whitespace=cr-at-eol
|
||||
harness/experiments/source-alias-rename-native-closure-20260912/** -text whitespace=cr-at-eol
|
||||
# Preserve Text-workspace input, native and review evidence at its recorded bytes.
|
||||
harness/experiments/text-workspace-initial-20260913/** -text whitespace=cr-at-eol
|
||||
harness/experiments/text-workspace-initial-review-20260913/** -text whitespace=cr-at-eol
|
||||
harness/experiments/text-find-selection-20260913/** -text whitespace=cr-at-eol
|
||||
harness/experiments/text-workspace-native2-20260913/** -text whitespace=cr-at-eol
|
||||
harness/experiments/text-workspace-followup-review-20260913/** -text whitespace=cr-at-eol
|
||||
harness/experiments/text-workspace-native3-20260913/** -text whitespace=cr-at-eol
|
||||
# These checksum-bound baseline/expected fixtures deliberately end with blank lines.
|
||||
harness/experiments/text-workspace-native2-20260913/fixtures/**/*.arcadia whitespace=-blank-at-eof,cr-at-eol
|
||||
# Captured process streams retain intentional blank lines and diagnostic spacing.
|
||||
harness/experiments/text-find-selection-20260913/**/*.log -whitespace
|
||||
harness/experiments/text-workspace-initial-20260913/**/*.log -whitespace
|
||||
harness/experiments/text-workspace-native2-20260913/**/*.log -whitespace
|
||||
harness/experiments/text-workspace-native3-20260913/**/*.log -whitespace
|
||||
|
||||
@@ -35,26 +35,26 @@ Use Gitea for live coordination and the relevant code version for implementation
|
||||
|
||||
## Coordination and integration
|
||||
|
||||
All independent agents coordinating through Gitea run on completely separate machines, each with its own clone, filesystem, tools, processes, and runtime. Gitea and pushed Git history are the shared communication and delivery channels. Local files (including `harness`), unpushed commits, worktrees, test results, and localhost services are not accessible to peers. Matching branch names or paths do not imply synchronized contents.
|
||||
|
||||
1. On starting or resuming, including after compaction, inspect the working branch, local changes, applicable instructions, relevant shared records, and existing implementation. Recover context from authoritative records. Check for newer shared instructions on the actual remote default branch without overwriting local work. Read what is relevant; avoid repeated full-history scans and constant polling.
|
||||
2. Search before creating tasks. Claim a meaningful outcome in its Gitea issue with a stable session identity, scope, branch/worktree, and acceptance criteria. Keep small steps within that task. Recheck after claiming; comments are not atomic locks. Respect existing ownership and resolve overlapping claims before overlapping work.
|
||||
3. Independent sessions are peers. Each owns its contribution and delegated work. Record one integration/release owner when a milestone needs shared coordination. Use separate worktrees or checkouts, partition files/interfaces, and coordinate changes to shared specifications and documents.
|
||||
4. At meaningful checkpoints or handoffs, record changed results, commit/PR links, verification commands and environment, blockers, and next actions. Identify the tested code version and uncommitted or unpublished work; make required artifacts accessible to other sessions. Do not assume another agent is running or has read a message; silence alone does not establish abandonment. Record evidence and preserve existing work when reassigning a task.
|
||||
5. Follow project review and merge conventions. Inspect upstream changes, resolve conflicts while preserving others' edits, and verify the combined result. Do not overwrite others' work or force-push shared history to resolve coordination problems.
|
||||
2. Search before creating tasks. Claim a meaningful outcome in its Gitea issue with a stable session identity, scope, remote repository/branch, and acceptance criteria. Keep small steps within that task. Recheck after claiming; comments are not atomic locks. Respect existing ownership and resolve overlapping claims before overlapping work.
|
||||
3. Independent sessions are peers. Each owns its contribution and delegated work on its own machine. Record one integration/release owner when a milestone needs shared coordination. Use distinct remote work branches, partition files/interfaces, and coordinate changes to shared specifications and documents. Worktrees provide local isolation only; they do not share work between machines.
|
||||
4. At meaningful checkpoints or handoffs, record changed results, commit/PR links, verification commands and environment, blockers, and next actions. Identify the tested code version and label uncommitted or unpublished work as local-only. Before asking peers to consume results, push the required code and versioned documentation, including relevant `harness` updates; publish other required artifacts in Gitea and link them. Use repository-relative paths with commit references, reproducible commands, and necessary environment details; local paths and localhost URLs alone are not handoffs. Do not assume another agent is running or has read a message; silence alone does not establish abandonment. Record evidence and preserve existing work when reassigning a task.
|
||||
5. Follow project review and merge conventions. Fetch the relevant remote branches and inspect the identified commits before reviewing or integrating another machine's work. Resolve conflicts while preserving others' edits, and verify the combined result locally; report material environment differences. Local instruction-file edits reach peers only after publication and retrieval. Do not overwrite others' work or force-push shared history to resolve coordination problems.
|
||||
6. Close work when its acceptance criteria are met and the result is integrated or delivered as appropriate. Mark duplicates and superseded tasks explicitly with replacement links. Then choose further useful unowned work while the requested objective remains incomplete.
|
||||
|
||||
Use Gitea MCP for shared coordination. If unavailable, report the failure, buffer necessary handoff information locally, and continue already-owned or clearly non-overlapping work. Reconcile with current Gitea state when access returns; do not claim an ownership update, review, or publication succeeded without confirmation.
|
||||
|
||||
## Delegation and reasoning
|
||||
|
||||
Use GPT-6 Astra exclusively. Delegate bounded independent research, design, implementation, or review when it improves progress, judgment, or preserves the parent's context. Give subagents the relevant context, ownership boundaries, result format, and evidence requirements. Use fresh critics when practical. The parent owns synthesis and integration and normally consolidates results into Gitea. Choose concurrency according to useful independent work and available resources, including other sessions; there is no agent-count quota.
|
||||
Use GPT-6 Astra exclusively. Gitea peers are independent remote sessions, not subagents controlled by this session. Spawned subagents use the execution environment actually provided by the agent tools; do not assume they share files, and publish their results before Gitea peers need them. Delegate bounded independent research, design, implementation, or review when it improves progress, judgment, or preserves the parent's context. Give subagents the relevant context, ownership boundaries, result format, and evidence requirements. Use fresh critics when practical. The parent owns synthesis and integration and normally consolidates results into Gitea. Choose concurrency according to useful independent work and available resources, including other sessions; there is no agent-count quota.
|
||||
|
||||
Optimize reasoning effort for verified outcomes per cost, including review, retries, and repair:
|
||||
|
||||
Main agent: default to high for planning, synthesis, integration, and acceptance decisions; medium for dispatching a settled plan and routine coordination.
|
||||
|
||||
Subagents: default to medium for bounded implementation and targeted research; low for straightforward retrieval, mechanical edits, and running established checks; high for complex debugging, correctness review, adversarial analysis, or ambiguous design.
|
||||
|
||||
Use extra-high selectively for difficult foundational semantic, methodological, formal, or cross-domain decisions. Reserve max for exceptional unresolved problems where additional reasoning is likely to justify its cost. Retain higher settings when evidence supports their value.
|
||||
- Main agent: default to high for planning, synthesis, integration, and acceptance decisions; medium for dispatching a settled plan and routine coordination.
|
||||
- Subagents: default to medium for bounded implementation and targeted research; low for straightforward retrieval, mechanical edits, and running established checks; high for complex debugging, correctness review, adversarial analysis, or ambiguous design.
|
||||
- Use extra-high selectively for difficult foundational semantic, methodological, formal, or cross-domain decisions. Reserve max for exceptional unresolved problems where additional reasoning is likely to justify its cost. Retain higher settings when evidence supports their value.
|
||||
|
||||
Allocate by task difficulty and consequences, not role or length alone. Start higher when a clearly difficult decision has expensive downstream consequences. Escalate for concrete reasoning difficulties; resolve missing evidence or unclear requirements at their source. Set subagent effort explicitly through supported controls to avoid unintended inheritance. Do not claim an unapplied change or alter global configuration merely to enforce these preferences.
|
||||
|
||||
|
||||
+168
-56
@@ -9,6 +9,7 @@ mod hosted;
|
||||
mod review_navigation_tests;
|
||||
pub(crate) mod source_rename;
|
||||
mod source_symbols;
|
||||
pub(crate) mod text_workspace;
|
||||
#[cfg(test)]
|
||||
mod transition_context_tests;
|
||||
#[cfg(test)]
|
||||
@@ -415,8 +416,7 @@ pub enum Message {
|
||||
IncludesLoaded(u64, Result<DiskProject, String>),
|
||||
Lint(u64),
|
||||
Linted(u64, Result<Vec<SourceDiagnostic>, String>),
|
||||
SourceDiagnostic(usize),
|
||||
SourceRelated(SourceLocation),
|
||||
TextWorkspace(text_workspace::Event),
|
||||
SourceViewport(Option<Id>),
|
||||
SourceSymbols(
|
||||
crate::source_navigation::SymbolContext,
|
||||
@@ -503,6 +503,7 @@ pub struct App {
|
||||
pub source_navigation: crate::source_navigation::State,
|
||||
source_find_instance: Id,
|
||||
pub source_symbols: crate::source_navigation::SymbolState,
|
||||
pub text_workspace: text_workspace::State,
|
||||
pub source_rename: source_rename::State,
|
||||
pub model_issues: Vec<validation::Issue>,
|
||||
pub migration: Option<persistence::MigrationReport>,
|
||||
@@ -611,6 +612,7 @@ impl App {
|
||||
source_navigation: crate::source_navigation::State::default(),
|
||||
source_find_instance: Id::new_v4(),
|
||||
source_symbols: crate::source_navigation::SymbolState::default(),
|
||||
text_workspace: text_workspace::State::default(),
|
||||
source_rename: source_rename::State::default(),
|
||||
model_issues,
|
||||
migration: None,
|
||||
@@ -660,10 +662,35 @@ impl App {
|
||||
fn sync_source(&mut self) {
|
||||
self.sync_source_with_alias_editor(None);
|
||||
}
|
||||
fn publish_source_diagnostics(&mut self, diagnostics: Vec<SourceDiagnostic>) {
|
||||
self.source_diagnostics = diagnostics;
|
||||
self.text_workspace.publish_diagnostics(self.source_key());
|
||||
}
|
||||
/// A different source destination owns a new navigation/presentation session.
|
||||
/// Only diagnostics proven current before this identity-only change may be
|
||||
/// republished for it; stale source locations must not become fresh again.
|
||||
fn reset_source_navigation_session(&mut self) {
|
||||
let diagnostics_current = self
|
||||
.text_workspace
|
||||
.diagnostic_publication()
|
||||
.is_some_and(|publication| publication.source() == self.source_key());
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.clear_source_presentation();
|
||||
if diagnostics_current {
|
||||
self.publish_source_diagnostics(self.source_diagnostics.clone());
|
||||
}
|
||||
}
|
||||
fn clear_source_presentation(&mut self) {
|
||||
let in_flight = self.source_symbols.in_flight;
|
||||
self.source_symbols = crate::source_navigation::SymbolState::default();
|
||||
self.source_symbols.in_flight = in_flight;
|
||||
self.source_jump = None;
|
||||
self.text_workspace.reset();
|
||||
}
|
||||
fn sync_source_with_alias_editor(&mut self, hint: Option<source_rename::EditorRefresh<'_>>) {
|
||||
self.source_workspace.accept(self.document.bundle());
|
||||
self.show_source_file_with_alias_editor(false, hint);
|
||||
self.source_diagnostics = self.document.compiled().diagnostics.clone();
|
||||
self.publish_source_diagnostics(self.document.compiled().diagnostics.clone());
|
||||
self.source_version += 1;
|
||||
self.lint_requested = None;
|
||||
}
|
||||
@@ -804,7 +831,7 @@ impl App {
|
||||
}
|
||||
}
|
||||
Err(issues) => {
|
||||
self.source_diagnostics = issues;
|
||||
self.publish_source_diagnostics(issues);
|
||||
self.status = "Source contains errors. Your draft is preserved.".into();
|
||||
self.page = Page::Text;
|
||||
false
|
||||
@@ -959,6 +986,7 @@ impl App {
|
||||
let lint_running = self.lint_running;
|
||||
let navigation_in_flight = self.source_symbols.in_flight;
|
||||
let rename_in_flight = self.source_rename.in_flight;
|
||||
let menu_sequence = self.menu_sequence;
|
||||
let guide = std::mem::take(&mut self.guide);
|
||||
let mut hosted = std::mem::take(&mut self.hosted);
|
||||
hosted.leave_document();
|
||||
@@ -972,6 +1000,7 @@ impl App {
|
||||
self.lint_running = lint_running;
|
||||
self.source_symbols.in_flight = navigation_in_flight;
|
||||
self.source_rename.in_flight = rename_in_flight;
|
||||
self.menu_sequence = menu_sequence;
|
||||
self.guide = guide;
|
||||
self.path = path;
|
||||
self.status = "Project ready".into();
|
||||
@@ -1069,7 +1098,7 @@ impl App {
|
||||
pub fn view(&self) -> Element<'_, Message> {
|
||||
let base = crate::context_menu::Popup::new(
|
||||
crate::views::view(self),
|
||||
crate::model_menu::popup(self),
|
||||
crate::model_menu::popup(self).or_else(|| self.text_workspace_menu()),
|
||||
)
|
||||
.into();
|
||||
crate::source_navigation::interaction::observe(
|
||||
@@ -1086,13 +1115,14 @@ impl App {
|
||||
// Use one captured-Escape bridge: a focused Find input consumes
|
||||
// Escape, while modal priority remains in the ordinary handler.
|
||||
behavior::creation::subscription(
|
||||
self.behavior.creation.has_pending()
|
||||
|| self.behavior.source_active()
|
||||
|| (self.page == Page::Text
|
||||
&& (self.source_symbols.open
|
||||
|| self.source_navigation.open
|
||||
|| self.source_rename.open())
|
||||
&& self.architecture.is_none()),
|
||||
self.text_workspace.menu().is_none()
|
||||
&& (self.behavior.creation.has_pending()
|
||||
|| self.behavior.source_active()
|
||||
|| (self.page == Page::Text
|
||||
&& (self.text_workspace.drawer().is_some()
|
||||
|| self.source_navigation.open
|
||||
|| self.source_rename.open())
|
||||
&& self.architecture.is_none())),
|
||||
)
|
||||
.map(|()| Message::Escape),
|
||||
iced::event::listen_with(|event, status, _| {
|
||||
@@ -1139,6 +1169,11 @@ impl App {
|
||||
])
|
||||
}
|
||||
pub fn update(&mut self, message: Message) -> Task<Message> {
|
||||
// Captured Text commands validate their origin before they can
|
||||
// invalidate that same origin or pass into existing command handlers.
|
||||
if let Message::TextWorkspace(event) = message {
|
||||
return self.text_workspace_event(event);
|
||||
}
|
||||
if let Message::SourceRename(event) = &message
|
||||
&& !self.source_rename_envelope(event)
|
||||
{
|
||||
@@ -1167,6 +1202,24 @@ impl App {
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
// Retaining result data does not retain authority for an old row click.
|
||||
if let Message::SourceSymbols(
|
||||
_,
|
||||
crate::source_navigation::SymbolEvent::Choose { stamp, visit, .. },
|
||||
) = &message
|
||||
&& (self.text_workspace.drawer() != Some(text_workspace::DrawerTab::References)
|
||||
|| !self.source_navigation_available()
|
||||
|| stamp.snapshot != self.source_key()
|
||||
|| *visit != self.text_workspace.drawer_visit()
|
||||
|| self
|
||||
.source_symbols
|
||||
.results
|
||||
.as_ref()
|
||||
.is_none_or(|results| results.stamp != *stamp))
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
|
||||
// Internal results and geometry do not constitute a new user intent.
|
||||
// Process query completion even behind a modal to release its worker slot;
|
||||
// its handler independently refuses navigation outside the live editor.
|
||||
@@ -1176,6 +1229,38 @@ impl App {
|
||||
if let Message::SourceRenameReady(completion) = message {
|
||||
return self.source_rename_ready(completion);
|
||||
}
|
||||
if self.text_workspace.menu().is_some() {
|
||||
if matches!(
|
||||
message,
|
||||
Message::Escape | Message::Request(Pending::Close(_))
|
||||
) {
|
||||
self.text_workspace.dismiss_menu();
|
||||
self.source_interaction();
|
||||
return Task::none();
|
||||
}
|
||||
// Global subscriptions can receive captured keyboard input.
|
||||
// A Text menu owns those commands while passive work can finish.
|
||||
if !matches!(
|
||||
message,
|
||||
Message::CheckpointWritten(..)
|
||||
| Message::CheckpointLoaded(..)
|
||||
| Message::CheckpointTick
|
||||
| Message::WindowResized(_)
|
||||
| Message::CanvasResized(_)
|
||||
| Message::SourceViewport(_)
|
||||
| Message::Lint(_)
|
||||
| Message::Linted(..)
|
||||
| Message::Saved(_)
|
||||
| Message::Hosted(crate::hosted::Event::Completed(..))
|
||||
| Message::Loaded(_)
|
||||
| Message::IncludesLoaded(..)
|
||||
| Message::SavePath(_)
|
||||
| Message::SourceRecovered(_)
|
||||
| Message::Exported(_)
|
||||
) {
|
||||
return Task::none();
|
||||
}
|
||||
}
|
||||
if !matches!(
|
||||
&message,
|
||||
Message::CheckpointTick
|
||||
@@ -1852,11 +1937,11 @@ impl App {
|
||||
// Validate the originating canvas before advancing its input
|
||||
// epoch. Actions are then generated with the refreshed context,
|
||||
// while pointer history hidden behind the menu becomes stale.
|
||||
let Some(opened) = crate::model_menu::Opened::new(
|
||||
self,
|
||||
request,
|
||||
self.menu_sequence.wrapping_add(1),
|
||||
) else {
|
||||
let Some(token) = self.menu_sequence.checked_add(1) else {
|
||||
self.status = "Reopen the application to start a new menu session.".into();
|
||||
return Task::none();
|
||||
};
|
||||
let Some(opened) = crate::model_menu::Opened::new(self, request, token) else {
|
||||
return Task::none();
|
||||
};
|
||||
self.connection = None;
|
||||
@@ -1910,7 +1995,8 @@ impl App {
|
||||
}
|
||||
Message::Escape => {
|
||||
let restore_source_focus = self.source_navigation_available()
|
||||
&& (self.source_navigation.open || self.source_symbols.open);
|
||||
&& (self.source_navigation.open || self.text_workspace.drawer().is_some());
|
||||
let dismiss_find_only = restore_source_focus && self.source_navigation.open;
|
||||
if self.behavior.source_back() {
|
||||
self.status =
|
||||
"Returned to the unchanged parent form; no source was created.".into();
|
||||
@@ -1927,9 +2013,11 @@ impl App {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
}
|
||||
self.source_navigation.open = false;
|
||||
self.source_symbols.open = false;
|
||||
self.source_symbols.results = None;
|
||||
self.source_symbols.notice = None;
|
||||
// Popup/modal priority was handled above. In the available Text
|
||||
// workspace, one Escape dismisses Find before the drawer beneath it.
|
||||
if !dismiss_find_only {
|
||||
self.text_workspace.show_drawer(None);
|
||||
}
|
||||
if restore_source_focus {
|
||||
self.restore_source_editor_focus();
|
||||
}
|
||||
@@ -2907,7 +2995,7 @@ impl App {
|
||||
.edit(after.clone(), self.source_editor.cursor());
|
||||
self.source_snapshot = Arc::from(after);
|
||||
self.source_version += 1;
|
||||
self.source_diagnostics.clear();
|
||||
self.publish_source_diagnostics(Vec::new());
|
||||
let version = self.source_version;
|
||||
return Task::perform(
|
||||
async move {
|
||||
@@ -2919,10 +3007,12 @@ impl App {
|
||||
}
|
||||
}
|
||||
Message::SourceFile(path) => {
|
||||
if self
|
||||
.source_workspace
|
||||
.switch(&path, self.source_editor.cursor())
|
||||
if path != self.source_workspace.active
|
||||
&& self.source_workspace.files.contains_key(&path)
|
||||
{
|
||||
let departure =
|
||||
crate::source_navigation::selection::capture(&mut self.source_editor);
|
||||
self.source_workspace.switch(&path, departure);
|
||||
self.show_source_file(true);
|
||||
}
|
||||
}
|
||||
@@ -2970,8 +3060,13 @@ impl App {
|
||||
}
|
||||
self.invalidate_source_rename("Disk recovery changed this source context. Your replacement is retained; close and invoke Rename again.");
|
||||
self.pending_recovery = None;
|
||||
self.source_diagnostics
|
||||
.retain(|issue| issue.diagnostic.code != "pending_save");
|
||||
let diagnostics = self
|
||||
.source_diagnostics
|
||||
.iter()
|
||||
.filter(|issue| issue.diagnostic.code != "pending_save")
|
||||
.cloned()
|
||||
.collect();
|
||||
self.publish_source_diagnostics(diagnostics);
|
||||
match receipt.disk {
|
||||
Ok(disk) if !self.source_workspace.applied => {
|
||||
self.open_source_project(disk)
|
||||
@@ -2983,7 +3078,7 @@ impl App {
|
||||
|| self.path.as_ref() == Some(&receipt.target)
|
||||
{
|
||||
if self.path.as_ref() != Some(&receipt.target) {
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.reset_source_navigation_session();
|
||||
}
|
||||
self.path = Some(receipt.target);
|
||||
self.document.bind_repair_baseline(disk.reachable_bundle());
|
||||
@@ -3017,7 +3112,7 @@ impl App {
|
||||
self.source_workspace
|
||||
.discovered(&disk.bundle, disk.reachable.clone());
|
||||
self.source_version += 1;
|
||||
self.source_diagnostics = disk.diagnostics.clone();
|
||||
self.publish_source_diagnostics(disk.diagnostics.clone());
|
||||
self.disk_project = Some(disk);
|
||||
self.status = "Included files loaded; existing drafts retained.".into();
|
||||
return self.request_lint();
|
||||
@@ -3038,21 +3133,13 @@ impl App {
|
||||
self.lint_running = None;
|
||||
if version == self.source_version {
|
||||
match result {
|
||||
Ok(diagnostics) => self.source_diagnostics = diagnostics,
|
||||
Ok(diagnostics) => self.publish_source_diagnostics(diagnostics),
|
||||
Err(error) => self.status = format!("Source checks failed: {error}"),
|
||||
}
|
||||
}
|
||||
return self.start_pending_lint();
|
||||
}
|
||||
Message::SourceDiagnostic(index) => {
|
||||
if let Some(issue) = self.source_diagnostics.get(index) {
|
||||
self.jump_to_source(SourceLocation {
|
||||
path: issue.path.clone(),
|
||||
span: issue.diagnostic.span,
|
||||
});
|
||||
}
|
||||
}
|
||||
Message::SourceRelated(location) => self.jump_to_source(location),
|
||||
Message::TextWorkspace(_) => return Task::none(), // checked before generic input
|
||||
Message::SourceViewport(ticket) => return self.source_viewport(ticket),
|
||||
Message::SourceFindClose(..) => return Task::none(), // update checks and unwraps it
|
||||
Message::SourceSymbols(_, event) => return self.source_symbol_event(event),
|
||||
@@ -3076,7 +3163,7 @@ impl App {
|
||||
if self.source_workspace.undo(redo) {
|
||||
self.show_source_file(true);
|
||||
self.source_version += 1;
|
||||
self.source_diagnostics.clear();
|
||||
self.publish_source_diagnostics(Vec::new());
|
||||
return self.request_lint();
|
||||
}
|
||||
}
|
||||
@@ -3224,7 +3311,7 @@ impl App {
|
||||
self.sync_source();
|
||||
}
|
||||
if self.path.as_ref() != Some(&receipt.path) {
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.reset_source_navigation_session();
|
||||
}
|
||||
self.disk_project = Some(disk);
|
||||
self.path = Some(receipt.path);
|
||||
@@ -3766,7 +3853,7 @@ impl App {
|
||||
self.source_workspace
|
||||
.discovered(&disk.bundle, disk.reachable.clone());
|
||||
self.show_source_file(false);
|
||||
self.source_diagnostics = self.document.compiled().diagnostics.clone();
|
||||
self.publish_source_diagnostics(self.document.compiled().diagnostics.clone());
|
||||
self.migration = self.document.compiled().decoded.migration.clone();
|
||||
if self.migration.is_some() {
|
||||
self.status = "Imported earlier source schema. Review Model checks; Save all explicitly writes the upgraded source while retaining comments and includes.".into();
|
||||
@@ -3786,9 +3873,10 @@ impl App {
|
||||
self.path = Some(path);
|
||||
self.document.bind_repair_baseline(disk.reachable_bundle());
|
||||
self.source_workspace = Workspace::new(&disk.bundle, false);
|
||||
self.clear_source_presentation();
|
||||
self.source_workspace.set_reachable(disk.reachable.clone());
|
||||
self.show_source_file(false);
|
||||
self.source_diagnostics = error.diagnostics().to_vec();
|
||||
self.publish_source_diagnostics(error.diagnostics().to_vec());
|
||||
self.source_version += 1;
|
||||
self.lint_requested = None;
|
||||
self.page = Page::Text;
|
||||
@@ -3818,17 +3906,14 @@ impl App {
|
||||
}
|
||||
|
||||
fn jump_to_source(&mut self, location: SourceLocation) {
|
||||
self.source_workspace
|
||||
.switch(&location.path, self.source_editor.cursor());
|
||||
if self.source_workspace.active != location.path {
|
||||
let Some(target) = self.source_workspace.files.get(&location.path) else {
|
||||
self.status = format!(
|
||||
"{} has not been loaded. Use Load includes or create the missing file.",
|
||||
location.path
|
||||
);
|
||||
return;
|
||||
}
|
||||
self.show_source_file(false);
|
||||
let source = self.source_workspace.text();
|
||||
};
|
||||
let source = &target.text;
|
||||
let mut offset = location.span.start.min(source.len());
|
||||
while !source.is_char_boundary(offset) {
|
||||
offset -= 1;
|
||||
@@ -3838,6 +3923,9 @@ impl App {
|
||||
let column = prefix
|
||||
.rfind('\n')
|
||||
.map_or(offset, |start| offset - start - 1);
|
||||
let departure = crate::source_navigation::selection::capture(&mut self.source_editor);
|
||||
self.source_workspace.switch(&location.path, departure);
|
||||
self.show_source_file(false);
|
||||
self.queue_source_reveal(
|
||||
text_editor::Cursor {
|
||||
position: text_editor::Position { line, column },
|
||||
@@ -3864,6 +3952,7 @@ impl App {
|
||||
.is_ok_and(|includes| includes.iter().any(|include| include.target == path))
|
||||
});
|
||||
let mut changed = bundle.clone();
|
||||
let mut changed_entry = None;
|
||||
if !already_included {
|
||||
if self.source_dirty() {
|
||||
return Err(
|
||||
@@ -3883,16 +3972,30 @@ impl App {
|
||||
serde_json::to_string(&path).map_err(|e| e.to_string())?
|
||||
),
|
||||
);
|
||||
self.source_workspace
|
||||
.switch(&bundle.entry, self.source_editor.cursor());
|
||||
self.source_workspace
|
||||
.edit(entry.clone(), self.source_editor.cursor());
|
||||
changed_entry = Some(entry.clone());
|
||||
}
|
||||
// All fallible preparation is complete. The intermediate entry buffer
|
||||
// is not displayed, so it must not receive the outgoing editor's cursor.
|
||||
let original_path = self.source_workspace.active.clone();
|
||||
let departure = crate::source_navigation::selection::capture(&mut self.source_editor);
|
||||
if let Some(entry) = changed_entry {
|
||||
self.source_workspace.switch(&bundle.entry, departure);
|
||||
let cursor = if self.source_workspace.active == original_path {
|
||||
departure
|
||||
} else {
|
||||
self.source_workspace.files[&self.source_workspace.active].cursor
|
||||
};
|
||||
self.source_workspace.edit(entry, cursor);
|
||||
}
|
||||
changed.files.insert(path.clone(), String::new());
|
||||
self.source_workspace
|
||||
.discovered(&changed, changed.files.keys().cloned().collect());
|
||||
self.source_workspace
|
||||
.switch(&path, self.source_editor.cursor());
|
||||
let cursor = if self.source_workspace.active == original_path {
|
||||
departure
|
||||
} else {
|
||||
self.source_workspace.files[&self.source_workspace.active].cursor
|
||||
};
|
||||
self.source_workspace.switch(&path, cursor);
|
||||
self.source_workspace.new_path.clear();
|
||||
self.show_source_file(true);
|
||||
self.source_version += 1;
|
||||
@@ -4838,7 +4941,16 @@ mod source_project_tests {
|
||||
assert_eq!(app.project(), &project);
|
||||
assert!(!app.apply_source());
|
||||
assert_eq!(app.source_diagnostics[0].path, fragment);
|
||||
send(&mut app, Message::SourceDiagnostic(0));
|
||||
send(&mut app, Message::Page(Page::Text));
|
||||
let _ = app.show_text_drawer(Some(text_workspace::DrawerTab::Problems));
|
||||
let issue = &app.source_diagnostics[0];
|
||||
let message = app
|
||||
.text_diagnostic_message(SourceLocation {
|
||||
path: issue.path.clone(),
|
||||
span: issue.diagnostic.span,
|
||||
})
|
||||
.unwrap();
|
||||
send(&mut app, message);
|
||||
assert_eq!(app.source_workspace.active, fragment);
|
||||
assert_eq!(app.source_editor.text(), "? invalid source");
|
||||
send(&mut app, Message::RevertSource);
|
||||
|
||||
@@ -219,7 +219,7 @@ impl App {
|
||||
|| session.connection.base() != request.connection.base()
|
||||
})
|
||||
{
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.reset_source_navigation_session();
|
||||
}
|
||||
self.hosted.session = Some(Session {
|
||||
connection: request.connection.clone(),
|
||||
@@ -359,7 +359,7 @@ impl App {
|
||||
|| session.connection.base() != connection.base()
|
||||
})
|
||||
{
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.reset_source_navigation_session();
|
||||
}
|
||||
self.hosted.session = Some(Session {
|
||||
connection,
|
||||
|
||||
@@ -200,7 +200,7 @@ impl App {
|
||||
}
|
||||
}
|
||||
|
||||
fn rename_admission(&self) -> Result<(), String> {
|
||||
pub(super) fn rename_admission(&self) -> Result<(), String> {
|
||||
if self.page != Page::Text
|
||||
|| self.busy
|
||||
|| self.pending.is_some()
|
||||
|
||||
@@ -284,7 +284,7 @@ fn alias_editor_sync_fallback_restores_accepted_display_and_preserves_model_hist
|
||||
assert_ne!(app.source_navigation.label(), "0 matches");
|
||||
let mut invalid = original_source.clone();
|
||||
invalid.files.insert(path.clone(), "?".into());
|
||||
app.source_diagnostics = source_workspace::lint(&invalid);
|
||||
app.publish_source_diagnostics(source_workspace::lint(&invalid));
|
||||
assert!(!app.source_diagnostics.is_empty());
|
||||
let version = app.source_version;
|
||||
app.lint_requested = Some(version);
|
||||
@@ -824,7 +824,8 @@ fn actual_captured_escape_closes_only_its_priority_owner_and_retains_worker() {
|
||||
send(&mut app, Message::SourceRenameReady(ready.clone()));
|
||||
}
|
||||
app.source_navigation.open = true;
|
||||
app.source_symbols.open = true;
|
||||
app.text_workspace
|
||||
.show_drawer(Some(crate::app::text_workspace::DrawerTab::References));
|
||||
match other_modal {
|
||||
1 => app.hosted.visible = true,
|
||||
2 => {
|
||||
@@ -849,7 +850,7 @@ fn actual_captured_escape_closes_only_its_priority_owner_and_retains_worker() {
|
||||
}
|
||||
assert!(!app.source_rename.open());
|
||||
assert!(
|
||||
app.source_symbols.open && app.source_navigation.open,
|
||||
app.text_workspace.drawer().is_some() && app.source_navigation.open,
|
||||
"rename Escape does not fall through"
|
||||
);
|
||||
if pending {
|
||||
@@ -858,7 +859,7 @@ fn actual_captured_escape_closes_only_its_priority_owner_and_retains_worker() {
|
||||
assert!(!app.source_rename.open());
|
||||
}
|
||||
assert_eq!(evidence(&app), before);
|
||||
app.source_symbols.open = false;
|
||||
app.text_workspace.show_drawer(None);
|
||||
app.source_navigation.open = false;
|
||||
assert!(captured_escape(&app).is_empty());
|
||||
}
|
||||
|
||||
@@ -98,6 +98,7 @@ impl App {
|
||||
&& self.workflow.is_none()
|
||||
&& !self.hosted.visible
|
||||
&& self.model_menu.is_none()
|
||||
&& self.text_workspace.menu().is_none()
|
||||
&& self.architecture.is_none()
|
||||
&& !self.behavior.has_pending()
|
||||
}
|
||||
@@ -113,6 +114,12 @@ impl App {
|
||||
))
|
||||
}
|
||||
|
||||
/// The reviewed diagram-query union is not integrated into this source yet.
|
||||
/// Its eventual adapter must return the peer's captured chooser message.
|
||||
pub(super) fn text_diagram_usages_message(&self) -> Option<Message> {
|
||||
None
|
||||
}
|
||||
|
||||
pub fn source_reveal_ticket(&self) -> Option<Id> {
|
||||
self.source_symbols
|
||||
.reveal
|
||||
@@ -145,6 +152,10 @@ impl App {
|
||||
&& nav::exact_cursor(self.source_workspace.text(), cursor)
|
||||
{
|
||||
self.queue_source_reveal(cursor, false);
|
||||
// This ticket restores focus to the live editor, not a saved cursor.
|
||||
// Iced's Cursor omits Word/Line selection kind; moving back to that
|
||||
// lossy value would collapse an actual word/line selection.
|
||||
self.source_jump = None;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,13 +185,14 @@ impl App {
|
||||
if self.source_select_line && cursor.selection.is_none() {
|
||||
self.source_editor.perform(text_editor::Action::SelectLine);
|
||||
}
|
||||
return nav::interaction::guarded_focus(
|
||||
self.source_editor_id(),
|
||||
self.source_symbols.raw_interaction.clone(),
|
||||
raw_interaction,
|
||||
);
|
||||
}
|
||||
Task::none()
|
||||
// A valid ticket with no jump is focus-only. All intentional navigation
|
||||
// still takes the cursor branch above, including explicit line selection.
|
||||
nav::interaction::guarded_focus(
|
||||
self.source_editor_id(),
|
||||
self.source_symbols.raw_interaction.clone(),
|
||||
raw_interaction,
|
||||
)
|
||||
}
|
||||
|
||||
pub(super) fn source_symbol_event(&mut self, event: nav::SymbolEvent) -> Task<Message> {
|
||||
@@ -189,20 +201,30 @@ impl App {
|
||||
}
|
||||
match event {
|
||||
nav::SymbolEvent::Close => {
|
||||
self.source_symbols.open = false;
|
||||
self.source_symbols.results = None;
|
||||
self.source_symbols.notice = None;
|
||||
return self.show_text_drawer(None);
|
||||
}
|
||||
nav::SymbolEvent::Back => {
|
||||
self.source_symbol_back();
|
||||
// A successful Back needs no empty results panel. Retain an
|
||||
// already open panel, or reveal an actionable return notice.
|
||||
self.source_symbols.open |= self.source_symbols.notice.is_some();
|
||||
if self.source_symbols.notice.is_some() {
|
||||
self.text_workspace
|
||||
.show_drawer(Some(text_workspace::DrawerTab::References));
|
||||
let refs = self.text_workspace.references();
|
||||
return iced::widget::operation::scroll_to(
|
||||
self.text_workspace.reference_scroll_id(),
|
||||
iced::widget::scrollable::AbsoluteOffset {
|
||||
x: 0.,
|
||||
y: refs.scroll_y(),
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
nav::SymbolEvent::Choose {
|
||||
stamp,
|
||||
reference,
|
||||
index,
|
||||
..
|
||||
} => {
|
||||
let Some(results) = self.source_symbols.results.clone() else {
|
||||
return Task::none();
|
||||
@@ -240,7 +262,8 @@ impl App {
|
||||
}
|
||||
|
||||
fn start_source_query(&mut self, action: query::Action) -> Task<Message> {
|
||||
self.source_symbols.open = true;
|
||||
self.text_workspace
|
||||
.show_drawer(Some(text_workspace::DrawerTab::References));
|
||||
if !nav::interaction::is_current(
|
||||
&self.source_symbols.raw_interaction,
|
||||
self.source_symbols.raw_interaction.load(Ordering::SeqCst),
|
||||
@@ -261,7 +284,7 @@ impl App {
|
||||
self.source_symbols.serial = match self.source_symbols.serial.checked_add(1) {
|
||||
Some(serial) => serial,
|
||||
None => {
|
||||
self.source_workspace.reset_navigation_session();
|
||||
self.reset_source_navigation_session();
|
||||
self.source_symbols.back.clear();
|
||||
self.source_symbols.cache = None;
|
||||
0
|
||||
@@ -301,9 +324,12 @@ impl App {
|
||||
};
|
||||
self.source_symbols.in_flight = Some(request.job);
|
||||
self.source_symbols.request = Some(request.clone());
|
||||
self.source_symbols.display_request = Some(request.clone());
|
||||
self.text_workspace
|
||||
.begin_references(request.stamp, request.path.clone());
|
||||
self.source_symbols.results = None;
|
||||
self.source_symbols.notice = None;
|
||||
Task::perform(
|
||||
let worker = Task::perform(
|
||||
async move {
|
||||
let worker_request = request.clone();
|
||||
let result = tokio::task::spawn_blocking(move || {
|
||||
@@ -334,7 +360,14 @@ impl App {
|
||||
nav::Completion { request, result }
|
||||
},
|
||||
Message::SourceSymbolsReady,
|
||||
)
|
||||
);
|
||||
Task::batch([
|
||||
worker,
|
||||
iced::widget::operation::scroll_to(
|
||||
self.text_workspace.reference_scroll_id(),
|
||||
iced::widget::scrollable::AbsoluteOffset { x: 0., y: 0. },
|
||||
),
|
||||
])
|
||||
}
|
||||
|
||||
pub(super) fn source_symbols_ready(&mut self, completion: nav::Completion) -> Task<Message> {
|
||||
@@ -343,11 +376,11 @@ impl App {
|
||||
return Task::none();
|
||||
}
|
||||
self.source_symbols.in_flight = None;
|
||||
let wanted = self
|
||||
let wanted_navigation = self
|
||||
.source_symbols
|
||||
.request
|
||||
.take()
|
||||
.is_some_and(|current| current.job == request.job)
|
||||
.is_some_and(|current| current == request)
|
||||
&& request.interaction == self.source_symbols.interaction
|
||||
&& request.stamp.snapshot == self.source_key()
|
||||
&& nav::interaction::is_current(
|
||||
@@ -357,14 +390,33 @@ impl App {
|
||||
&& request.path == self.source_workspace.active
|
||||
&& request.cursor == self.source_editor.cursor()
|
||||
&& self.source_navigation_available();
|
||||
if !wanted {
|
||||
let wanted_display = self
|
||||
.source_symbols
|
||||
.display_request
|
||||
.as_ref()
|
||||
.is_some_and(|current| current == &request)
|
||||
&& request.stamp.snapshot == self.source_key();
|
||||
if !wanted_display {
|
||||
return Task::none();
|
||||
}
|
||||
match completion.result {
|
||||
Ok((snapshot, results)) if self.source_snapshot_matches(&snapshot) => {
|
||||
Ok((snapshot, results))
|
||||
if self.source_snapshot_matches(&snapshot)
|
||||
&& results.stamp == request.stamp
|
||||
&& results.action == request.action =>
|
||||
{
|
||||
self.source_symbols.cache = Some(snapshot);
|
||||
self.source_symbols.results = Some(results.clone());
|
||||
if results.disposition == query::Disposition::Direct
|
||||
self.text_workspace.install_reference_files(
|
||||
results.stamp,
|
||||
results
|
||||
.definitions
|
||||
.iter()
|
||||
.map(|row| row.path.clone())
|
||||
.chain(results.references.iter().map(|row| row.path.clone())),
|
||||
);
|
||||
if wanted_navigation
|
||||
&& results.disposition == query::Disposition::Direct
|
||||
&& let Some(row) = results.definitions.first()
|
||||
{
|
||||
self.source_symbol_jump(&row.path, row.position, row.end_position);
|
||||
@@ -399,6 +451,9 @@ impl App {
|
||||
Some("That source location is no longer available. Run navigation again.".into());
|
||||
return;
|
||||
}
|
||||
// The destination is admitted. Capture effective Word/Line ranges only
|
||||
// now, when this editor is actually about to leave its current position.
|
||||
let departure = nav::selection::capture(&mut self.source_editor);
|
||||
if let Some(buffer) = self
|
||||
.source_workspace
|
||||
.files
|
||||
@@ -408,7 +463,7 @@ impl App {
|
||||
session: self.source_workspace.session(),
|
||||
path: self.source_workspace.active.clone(),
|
||||
generation: buffer.generation(),
|
||||
cursor: self.source_editor.cursor(),
|
||||
cursor: departure,
|
||||
};
|
||||
self.source_symbols
|
||||
.back
|
||||
@@ -418,8 +473,7 @@ impl App {
|
||||
}
|
||||
self.source_symbols.back.push(origin);
|
||||
}
|
||||
self.source_workspace
|
||||
.switch(path, self.source_editor.cursor());
|
||||
self.source_workspace.switch(path, departure);
|
||||
self.show_source_file(false);
|
||||
self.queue_source_reveal(cursor, false);
|
||||
}
|
||||
@@ -434,7 +488,7 @@ impl App {
|
||||
return;
|
||||
};
|
||||
let unchanged = origin.generation == buffer.generation();
|
||||
let cursor = if unchanged {
|
||||
let mut cursor = if unchanged {
|
||||
origin.cursor
|
||||
} else if origin.path == self.source_workspace.active {
|
||||
self.source_editor.cursor()
|
||||
@@ -448,8 +502,11 @@ impl App {
|
||||
);
|
||||
return;
|
||||
}
|
||||
self.source_workspace
|
||||
.switch(&origin.path, self.source_editor.cursor());
|
||||
let departure = nav::selection::capture(&mut self.source_editor);
|
||||
if !unchanged && origin.path == self.source_workspace.active {
|
||||
cursor = departure;
|
||||
}
|
||||
self.source_workspace.switch(&origin.path, departure);
|
||||
self.show_source_file(false);
|
||||
self.queue_source_reveal(cursor, false);
|
||||
self.source_symbols.notice =
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,628 @@
|
||||
//! Text-only presentation and captured command envelopes. Source/model authority
|
||||
//! remains in the existing App controllers; dispatch this envelope before the
|
||||
//! generic source_interaction invalidation in App::update.
|
||||
use super::{App, Message};
|
||||
use crate::{context_menu, source_navigation as nav};
|
||||
use iced::{
|
||||
Point, Task,
|
||||
widget::{self, text_editor::Cursor},
|
||||
};
|
||||
use nav::query::{QueryStamp, SnapshotKey};
|
||||
use oa_core::{Id, source_project::SourceLocation};
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum DrawerTab {
|
||||
References,
|
||||
Problems,
|
||||
Status,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum Command {
|
||||
Find,
|
||||
GoToLine,
|
||||
Definition,
|
||||
References,
|
||||
RenameAlias,
|
||||
Back,
|
||||
UndoText,
|
||||
RedoText,
|
||||
UndoModel,
|
||||
RedoModel,
|
||||
UndoRename,
|
||||
RevertFile,
|
||||
ShowProblems,
|
||||
ShowStatus,
|
||||
ShowDiagramUsages,
|
||||
}
|
||||
impl Command {
|
||||
fn shortcut(self) -> Option<&'static str> {
|
||||
match self {
|
||||
Self::Find => Some("Ctrl F"),
|
||||
Self::GoToLine => Some("Ctrl G"),
|
||||
Self::Definition => Some("F12"),
|
||||
Self::References => Some("Shift F12"),
|
||||
Self::RenameAlias => Some("F2"),
|
||||
Self::Back => Some("Alt ←"),
|
||||
Self::UndoText => Some("Ctrl Z"),
|
||||
Self::RedoText => Some("Ctrl Y"),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
fn label(self) -> &'static str {
|
||||
match self {
|
||||
Self::Find => "Find in file",
|
||||
Self::GoToLine => "Go to line",
|
||||
Self::Definition => "Go to definition",
|
||||
Self::References => "Find references",
|
||||
Self::RenameAlias => "Rename source alias",
|
||||
Self::Back => "Back in source",
|
||||
Self::UndoText => "Undo text edit",
|
||||
Self::RedoText => "Redo text edit",
|
||||
Self::UndoModel => "Undo model change",
|
||||
Self::RedoModel => "Redo model change",
|
||||
Self::UndoRename => "Undo source rename",
|
||||
Self::RevertFile => "Revert current file",
|
||||
Self::ShowProblems => "Source problems",
|
||||
Self::ShowStatus => "Source status",
|
||||
Self::ShowDiagramUsages => "Show diagram usages",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub struct CommandContext {
|
||||
document: Id,
|
||||
document_revision: u64,
|
||||
source: SnapshotKey,
|
||||
path: String,
|
||||
cursor: Cursor,
|
||||
interaction: Id,
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct CommandRequest {
|
||||
context: CommandContext,
|
||||
command: Command,
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct MenuRequest {
|
||||
context: CommandContext,
|
||||
anchor: Point,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub struct DiagnosticPublication {
|
||||
generation: Id,
|
||||
source: SnapshotKey,
|
||||
}
|
||||
impl DiagnosticPublication {
|
||||
pub fn generation(self) -> Id {
|
||||
self.generation
|
||||
}
|
||||
pub fn source(self) -> SnapshotKey {
|
||||
self.source
|
||||
}
|
||||
pub fn target(self, visit: Id, location: SourceLocation) -> DiagnosticTarget {
|
||||
DiagnosticTarget {
|
||||
publication: self,
|
||||
visit,
|
||||
location,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct DiagnosticTarget {
|
||||
publication: DiagnosticPublication,
|
||||
visit: Id,
|
||||
location: SourceLocation,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum Event {
|
||||
ShowDrawer(DrawerTab),
|
||||
HideDrawer,
|
||||
ResizeDrawer(f32),
|
||||
ToggleFile {
|
||||
stamp: QueryStamp,
|
||||
visit: Id,
|
||||
path: String,
|
||||
},
|
||||
ReferenceScrolled {
|
||||
stamp: QueryStamp,
|
||||
visit: Id,
|
||||
y: f32,
|
||||
},
|
||||
Command(CommandRequest),
|
||||
OpenMenu(MenuRequest),
|
||||
DismissMenu(Id),
|
||||
Invoke {
|
||||
token: Id,
|
||||
command: Command,
|
||||
},
|
||||
Diagnostic(DiagnosticTarget),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
struct FrozenEntry {
|
||||
command: Command,
|
||||
action: Option<Action>,
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
enum Action {
|
||||
Dispatch(Box<Message>),
|
||||
Drawer(DrawerTab),
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Menu {
|
||||
token: Id,
|
||||
popup_token: u64,
|
||||
anchor: Point,
|
||||
context: CommandContext,
|
||||
entries: Vec<FrozenEntry>,
|
||||
}
|
||||
impl Menu {
|
||||
pub fn token(&self) -> Id {
|
||||
self.token
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ReferencePresentation {
|
||||
stamp: Option<QueryStamp>,
|
||||
origin: String,
|
||||
files: BTreeSet<String>,
|
||||
installed: bool,
|
||||
collapsed_files: BTreeSet<String>,
|
||||
scroll_y: f32,
|
||||
}
|
||||
impl Default for ReferencePresentation {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
stamp: None,
|
||||
origin: String::new(),
|
||||
files: BTreeSet::new(),
|
||||
installed: false,
|
||||
collapsed_files: BTreeSet::new(),
|
||||
scroll_y: 0.,
|
||||
}
|
||||
}
|
||||
}
|
||||
impl ReferencePresentation {
|
||||
pub fn stamp(&self) -> Option<QueryStamp> {
|
||||
self.stamp
|
||||
}
|
||||
pub fn scroll_y(&self) -> f32 {
|
||||
self.scroll_y
|
||||
}
|
||||
pub fn collapsed(&self, path: &str) -> bool {
|
||||
self.collapsed_files.contains(path)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct State {
|
||||
drawer: Option<DrawerTab>,
|
||||
drawer_visit: Id,
|
||||
drawer_height: f32,
|
||||
references: ReferencePresentation,
|
||||
menu: Option<Menu>,
|
||||
diagnostic_publication: Option<DiagnosticPublication>,
|
||||
}
|
||||
impl Default for State {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
drawer: None,
|
||||
drawer_visit: Id::new_v4(),
|
||||
drawer_height: 180.,
|
||||
references: ReferencePresentation::default(),
|
||||
menu: None,
|
||||
diagnostic_publication: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
impl State {
|
||||
pub fn drawer_visit(&self) -> Id {
|
||||
self.drawer_visit
|
||||
}
|
||||
pub fn reference_scroll_id(&self) -> widget::Id {
|
||||
widget::Id::from(format!("text-references-{}", self.drawer_visit))
|
||||
}
|
||||
pub fn drawer(&self) -> Option<DrawerTab> {
|
||||
self.drawer
|
||||
}
|
||||
pub fn drawer_height(&self) -> f32 {
|
||||
self.drawer_height
|
||||
}
|
||||
pub fn references(&self) -> &ReferencePresentation {
|
||||
&self.references
|
||||
}
|
||||
pub fn menu(&self) -> Option<&Menu> {
|
||||
self.menu.as_ref()
|
||||
}
|
||||
pub fn diagnostic_publication(&self) -> Option<DiagnosticPublication> {
|
||||
self.diagnostic_publication
|
||||
}
|
||||
/// Call for EVERY diagnostics replacement or clear, including equal bytes.
|
||||
pub fn publish_diagnostics(&mut self, source: SnapshotKey) -> DiagnosticPublication {
|
||||
let publication = DiagnosticPublication {
|
||||
generation: Id::new_v4(),
|
||||
source,
|
||||
};
|
||||
self.diagnostic_publication = Some(publication);
|
||||
publication
|
||||
}
|
||||
pub fn reset(&mut self) {
|
||||
*self = Self::default();
|
||||
}
|
||||
pub fn dismiss_menu(&mut self) {
|
||||
self.menu = None;
|
||||
}
|
||||
pub fn begin_references(&mut self, stamp: QueryStamp, origin: String) {
|
||||
self.references = ReferencePresentation {
|
||||
stamp: Some(stamp),
|
||||
origin,
|
||||
..ReferencePresentation::default()
|
||||
};
|
||||
self.show_drawer(Some(DrawerTab::References));
|
||||
}
|
||||
/// Install presentation groups only for the current completed query. Repeated
|
||||
/// delivery of the same completion cannot undo the user's group choices.
|
||||
pub fn install_reference_files(
|
||||
&mut self,
|
||||
stamp: QueryStamp,
|
||||
paths: impl IntoIterator<Item = String>,
|
||||
) {
|
||||
let refs = &mut self.references;
|
||||
if refs.stamp != Some(stamp) || refs.installed {
|
||||
return;
|
||||
}
|
||||
refs.files = paths.into_iter().collect();
|
||||
refs.collapsed_files = refs.files.clone();
|
||||
let expanded = if refs.files.contains(&refs.origin) {
|
||||
Some(refs.origin.clone())
|
||||
} else {
|
||||
refs.files.first().cloned()
|
||||
};
|
||||
if let Some(path) = expanded {
|
||||
refs.collapsed_files.remove(&path);
|
||||
}
|
||||
refs.installed = true;
|
||||
}
|
||||
pub(super) fn show_drawer(&mut self, drawer: Option<DrawerTab>) {
|
||||
self.drawer = drawer;
|
||||
self.drawer_visit = Id::new_v4();
|
||||
}
|
||||
fn toggle_file(&mut self, stamp: QueryStamp, visit: Id, path: String) -> bool {
|
||||
let refs = &mut self.references;
|
||||
if self.drawer != Some(DrawerTab::References)
|
||||
|| self.drawer_visit != visit
|
||||
|| refs.stamp != Some(stamp)
|
||||
|| !refs.files.contains(&path)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if !refs.collapsed_files.remove(&path) {
|
||||
refs.collapsed_files.insert(path);
|
||||
}
|
||||
// Collapsing a group can replace a pressed row at the same position.
|
||||
self.drawer_visit = Id::new_v4();
|
||||
true
|
||||
}
|
||||
fn reference_scrolled(&mut self, stamp: QueryStamp, visit: Id, y: f32) {
|
||||
let refs = &mut self.references;
|
||||
if self.drawer == Some(DrawerTab::References)
|
||||
&& refs.stamp == Some(stamp)
|
||||
&& self.drawer_visit == visit
|
||||
&& y.is_finite()
|
||||
&& y >= 0.
|
||||
{
|
||||
refs.scroll_y = y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl App {
|
||||
fn text_command_context(&self) -> CommandContext {
|
||||
CommandContext {
|
||||
document: self.canvas_document,
|
||||
document_revision: self.document.revision(),
|
||||
source: self.source_key(),
|
||||
path: self.source_workspace.active.clone(),
|
||||
cursor: self.source_editor.cursor(),
|
||||
interaction: self.source_symbols.interaction,
|
||||
}
|
||||
}
|
||||
pub fn text_command_message(&self, command: Command) -> Message {
|
||||
Message::TextWorkspace(Event::Command(CommandRequest {
|
||||
context: self.text_command_context(),
|
||||
command,
|
||||
}))
|
||||
}
|
||||
pub fn text_menu_message(&self, anchor: Point) -> Message {
|
||||
Message::TextWorkspace(Event::OpenMenu(MenuRequest {
|
||||
context: self.text_command_context(),
|
||||
anchor,
|
||||
}))
|
||||
}
|
||||
pub fn text_workspace_menu(&self) -> Option<context_menu::Menu<Message>> {
|
||||
let menu = self.text_workspace.menu.as_ref()?;
|
||||
Some(context_menu::Menu {
|
||||
token: menu.popup_token,
|
||||
anchor: menu.anchor,
|
||||
entries: menu
|
||||
.entries
|
||||
.iter()
|
||||
.flat_map(|entry| {
|
||||
let mut rows = Vec::with_capacity(2);
|
||||
if matches!(entry.command, Command::UndoText | Command::ShowProblems) {
|
||||
rows.push(context_menu::Entry::separator());
|
||||
}
|
||||
rows.push(context_menu::Entry::Action {
|
||||
label: entry.command.label().into(),
|
||||
shortcut: entry.command.shortcut().map(str::to_owned),
|
||||
message: entry.action.as_ref().map(|_| {
|
||||
Message::TextWorkspace(Event::Invoke {
|
||||
token: menu.token(),
|
||||
command: entry.command,
|
||||
})
|
||||
}),
|
||||
});
|
||||
rows
|
||||
})
|
||||
.collect(),
|
||||
on_close: Message::TextWorkspace(Event::DismissMenu(menu.token())),
|
||||
})
|
||||
}
|
||||
pub fn text_diagnostic_message(&self, location: SourceLocation) -> Option<Message> {
|
||||
let publication = self.text_workspace.diagnostic_publication?;
|
||||
(publication.source == self.source_key()
|
||||
&& self.text_workspace.drawer() == Some(DrawerTab::Problems))
|
||||
.then(|| {
|
||||
Message::TextWorkspace(Event::Diagnostic(
|
||||
publication.target(self.text_workspace.drawer_visit(), location),
|
||||
))
|
||||
})
|
||||
}
|
||||
fn text_command_action(&self, command: Command) -> Option<Action> {
|
||||
// Menu has been taken before dispatch-time admission. This intentionally
|
||||
// uses navigation admission, not rename admission, for Find/text history.
|
||||
if !self.source_navigation_available() {
|
||||
return None;
|
||||
}
|
||||
let message =
|
||||
match command {
|
||||
Command::Find => Message::SourceNavigation(nav::Event::Open(false)),
|
||||
Command::GoToLine => Message::SourceNavigation(nav::Event::Open(true)),
|
||||
Command::Definition => self
|
||||
.source_symbol_message(nav::SymbolEvent::Query(nav::query::Action::Definition)),
|
||||
Command::References => self
|
||||
.source_symbol_message(nav::SymbolEvent::Query(nav::query::Action::References)),
|
||||
Command::RenameAlias => {
|
||||
self.rename_admission().ok()?;
|
||||
self.source_rename_message()
|
||||
}
|
||||
Command::Back => {
|
||||
if !self
|
||||
.source_symbols
|
||||
.back
|
||||
.iter()
|
||||
.any(|entry| entry.session == self.source_workspace.session())
|
||||
{
|
||||
return None;
|
||||
}
|
||||
self.source_symbol_message(nav::SymbolEvent::Back)
|
||||
}
|
||||
Command::UndoText => Message::SourceUndo,
|
||||
Command::RedoText => Message::SourceRedo,
|
||||
Command::UndoModel | Command::RedoModel => {
|
||||
if self.source_dirty() || self.draft_dirty() {
|
||||
return None;
|
||||
}
|
||||
if command == Command::UndoModel {
|
||||
if !self.document.can_undo() {
|
||||
return None;
|
||||
}
|
||||
Message::Undo
|
||||
} else {
|
||||
if !self.document.can_redo() {
|
||||
return None;
|
||||
}
|
||||
Message::Redo
|
||||
}
|
||||
}
|
||||
Command::UndoRename => self.source_rename_undo_message()?,
|
||||
Command::RevertFile => Message::RevertSource,
|
||||
Command::ShowProblems => return Some(Action::Drawer(DrawerTab::Problems)),
|
||||
Command::ShowStatus => return Some(Action::Drawer(DrawerTab::Status)),
|
||||
Command::ShowDiagramUsages => self.text_diagram_usages_message()?,
|
||||
};
|
||||
Some(Action::Dispatch(Box::new(message)))
|
||||
}
|
||||
pub(super) fn text_workspace_event(&mut self, event: Event) -> Task<Message> {
|
||||
match event {
|
||||
Event::OpenMenu(request) => {
|
||||
if request.context != self.text_command_context()
|
||||
|| !self.source_navigation_available()
|
||||
|| self.text_workspace.menu.is_some()
|
||||
|| !request.anchor.x.is_finite()
|
||||
|| !request.anchor.y.is_finite()
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
let Some(popup_token) = self.menu_sequence.checked_add(1) else {
|
||||
return Task::none();
|
||||
};
|
||||
self.source_interaction();
|
||||
let commands = [
|
||||
Command::Find,
|
||||
Command::GoToLine,
|
||||
Command::Definition,
|
||||
Command::References,
|
||||
Command::RenameAlias,
|
||||
Command::Back,
|
||||
Command::UndoText,
|
||||
Command::RedoText,
|
||||
Command::UndoRename,
|
||||
Command::UndoModel,
|
||||
Command::RedoModel,
|
||||
Command::RevertFile,
|
||||
Command::ShowProblems,
|
||||
Command::ShowStatus,
|
||||
Command::ShowDiagramUsages,
|
||||
];
|
||||
let entries = commands
|
||||
.into_iter()
|
||||
.filter_map(|command| {
|
||||
let action = self.text_command_action(command);
|
||||
if command == Command::ShowDiagramUsages && action.is_none() {
|
||||
None
|
||||
} else {
|
||||
Some(FrozenEntry { command, action })
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
self.menu_sequence = popup_token;
|
||||
self.text_workspace.menu = Some(Menu {
|
||||
token: Id::new_v4(),
|
||||
popup_token,
|
||||
anchor: request.anchor,
|
||||
context: self.text_command_context(),
|
||||
entries,
|
||||
});
|
||||
}
|
||||
Event::DismissMenu(token) => {
|
||||
if self
|
||||
.text_workspace
|
||||
.menu
|
||||
.as_ref()
|
||||
.is_some_and(|menu| menu.token == token)
|
||||
{
|
||||
self.text_workspace.menu = None;
|
||||
self.source_interaction();
|
||||
}
|
||||
}
|
||||
Event::Invoke { token, command } => {
|
||||
if !self.text_workspace.menu.as_ref().is_some_and(|menu| {
|
||||
menu.token == token && menu.context == self.text_command_context()
|
||||
}) {
|
||||
return Task::none();
|
||||
}
|
||||
// Validate before closing; consume this invocation only once.
|
||||
// Never resolve a frozen row against a newly generated menu.
|
||||
let menu = self.text_workspace.menu.take().unwrap();
|
||||
let Some(action) = menu
|
||||
.entries
|
||||
.into_iter()
|
||||
.find(|entry| entry.command == command)
|
||||
.and_then(|entry| entry.action)
|
||||
else {
|
||||
return Task::none();
|
||||
};
|
||||
if self.text_command_action(command).is_none() {
|
||||
return Task::none();
|
||||
}
|
||||
return self.dispatch_text_action(action);
|
||||
}
|
||||
Event::Command(request) => {
|
||||
if request.context != self.text_command_context() {
|
||||
return Task::none();
|
||||
}
|
||||
if let Some(action) = self.text_command_action(request.command) {
|
||||
return self.dispatch_text_action(action);
|
||||
}
|
||||
}
|
||||
Event::ShowDrawer(tab) => {
|
||||
if !self.source_navigation_available() {
|
||||
return Task::none();
|
||||
}
|
||||
return self.show_text_drawer(Some(tab));
|
||||
}
|
||||
Event::HideDrawer => {
|
||||
if !self.source_navigation_available() {
|
||||
return Task::none();
|
||||
}
|
||||
return self.show_text_drawer(None);
|
||||
}
|
||||
Event::ResizeDrawer(height) => {
|
||||
if self.source_navigation_available() && height.is_finite() {
|
||||
// The view applies the measured editor-allocation bound.
|
||||
let height = height.clamp(180., 1200.);
|
||||
if height != self.text_workspace.drawer_height {
|
||||
self.source_interaction();
|
||||
self.text_workspace.drawer_height = height;
|
||||
}
|
||||
}
|
||||
}
|
||||
Event::ToggleFile { stamp, visit, path } => {
|
||||
if self.source_navigation_available()
|
||||
&& self.text_workspace.toggle_file(stamp, visit, path)
|
||||
{
|
||||
self.source_interaction();
|
||||
}
|
||||
}
|
||||
Event::ReferenceScrolled { stamp, visit, y } => {
|
||||
// Passive geometry must neither invalidate pending navigation
|
||||
// nor reset the editor identity, even while commands are blocked.
|
||||
self.text_workspace.reference_scrolled(stamp, visit, y);
|
||||
}
|
||||
Event::Diagnostic(target) => {
|
||||
if !self.source_navigation_available()
|
||||
|| self.text_workspace.drawer() != Some(DrawerTab::Problems)
|
||||
|| self.text_workspace.drawer_visit() != target.visit
|
||||
|| self.text_workspace.diagnostic_publication != Some(target.publication)
|
||||
|| target.publication.source != self.source_key()
|
||||
|| !self
|
||||
.source_workspace
|
||||
.files
|
||||
.get(&target.location.path)
|
||||
.is_some_and(|file| valid_span(&file.text, &target.location))
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
self.source_interaction();
|
||||
self.jump_to_source(target.location);
|
||||
}
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
fn dispatch_text_action(&mut self, action: Action) -> Task<Message> {
|
||||
match action {
|
||||
Action::Dispatch(message) => self.update(*message),
|
||||
Action::Drawer(tab) => self.show_text_drawer(Some(tab)),
|
||||
}
|
||||
}
|
||||
pub(super) fn show_text_drawer(&mut self, drawer: Option<DrawerTab>) -> Task<Message> {
|
||||
self.source_interaction();
|
||||
self.text_workspace.show_drawer(drawer);
|
||||
if drawer == Some(DrawerTab::References) {
|
||||
let refs = self.text_workspace.references();
|
||||
widget::operation::scroll_to(
|
||||
self.text_workspace.reference_scroll_id(),
|
||||
widget::scrollable::AbsoluteOffset {
|
||||
x: 0.,
|
||||
y: refs.scroll_y(),
|
||||
},
|
||||
)
|
||||
} else {
|
||||
Task::none()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn valid_span(text: &str, location: &SourceLocation) -> bool {
|
||||
let span = location.span;
|
||||
span.start <= span.end
|
||||
&& span.end <= text.len()
|
||||
&& text.is_char_boundary(span.start)
|
||||
&& text.is_char_boundary(span.end)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
|
||||
#[cfg(test)]
|
||||
mod lifecycle_tests;
|
||||
|
||||
#[cfg(all(test, debug_assertions))]
|
||||
mod focus_selection_tests;
|
||||
@@ -0,0 +1,480 @@
|
||||
//! The mounted CPU renderer and App use the same cosmic-text editor engine, but
|
||||
//! Iced's Content is parameterized by renderer and cannot be shared between them.
|
||||
//! We hit-test the initial click in the laid-out CPU widget, seed that raw caret
|
||||
//! in App, and relay the real subsequent SelectWord/SelectLine and editing actions.
|
||||
//! App's own Content is never replaced or cursor-normalized after selection. This
|
||||
//! tests the actual controller/content boundary without a window or GPU; native
|
||||
//! replay remains the check of the complete production renderer/layout path.
|
||||
use super::*;
|
||||
use crate::app::Page;
|
||||
use crate::document::Document;
|
||||
use crate::source_workspace::{LIMITS, Workspace};
|
||||
use crate::views::source_tests::FontLayout;
|
||||
use iced::advanced::{Layout, Shell, layout, widget as core_widget};
|
||||
use iced::futures::StreamExt;
|
||||
use iced::keyboard::{self, Key, Modifiers};
|
||||
use iced::widget::{button, container, row, text_editor, text_input};
|
||||
use iced::{Element, Event, Font, Size, mouse};
|
||||
use oa_core::{Project, source_project::SourceBundle};
|
||||
use std::{collections::BTreeMap, sync::Arc, sync::atomic::Ordering};
|
||||
|
||||
const SOURCE: &str = concat!(
|
||||
"// oa_contact tail\r\n",
|
||||
"arcadia 7;\r\n",
|
||||
"project model \"Selection\" id \"9e8f0000-0000-4000-8000-000000000091\" {}\r\n",
|
||||
);
|
||||
const HOST: Size = Size::new(620., 260.);
|
||||
|
||||
fn fixture() -> App {
|
||||
let bundle = SourceBundle {
|
||||
entry: "project.arcadia".into(),
|
||||
files: BTreeMap::from([("project.arcadia".into(), SOURCE.into())]),
|
||||
};
|
||||
let mut app = App::with_project(Project::empty());
|
||||
app.document = Document::from_bundle(bundle, LIMITS).unwrap();
|
||||
app.source_workspace = Workspace::new(app.document.bundle(), true);
|
||||
app.selected = app.project().id;
|
||||
app.refresh_draft();
|
||||
app.page = Page::Text;
|
||||
app.show_source_file(false);
|
||||
app.publish_source_diagnostics(app.document.compiled().diagnostics.clone());
|
||||
app
|
||||
}
|
||||
|
||||
fn ui<'a>(
|
||||
app: &App,
|
||||
content: &'a text_editor::Content<FontLayout>,
|
||||
) -> Element<'a, Message, iced::Theme, FontLayout> {
|
||||
let find: Element<'a, Message, iced::Theme, FontLayout> = if app.source_navigation.open {
|
||||
row![
|
||||
text_input("Find", "")
|
||||
.id("source-find")
|
||||
.on_input(|s| Message::SourceNavigation(nav::Event::Query(s))),
|
||||
container(button("Close").on_press(app.source_find_close_message()))
|
||||
.id("selection-find-close"),
|
||||
]
|
||||
.into()
|
||||
} else {
|
||||
widget::Space::new().into()
|
||||
};
|
||||
// Column::push drops zero-height children. Keep both paths mounted even
|
||||
// while Find is hidden, as the production retained-slot layout does.
|
||||
widget::Column::from_vec(vec![
|
||||
container(find)
|
||||
.height(if app.source_navigation.open { 32. } else { 0. })
|
||||
.into(),
|
||||
widget::text_editor(content)
|
||||
.id(app.source_editor_id())
|
||||
.font(Font::MONOSPACE)
|
||||
.size(14)
|
||||
.padding(16)
|
||||
.height(iced::Fill)
|
||||
.on_action(Message::SourceEdit)
|
||||
.into(),
|
||||
])
|
||||
.width(iced::Fill)
|
||||
.height(iced::Fill)
|
||||
.into()
|
||||
}
|
||||
|
||||
struct Mounted {
|
||||
content: text_editor::Content<FontLayout>,
|
||||
tree: core_widget::Tree,
|
||||
}
|
||||
|
||||
// Operations follow widget-provided traversal instead of assuming a fixed
|
||||
// relationship between layout nodes, transparent containers and state trees.
|
||||
struct Inspection {
|
||||
editor: core_widget::Id,
|
||||
focused: Option<bool>,
|
||||
close_bounds: Option<iced::Rectangle>,
|
||||
}
|
||||
|
||||
impl core_widget::Operation for Inspection {
|
||||
fn traverse(&mut self, operate: &mut dyn FnMut(&mut dyn core_widget::Operation)) {
|
||||
operate(self);
|
||||
}
|
||||
|
||||
fn focusable(
|
||||
&mut self,
|
||||
id: Option<&core_widget::Id>,
|
||||
_: iced::Rectangle,
|
||||
state: &mut dyn core_widget::operation::Focusable,
|
||||
) {
|
||||
if id == Some(&self.editor) {
|
||||
assert!(
|
||||
self.focused.replace(state.is_focused()).is_none(),
|
||||
"duplicate editor ID"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
fn container(&mut self, id: Option<&core_widget::Id>, bounds: iced::Rectangle) {
|
||||
if id == Some(&core_widget::Id::new("selection-find-close")) {
|
||||
assert!(
|
||||
self.close_bounds.replace(bounds).is_none(),
|
||||
"duplicate Close target ID"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Mounted {
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
content: text_editor::Content::with_text(SOURCE),
|
||||
tree: core_widget::Tree::empty(),
|
||||
}
|
||||
}
|
||||
|
||||
fn events(&mut self, app: &App, events: &[(Event, mouse::Cursor)]) -> Vec<Message> {
|
||||
let mut view = ui(app, &self.content);
|
||||
self.tree.diff(view.as_widget());
|
||||
let node = view.as_widget_mut().layout(
|
||||
&mut self.tree,
|
||||
&FontLayout,
|
||||
&layout::Limits::new(Size::ZERO, HOST),
|
||||
);
|
||||
let mut messages = Vec::new();
|
||||
for (event, cursor) in events {
|
||||
let mut shell = Shell::new(&mut messages);
|
||||
view.as_widget_mut().update(
|
||||
&mut self.tree,
|
||||
event,
|
||||
Layout::new(&node),
|
||||
*cursor,
|
||||
&FontLayout,
|
||||
&mut iced::advanced::clipboard::Null,
|
||||
&mut shell,
|
||||
&iced::Rectangle::with_size(HOST),
|
||||
);
|
||||
if !matches!(event, Event::Mouse(mouse::Event::ButtonReleased(_))) {
|
||||
assert!(
|
||||
shell.is_event_captured(),
|
||||
"mounted input must be handled: {event:?}"
|
||||
);
|
||||
}
|
||||
}
|
||||
messages
|
||||
}
|
||||
|
||||
fn operation(&mut self, app: &App, mut op: Box<dyn core_widget::Operation>) {
|
||||
let mut view = ui(app, &self.content);
|
||||
self.tree.diff(view.as_widget());
|
||||
let node = view.as_widget_mut().layout(
|
||||
&mut self.tree,
|
||||
&FontLayout,
|
||||
&layout::Limits::new(Size::ZERO, HOST),
|
||||
);
|
||||
loop {
|
||||
view.as_widget_mut().operate(
|
||||
&mut self.tree,
|
||||
Layout::new(&node),
|
||||
&FontLayout,
|
||||
op.as_mut(),
|
||||
);
|
||||
match op.finish() {
|
||||
core_widget::operation::Outcome::Chain(next) => op = next,
|
||||
core_widget::operation::Outcome::None => break,
|
||||
core_widget::operation::Outcome::Some(()) => panic!("focus does not emit messages"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async fn task(&mut self, app: &App, task: Task<Message>) {
|
||||
if let Some(mut actions) = iced_runtime::task::into_stream(task) {
|
||||
while let Some(action) = actions.next().await {
|
||||
let iced_runtime::Action::Widget(op) = action else {
|
||||
panic!("expected a widget operation")
|
||||
};
|
||||
self.operation(app, op);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn inspect(&mut self, app: &App) -> Inspection {
|
||||
let mut inspection = Inspection {
|
||||
editor: app.source_editor_id(),
|
||||
focused: None,
|
||||
close_bounds: None,
|
||||
};
|
||||
let mut view = ui(app, &self.content);
|
||||
self.tree.diff(view.as_widget());
|
||||
let node = view.as_widget_mut().layout(
|
||||
&mut self.tree,
|
||||
&FontLayout,
|
||||
&layout::Limits::new(Size::ZERO, HOST),
|
||||
);
|
||||
view.as_widget_mut().operate(
|
||||
&mut self.tree,
|
||||
Layout::new(&node),
|
||||
&FontLayout,
|
||||
&mut inspection,
|
||||
);
|
||||
inspection
|
||||
}
|
||||
|
||||
fn editor_focused(&mut self, app: &App) -> bool {
|
||||
self.inspect(app)
|
||||
.focused
|
||||
.expect("exactly one editor with the requested ID")
|
||||
}
|
||||
|
||||
fn close_message(&mut self, app: &App, escape: bool) -> Message {
|
||||
if escape {
|
||||
let event = Event::Keyboard(keyboard::Event::KeyPressed {
|
||||
key: Key::Named(keyboard::key::Named::Escape),
|
||||
modified_key: Key::Named(keyboard::key::Named::Escape),
|
||||
physical_key: keyboard::key::Physical::Code(keyboard::key::Code::Escape),
|
||||
location: keyboard::Location::Standard,
|
||||
modifiers: Modifiers::empty(),
|
||||
text: None,
|
||||
repeat: false,
|
||||
});
|
||||
assert!(
|
||||
self.events(app, &[(event, mouse::Cursor::Unavailable)])
|
||||
.is_empty()
|
||||
);
|
||||
// The existing subscription tests cover the captured-Escape bridge.
|
||||
// Deliver its App message after this actual input captured the key.
|
||||
Message::Escape
|
||||
} else {
|
||||
let center = self
|
||||
.inspect(app)
|
||||
.close_bounds
|
||||
.expect("the mounted Find Close target exists")
|
||||
.center();
|
||||
let cursor = mouse::Cursor::Available(center);
|
||||
let mut messages = self.events(
|
||||
app,
|
||||
&[
|
||||
(
|
||||
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)),
|
||||
cursor,
|
||||
),
|
||||
(
|
||||
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)),
|
||||
cursor,
|
||||
),
|
||||
],
|
||||
);
|
||||
assert_eq!(messages.len(), 1);
|
||||
let close = messages.remove(0);
|
||||
assert!(matches!(close, Message::SourceFindClose(..)));
|
||||
close
|
||||
}
|
||||
}
|
||||
|
||||
fn select(&mut self, app: &mut App, line: bool) {
|
||||
// One mounted update batch avoids delays between Iced's consecutive-click
|
||||
// timestamps; content actions are applied in their emitted order below.
|
||||
let at = mouse::Cursor::Available(Point::new(65., 25.));
|
||||
let events = (0..if line { 3 } else { 2 })
|
||||
.flat_map(|_| {
|
||||
[
|
||||
(
|
||||
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)),
|
||||
at,
|
||||
),
|
||||
(
|
||||
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)),
|
||||
at,
|
||||
),
|
||||
]
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
let messages = self.events(app, &events);
|
||||
assert_eq!(messages.len(), if line { 3 } else { 2 });
|
||||
for (index, message) in messages.into_iter().enumerate() {
|
||||
let Message::SourceEdit(action) = message else {
|
||||
panic!("editor action")
|
||||
};
|
||||
if index == 0 {
|
||||
assert!(matches!(action, text_editor::Action::Click(_)));
|
||||
self.content.perform(action);
|
||||
let caret = self.content.cursor();
|
||||
assert_eq!(caret.position.line, 0);
|
||||
assert!(
|
||||
(4..13).contains(&caret.position.column),
|
||||
"click must hit inside oa_contact: {caret:?}"
|
||||
);
|
||||
// App's GPU-typed Content has no public layout API. Copy only the
|
||||
// initial hit-tested caret before any Word/Line selection exists.
|
||||
app.source_editor.move_to(caret);
|
||||
} else {
|
||||
assert_eq!(
|
||||
action,
|
||||
if index == 1 {
|
||||
text_editor::Action::SelectWord
|
||||
} else {
|
||||
text_editor::Action::SelectLine
|
||||
}
|
||||
);
|
||||
self.content.perform(action.clone());
|
||||
let _ = app.update(Message::SourceEdit(action));
|
||||
}
|
||||
}
|
||||
assert_eq!(
|
||||
self.content.selection().as_deref(),
|
||||
Some(if line {
|
||||
"// oa_contact tail"
|
||||
} else {
|
||||
"oa_contact"
|
||||
})
|
||||
);
|
||||
assert_eq!(app.source_editor.selection(), self.content.selection());
|
||||
assert!(self.editor_focused(app));
|
||||
}
|
||||
|
||||
fn type_replacement(&mut self, app: &mut App) {
|
||||
let event = Event::Keyboard(keyboard::Event::KeyPressed {
|
||||
key: Key::Character("x".into()),
|
||||
modified_key: Key::Character("x".into()),
|
||||
physical_key: keyboard::key::Physical::Code(keyboard::key::Code::KeyX),
|
||||
location: keyboard::Location::Standard,
|
||||
modifiers: Modifiers::empty(),
|
||||
text: Some("x".into()),
|
||||
repeat: false,
|
||||
});
|
||||
let messages = self.events(app, &[(event, mouse::Cursor::Unavailable)]);
|
||||
assert_eq!(messages.len(), 1);
|
||||
let Message::SourceEdit(action) = messages.into_iter().next().unwrap() else {
|
||||
panic!("typed edit")
|
||||
};
|
||||
assert_eq!(
|
||||
action,
|
||||
text_editor::Action::Edit(text_editor::Edit::Insert('x'))
|
||||
);
|
||||
self.content.perform(action.clone());
|
||||
let _ = app.update(Message::SourceEdit(action));
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes() {
|
||||
for line in [false, true] {
|
||||
for escape in [false, true] {
|
||||
let mut app = fixture();
|
||||
let accepted = app.document.snapshot();
|
||||
let mut mounted = Mounted::new();
|
||||
mounted.select(&mut app, line);
|
||||
let selected = app.source_editor.selection();
|
||||
let cursor = app.source_editor.cursor();
|
||||
// Word/Line selection has coincident raw endpoints. Merely checking
|
||||
// cursor equality after a move_to roundtrip cannot detect the defect.
|
||||
assert_eq!(cursor.selection, Some(cursor.position));
|
||||
let task = app.update(Message::SourceNavigation(nav::Event::Open(false)));
|
||||
mounted.task(&app, task).await;
|
||||
assert!(!mounted.editor_focused(&app));
|
||||
assert_eq!(app.source_editor.selection(), selected);
|
||||
let close = mounted.close_message(&app, escape);
|
||||
let _ = app.update(close);
|
||||
let ticket = app
|
||||
.source_reveal_ticket()
|
||||
.expect("guarded restoration ticket");
|
||||
let task = app.update(Message::SourceViewport(Some(ticket)));
|
||||
mounted.task(&app, task).await;
|
||||
assert!(mounted.editor_focused(&app));
|
||||
assert_eq!(app.source_editor.cursor(), cursor);
|
||||
assert_eq!(
|
||||
app.source_editor.selection(),
|
||||
selected,
|
||||
"selected bytes must survive focus restoration"
|
||||
);
|
||||
assert_eq!(app.source_editor.text(), SOURCE);
|
||||
mounted.type_replacement(&mut app);
|
||||
let expected = SOURCE.replacen(selected.as_deref().unwrap(), "x", 1);
|
||||
assert_eq!(app.source_editor.text(), expected);
|
||||
assert_eq!(app.source_workspace.text(), expected);
|
||||
assert_eq!(mounted.content.text(), expected);
|
||||
assert!(Arc::ptr_eq(&accepted, &app.document.snapshot()));
|
||||
assert!(!app.document.can_undo() && !app.document.can_redo());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss() {
|
||||
for line in [false, true] {
|
||||
for old_roundtrip in [false, true] {
|
||||
let mut app = fixture();
|
||||
let mut mounted = Mounted::new();
|
||||
mounted.select(&mut app, line);
|
||||
let selected = app.source_editor.selection().unwrap();
|
||||
let interior = app.source_editor.cursor();
|
||||
if old_roundtrip {
|
||||
app.source_editor.move_to(interior);
|
||||
assert_ne!(
|
||||
app.source_editor.selection().as_deref(),
|
||||
Some(selected.as_str())
|
||||
);
|
||||
}
|
||||
mounted.type_replacement(&mut app);
|
||||
let expected = if old_roundtrip {
|
||||
let mut text = SOURCE.to_owned();
|
||||
text.insert(interior.position.column, 'x');
|
||||
text
|
||||
} else {
|
||||
SOURCE.replacen(&selected, "x", 1)
|
||||
};
|
||||
assert_eq!(app.source_editor.text(), expected);
|
||||
assert_eq!(app.source_workspace.text(), expected);
|
||||
assert_eq!(mounted.content.text(), SOURCE.replacen(&selected, "x", 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes() {
|
||||
for later_raw_input in [false, true] {
|
||||
let mut app = fixture();
|
||||
let mut mounted = Mounted::new();
|
||||
mounted.select(&mut app, false);
|
||||
let selected = app.source_editor.selection();
|
||||
let open = app.update(Message::SourceNavigation(nav::Event::Open(false)));
|
||||
mounted.task(&app, open).await;
|
||||
let close = app.source_find_close_message();
|
||||
let _ = app.update(close);
|
||||
let ticket = app.source_reveal_ticket().unwrap();
|
||||
let focus = if later_raw_input {
|
||||
app.update(Message::SourceViewport(Some(ticket)))
|
||||
} else {
|
||||
Task::none()
|
||||
};
|
||||
let reopen = app.update(Message::SourceNavigation(nav::Event::Open(false)));
|
||||
mounted.task(&app, reopen).await;
|
||||
if later_raw_input {
|
||||
app.source_symbols
|
||||
.raw_interaction
|
||||
.fetch_add(1, Ordering::SeqCst);
|
||||
mounted.task(&app, focus).await;
|
||||
} else {
|
||||
let stale = app.update(Message::SourceViewport(Some(ticket)));
|
||||
mounted.task(&app, stale).await;
|
||||
}
|
||||
assert!(app.source_navigation.open);
|
||||
assert!(!mounted.editor_focused(&app));
|
||||
assert_eq!(app.source_editor.selection(), selected);
|
||||
assert_eq!(app.source_editor.text(), SOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn explicit_cursor_navigation_still_moves_and_selects_requested_line() {
|
||||
let mut app = fixture();
|
||||
let mut mounted = Mounted::new();
|
||||
mounted.select(&mut app, false);
|
||||
let target = text_editor::Cursor {
|
||||
position: text_editor::Position { line: 1, column: 3 },
|
||||
selection: None,
|
||||
};
|
||||
// Clear the previous semantic selection as actual show_source_file does when
|
||||
// moving to another source buffer, then exercise intentional navigation.
|
||||
app.show_source_file(false);
|
||||
app.queue_source_reveal(target, true);
|
||||
let ticket = app.source_reveal_ticket().unwrap();
|
||||
let task = app.update(Message::SourceViewport(Some(ticket)));
|
||||
mounted.task(&app, task).await;
|
||||
assert_eq!(app.source_editor.cursor().position, target.position);
|
||||
assert_eq!(app.source_editor.selection().as_deref(), Some("arcadia 7;"));
|
||||
}
|
||||
@@ -0,0 +1,438 @@
|
||||
//! Real lifecycle receipts, with all disk writes confined to unique temp roots.
|
||||
//! Returned App worker tasks are not polled; completions use the normal captured
|
||||
//! query input and are delivered deterministically through App::update.
|
||||
use super::*;
|
||||
use crate::app::{Page, read_snapshot, write_snapshot};
|
||||
use crate::document::Document;
|
||||
use crate::source_workspace::{LIMITS, Workspace};
|
||||
use oa_core::{
|
||||
Project,
|
||||
language::{Diagnostic, Span},
|
||||
source_project::{SourceBundle, SourceDiagnostic},
|
||||
validation::Severity,
|
||||
};
|
||||
use std::{collections::BTreeMap, path::Path, sync::Arc};
|
||||
|
||||
const VALID: &str = concat!(
|
||||
"arcadia 7;\r\n",
|
||||
"project model \"Lifecycle 救援\" id \"9e8f0000-0000-4000-8000-000000000001\" {\r\n",
|
||||
" oa_activity assess \"Assess\" id \"9e8f0000-0000-4000-8000-000000000002\" {}\r\n",
|
||||
"}\r\n",
|
||||
);
|
||||
|
||||
fn fixture() -> App {
|
||||
let bundle = SourceBundle {
|
||||
entry: "project.arcadia".into(),
|
||||
files: BTreeMap::from([("project.arcadia".into(), VALID.into())]),
|
||||
};
|
||||
let mut app = App::with_project(Project::empty());
|
||||
// with_project uses in-memory Home metadata and no recovery directory.
|
||||
assert!(app.recovery.directory.is_none());
|
||||
app.document = Document::from_bundle(bundle, LIMITS).unwrap();
|
||||
app.source_workspace = Workspace::new(app.document.bundle(), true);
|
||||
app.selected = app.project().id;
|
||||
app.refresh_draft();
|
||||
app.page = Page::Text;
|
||||
app.show_source_file(false);
|
||||
app.publish_source_diagnostics(app.document.compiled().diagnostics.clone());
|
||||
app
|
||||
}
|
||||
fn send(app: &mut App, message: Message) {
|
||||
let _ = app.update(message);
|
||||
}
|
||||
fn save(app: &mut App, path: &Path) {
|
||||
let receipt = write_snapshot(
|
||||
app.canvas_document,
|
||||
app.document.revision(),
|
||||
app.document.snapshot(),
|
||||
path.to_owned(),
|
||||
app.disk_project.clone(),
|
||||
)
|
||||
.unwrap();
|
||||
send(app, Message::Saved(Ok(Some(receipt))));
|
||||
}
|
||||
fn reveal(app: &mut App) {
|
||||
if let Some(ticket) = app.source_reveal_ticket() {
|
||||
send(app, Message::SourceViewport(Some(ticket)));
|
||||
}
|
||||
}
|
||||
fn query(app: &mut App, action: nav::query::Action) -> nav::Completion {
|
||||
let message = app.source_symbol_message(nav::SymbolEvent::Query(action));
|
||||
send(app, message);
|
||||
let request = app.source_symbols.request.clone().expect("admitted query");
|
||||
assert_eq!(app.source_symbols.in_flight, Some(request.job));
|
||||
let snapshot = Arc::new(app.with_source_input(|input| {
|
||||
nav::query::admit_owned(input, nav::query::Limits::default())
|
||||
.unwrap()
|
||||
.capture()
|
||||
.unwrap()
|
||||
}));
|
||||
let results = Arc::new(
|
||||
snapshot
|
||||
.query(nav::query::Query {
|
||||
stamp: request.stamp,
|
||||
path: &request.path,
|
||||
byte_offset: request.offset,
|
||||
action,
|
||||
})
|
||||
.unwrap(),
|
||||
);
|
||||
nav::Completion {
|
||||
request,
|
||||
result: Ok((snapshot, results)),
|
||||
}
|
||||
}
|
||||
fn seed_navigation(app: &mut App, pending: bool) -> Option<nav::Completion> {
|
||||
let text = app.source_workspace.text();
|
||||
let start = text.find("oa_activity assess").unwrap() + "oa_activity ".len();
|
||||
let prefix = &text[..start];
|
||||
let position = widget::text_editor::Position {
|
||||
line: prefix.bytes().filter(|byte| *byte == b'\n').count(),
|
||||
column: prefix.rsplit_once('\n').unwrap().1.len(),
|
||||
};
|
||||
app.source_editor.move_to(Cursor {
|
||||
position,
|
||||
selection: None,
|
||||
});
|
||||
let ready = query(app, nav::query::Action::Definition);
|
||||
send(app, Message::SourceSymbolsReady(ready));
|
||||
reveal(app);
|
||||
assert_eq!(app.source_symbols.back.len(), 1);
|
||||
let ready = query(app, nav::query::Action::References);
|
||||
send(app, Message::SourceSymbolsReady(ready));
|
||||
assert!(app.source_symbols.results.is_some() && app.source_symbols.cache.is_some());
|
||||
assert!(app.source_symbols.display_request.is_some());
|
||||
assert_eq!(app.text_workspace.drawer(), Some(DrawerTab::References));
|
||||
if pending {
|
||||
Some(query(app, nav::query::Action::Definition))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
fn warning(app: &App) -> SourceDiagnostic {
|
||||
let source = app.source_workspace.text();
|
||||
let primary = source.find("model").unwrap();
|
||||
let related = source.find("assess").unwrap();
|
||||
SourceDiagnostic {
|
||||
path: app.source_workspace.active.clone(),
|
||||
diagnostic: Diagnostic {
|
||||
severity: Severity::Warning,
|
||||
code: "lifecycle_warning".into(),
|
||||
object_id: None,
|
||||
field: None,
|
||||
line: 2,
|
||||
column: 9,
|
||||
message: "Retained warning with a related source location".into(),
|
||||
span: Span {
|
||||
start: primary,
|
||||
end: primary + 5,
|
||||
},
|
||||
},
|
||||
related: vec![SourceLocation {
|
||||
path: app.source_workspace.active.clone(),
|
||||
span: Span {
|
||||
start: related,
|
||||
end: related + 6,
|
||||
},
|
||||
}],
|
||||
}
|
||||
}
|
||||
fn warning_messages(app: &App) -> [Message; 2] {
|
||||
let warning = &app.source_diagnostics[0];
|
||||
[
|
||||
app.text_diagnostic_message(SourceLocation {
|
||||
path: warning.path.clone(),
|
||||
span: warning.diagnostic.span,
|
||||
})
|
||||
.unwrap(),
|
||||
app.text_diagnostic_message(warning.related[0].clone())
|
||||
.unwrap(),
|
||||
]
|
||||
}
|
||||
fn assert_cleared(app: &App, job: Option<Id>) {
|
||||
assert_eq!(app.source_symbols.in_flight, job);
|
||||
assert!(app.source_symbols.request.is_none() && app.source_symbols.display_request.is_none());
|
||||
assert!(app.source_symbols.results.is_none() && app.source_symbols.cache.is_none());
|
||||
assert!(app.source_symbols.back.is_empty());
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert!(app.text_workspace.drawer().is_none() && app.text_workspace.menu().is_none());
|
||||
assert!(app.text_workspace.references().stamp().is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related() {
|
||||
let first = tempfile::tempdir().unwrap();
|
||||
let second = tempfile::tempdir().unwrap();
|
||||
let first_path = first.path().canonicalize().unwrap().join("project.arcadia");
|
||||
let second_path = second
|
||||
.path()
|
||||
.canonicalize()
|
||||
.unwrap()
|
||||
.join("project.arcadia");
|
||||
let mut app = fixture();
|
||||
save(&mut app, &first_path);
|
||||
let ready = seed_navigation(&mut app, true).unwrap();
|
||||
let job = ready.request.job;
|
||||
app.publish_source_diagnostics(vec![warning(&app)]);
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
let old = warning_messages(&app);
|
||||
let warnings = app.source_diagnostics.clone();
|
||||
let publication = app.text_workspace.diagnostic_publication().unwrap();
|
||||
let source = app.source_key();
|
||||
let accepted = app.document.snapshot();
|
||||
let revision = app.document.revision();
|
||||
let raw = app.source_workspace.bundle();
|
||||
save(&mut app, &second_path);
|
||||
assert_eq!(app.path.as_deref(), Some(second_path.as_path()));
|
||||
assert_ne!(app.source_key().workspace, source.workspace);
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
assert_eq!(app.document.revision(), revision);
|
||||
assert_eq!(std::fs::read_to_string(&first_path).unwrap(), VALID);
|
||||
assert_eq!(std::fs::read_to_string(&second_path).unwrap(), VALID);
|
||||
assert_eq!(app.source_diagnostics, warnings);
|
||||
let current = app
|
||||
.text_workspace
|
||||
.diagnostic_publication()
|
||||
.expect("identity-only save retained current warnings");
|
||||
assert_eq!(current.source(), app.source_key());
|
||||
assert_ne!(current.generation(), publication.generation());
|
||||
assert_cleared(&app, Some(job));
|
||||
for message in old {
|
||||
let interaction = app.source_symbols.interaction;
|
||||
send(&mut app, message);
|
||||
assert_eq!(app.source_symbols.interaction, interaction);
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
}
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
for message in warning_messages(&app) {
|
||||
send(&mut app, message);
|
||||
assert!(
|
||||
app.source_symbols.reveal.is_some(),
|
||||
"fresh primary and related warnings remain actionable"
|
||||
);
|
||||
reveal(&mut app);
|
||||
}
|
||||
let cursor = app.source_editor.cursor();
|
||||
send(&mut app, Message::SourceSymbolsReady(ready));
|
||||
assert!(app.source_symbols.in_flight.is_none());
|
||||
assert!(app.source_symbols.results.is_none());
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert_eq!(app.source_editor.cursor(), cursor);
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
assert!(!app.document.can_undo() && !app.document.can_redo());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker()
|
||||
{
|
||||
for pending in [false, true] {
|
||||
let directory = tempfile::tempdir().unwrap();
|
||||
let path = directory
|
||||
.path()
|
||||
.canonicalize()
|
||||
.unwrap()
|
||||
.join("broken.arcadia");
|
||||
let invalid = format!(
|
||||
"{} include \"missing.arcadia\";\r\n}}\r\n",
|
||||
VALID.strip_suffix("}\r\n").unwrap()
|
||||
);
|
||||
std::fs::write(&path, &invalid).unwrap();
|
||||
let mut app = fixture();
|
||||
let ready = seed_navigation(&mut app, pending);
|
||||
let job = ready.as_ref().map(|ready| ready.request.job);
|
||||
app.publish_source_diagnostics(vec![warning(&app)]);
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
let old = warning_messages(&app);
|
||||
let old_publication = app.text_workspace.diagnostic_publication().unwrap();
|
||||
let old_source = app.source_key();
|
||||
let accepted = app.document.snapshot();
|
||||
let open_menu = app.text_menu_message(Point::new(20., 20.));
|
||||
send(&mut app, open_menu);
|
||||
assert!(app.text_workspace.menu().is_some());
|
||||
let loaded = read_snapshot(path.clone()).unwrap();
|
||||
send(&mut app, Message::Loaded(Ok(Some(loaded))));
|
||||
assert!(!app.source_workspace.applied);
|
||||
assert_eq!(app.path.as_deref(), Some(path.as_path()));
|
||||
assert_ne!(app.source_key().workspace, old_source.workspace);
|
||||
assert_eq!(app.source_workspace.text(), invalid);
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
assert_cleared(&app, job);
|
||||
assert!(
|
||||
app.source_diagnostics
|
||||
.iter()
|
||||
.any(|issue| issue.diagnostic.severity == Severity::Error)
|
||||
);
|
||||
let publication = app.text_workspace.diagnostic_publication().unwrap();
|
||||
assert_eq!(publication.source(), app.source_key());
|
||||
assert_ne!(publication.generation(), old_publication.generation());
|
||||
for message in old {
|
||||
send(&mut app, message);
|
||||
}
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
let issue = app
|
||||
.source_diagnostics
|
||||
.iter()
|
||||
.find(|issue| {
|
||||
issue.path == app.source_workspace.active
|
||||
&& issue.diagnostic.span.end <= invalid.len()
|
||||
})
|
||||
.unwrap();
|
||||
let current = app
|
||||
.text_diagnostic_message(SourceLocation {
|
||||
path: issue.path.clone(),
|
||||
span: issue.diagnostic.span,
|
||||
})
|
||||
.unwrap();
|
||||
send(&mut app, current);
|
||||
assert!(app.source_symbols.reveal.is_some());
|
||||
reveal(&mut app);
|
||||
if let Some(ready) = ready {
|
||||
send(&mut app, Message::SourceSymbolsReady(ready));
|
||||
}
|
||||
assert!(app.source_symbols.in_flight.is_none());
|
||||
assert!(app.source_symbols.results.is_none());
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert_eq!(app.source_workspace.text(), invalid);
|
||||
assert_eq!(std::fs::read_to_string(&path).unwrap(), invalid);
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
assert!(!app.document.can_undo() && !app.document.can_redo());
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics() {
|
||||
for failed in [false, true] {
|
||||
let mut app = fixture();
|
||||
seed_navigation(&mut app, false);
|
||||
app.publish_source_diagnostics(vec![warning(&app)]);
|
||||
let results = app.source_symbols.results.clone().unwrap();
|
||||
let cache = app.source_symbols.cache.clone().unwrap();
|
||||
let display = app.source_symbols.display_request.clone();
|
||||
let back = app
|
||||
.source_symbols
|
||||
.back
|
||||
.iter()
|
||||
.map(|entry| {
|
||||
(
|
||||
entry.session,
|
||||
entry.path.clone(),
|
||||
entry.generation,
|
||||
entry.cursor,
|
||||
)
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
let key = app.source_key();
|
||||
let accepted = app.document.snapshot();
|
||||
let raw = app.source_workspace.bundle();
|
||||
let cursor = app.source_editor.cursor();
|
||||
let publication = app.text_workspace.diagnostic_publication();
|
||||
let diagnostics = app.source_diagnostics.clone();
|
||||
let visit = app.text_workspace.drawer_visit();
|
||||
let result = if failed {
|
||||
Err("Fixture read failed before installing a workspace".into())
|
||||
} else {
|
||||
Ok(None)
|
||||
};
|
||||
send(&mut app, Message::Loaded(result));
|
||||
assert_eq!(app.source_key(), key);
|
||||
assert_eq!(app.text_workspace.diagnostic_publication(), publication);
|
||||
assert_eq!(app.source_diagnostics, diagnostics);
|
||||
assert_eq!(app.text_workspace.drawer(), Some(DrawerTab::References));
|
||||
assert_eq!(app.text_workspace.drawer_visit(), visit);
|
||||
assert!(Arc::ptr_eq(
|
||||
app.source_symbols.results.as_ref().unwrap(),
|
||||
&results
|
||||
));
|
||||
assert!(Arc::ptr_eq(
|
||||
app.source_symbols.cache.as_ref().unwrap(),
|
||||
&cache
|
||||
));
|
||||
assert_eq!(app.source_symbols.display_request, display);
|
||||
assert_eq!(
|
||||
app.source_symbols
|
||||
.back
|
||||
.iter()
|
||||
.map(|entry| (
|
||||
entry.session,
|
||||
entry.path.clone(),
|
||||
entry.generation,
|
||||
entry.cursor
|
||||
))
|
||||
.collect::<Vec<_>>(),
|
||||
back
|
||||
);
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert_eq!(app.source_editor.cursor(), cursor);
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn saved_new_destination_does_not_revalidate_already_stale_warning_locations() {
|
||||
let first = tempfile::tempdir().unwrap();
|
||||
let second = tempfile::tempdir().unwrap();
|
||||
let first_path = first.path().canonicalize().unwrap().join("project.arcadia");
|
||||
let second_path = second
|
||||
.path()
|
||||
.canonicalize()
|
||||
.unwrap()
|
||||
.join("project.arcadia");
|
||||
let mut app = fixture();
|
||||
save(&mut app, &first_path);
|
||||
app.publish_source_diagnostics(vec![warning(&app)]);
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
let old = warning_messages(&app);
|
||||
let publication = app.text_workspace.diagnostic_publication().unwrap();
|
||||
let draft = format!("{VALID}// unsaved current draft\r\n");
|
||||
app.source_workspace
|
||||
.edit(draft.clone(), app.source_editor.cursor());
|
||||
app.show_source_file(false);
|
||||
assert_ne!(publication.source(), app.source_key());
|
||||
let accepted = app.document.snapshot();
|
||||
save(&mut app, &second_path);
|
||||
assert!(
|
||||
app.text_workspace.diagnostic_publication().is_none(),
|
||||
"identity-only reset cannot turn an old source span into a current warning"
|
||||
);
|
||||
send(
|
||||
&mut app,
|
||||
Message::TextWorkspace(Event::ShowDrawer(DrawerTab::Problems)),
|
||||
);
|
||||
assert!(
|
||||
app.text_diagnostic_message(SourceLocation {
|
||||
path: app.source_diagnostics[0].path.clone(),
|
||||
span: app.source_diagnostics[0].diagnostic.span,
|
||||
})
|
||||
.is_none()
|
||||
);
|
||||
for message in old {
|
||||
send(&mut app, message);
|
||||
}
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert_eq!(app.source_workspace.text(), draft);
|
||||
assert!(app.source_dirty());
|
||||
assert!(Arc::ptr_eq(&app.document.snapshot(), &accepted));
|
||||
assert_eq!(
|
||||
std::fs::read_to_string(&second_path).unwrap(),
|
||||
VALID,
|
||||
"receipt records accepted bytes while the newer draft remains unsaved"
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,617 @@
|
||||
use super::*;
|
||||
use crate::app::Page;
|
||||
use oa_core::{Project, language::Span};
|
||||
use std::sync::Arc;
|
||||
|
||||
fn fixture() -> App {
|
||||
let mut app = App::with_project(Project::empty());
|
||||
app.page = Page::Text;
|
||||
let diagnostics = app.source_diagnostics.clone();
|
||||
app.publish_source_diagnostics(diagnostics);
|
||||
assert!(app.source_navigation_available());
|
||||
app
|
||||
}
|
||||
fn send(app: &mut App, event: Event) {
|
||||
// Exercise the real envelope path; worker/lint futures are deliberately not
|
||||
// polled here. The parent owns serialized compile/runtime verification.
|
||||
let _ = app.update(Message::TextWorkspace(event));
|
||||
}
|
||||
fn toggle(app: &App, stamp: QueryStamp, path: String) -> Event {
|
||||
Event::ToggleFile {
|
||||
stamp,
|
||||
visit: app.text_workspace.drawer_visit(),
|
||||
path,
|
||||
}
|
||||
}
|
||||
fn open(app: &mut App) -> Id {
|
||||
let message = app.text_menu_message(Point::new(10., 20.));
|
||||
let _ = app.update(message);
|
||||
app.text_workspace.menu().unwrap().token()
|
||||
}
|
||||
fn invoke(app: &mut App, token: Id, command: Command) {
|
||||
send(app, Event::Invoke { token, command });
|
||||
}
|
||||
fn enabled(app: &App, command: Command) -> bool {
|
||||
app.text_workspace
|
||||
.menu
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.entries
|
||||
.iter()
|
||||
.find(|entry| entry.command == command)
|
||||
.is_some_and(|entry| entry.action.is_some())
|
||||
}
|
||||
fn back_entry(app: &App) -> nav::HistoryEntry {
|
||||
nav::HistoryEntry {
|
||||
session: app.source_workspace.session(),
|
||||
path: app.source_workspace.active.clone(),
|
||||
generation: app.source_workspace.files[&app.source_workspace.active].generation(),
|
||||
cursor: app.source_editor.cursor(),
|
||||
}
|
||||
}
|
||||
fn stamp(app: &App, serial: u64) -> QueryStamp {
|
||||
QueryStamp {
|
||||
snapshot: app.source_key(),
|
||||
serial,
|
||||
}
|
||||
}
|
||||
fn location(app: &App, start: usize, end: usize) -> SourceLocation {
|
||||
SourceLocation {
|
||||
path: app.source_workspace.active.clone(),
|
||||
span: Span { start, end },
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once() {
|
||||
let mut app = fixture();
|
||||
let old_interaction = app.source_symbols.interaction;
|
||||
let token = open(&mut app);
|
||||
assert_ne!(old_interaction, app.source_symbols.interaction);
|
||||
assert_eq!(
|
||||
app.text_workspace.menu.as_ref().unwrap().context,
|
||||
app.text_command_context()
|
||||
);
|
||||
assert!(enabled(&app, Command::Find));
|
||||
invoke(&mut app, token, Command::Find);
|
||||
assert!(app.source_navigation.open);
|
||||
assert!(app.text_workspace.menu().is_none());
|
||||
let instance = app.source_find_instance;
|
||||
invoke(&mut app, token, Command::Find);
|
||||
assert_eq!(
|
||||
app.source_find_instance, instance,
|
||||
"replay must not reopen Find"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn disabled_entry_cannot_become_a_new_action_under_the_same_menu_token() {
|
||||
let mut app = fixture();
|
||||
let token = open(&mut app);
|
||||
assert!(!enabled(&app, Command::Back));
|
||||
app.source_symbols.back.push(back_entry(&app));
|
||||
assert!(
|
||||
!enabled(&app, Command::Back),
|
||||
"frozen presentation must remain disabled"
|
||||
);
|
||||
invoke(&mut app, token, Command::Back);
|
||||
assert_eq!(
|
||||
app.source_symbols.back.len(),
|
||||
1,
|
||||
"a newly enabled action cannot be substituted"
|
||||
);
|
||||
assert!(app.source_symbols.reveal.is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy() {
|
||||
let mut app = fixture();
|
||||
let token = open(&mut app);
|
||||
assert!(enabled(&app, Command::Find));
|
||||
app.busy = true;
|
||||
assert!(enabled(&app, Command::Find));
|
||||
invoke(&mut app, token, Command::Find);
|
||||
assert!(!app.source_navigation.open);
|
||||
assert!(app.text_workspace.menu().is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn old_dismiss_and_invoke_do_not_consume_a_newer_menu() {
|
||||
let mut app = fixture();
|
||||
let old = open(&mut app);
|
||||
send(&mut app, Event::DismissMenu(old));
|
||||
let new = open(&mut app);
|
||||
send(&mut app, Event::DismissMenu(old));
|
||||
invoke(&mut app, old, Command::Find);
|
||||
assert_eq!(app.text_workspace.menu().unwrap().token(), new);
|
||||
assert!(!app.source_navigation.open);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn menu_source_caret_document_path_and_interaction_changes_refuse_stale_find() {
|
||||
for change in 0..6 {
|
||||
let mut app = fixture();
|
||||
let token = open(&mut app);
|
||||
match change {
|
||||
0 => {
|
||||
let value = format!("{}\n// changed", app.source_workspace.text());
|
||||
app.source_workspace.edit(value, app.source_editor.cursor());
|
||||
}
|
||||
1 => {
|
||||
let mut cursor = app.source_editor.cursor();
|
||||
cursor.position.column += 1;
|
||||
app.source_editor.move_to(cursor);
|
||||
}
|
||||
2 => app.canvas_document = Id::new_v4(),
|
||||
3 => app.source_workspace.active = "other.arcadia".into(),
|
||||
4 => app.source_symbols.interaction = Id::new_v4(),
|
||||
_ => {
|
||||
let mut bundle = app.document.bundle().clone();
|
||||
bundle
|
||||
.files
|
||||
.get_mut(&bundle.entry)
|
||||
.unwrap()
|
||||
.push_str("\n// accepted revision");
|
||||
assert!(app.document.apply_bundle(bundle).unwrap());
|
||||
}
|
||||
}
|
||||
invoke(&mut app, token, Command::Find);
|
||||
assert!(!app.source_navigation.open, "stale context case {change}");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_and_property_drafts_keep_find_and_text_undo_without_model_application() {
|
||||
let mut app = fixture();
|
||||
let accepted = app.document.bundle().clone();
|
||||
let revision = app.document.revision();
|
||||
let pending_name = "Pending property draft";
|
||||
// Use the actual property input route before source edits coexist. Changing
|
||||
// Draft::value alone is overwritten by its authoritative raw input buffer.
|
||||
let _ = app.update(Message::Field("/name".into(), pending_name.into()));
|
||||
let assert_pending_property = |app: &App| {
|
||||
let draft = app.draft.as_ref().unwrap();
|
||||
assert!(draft.dirty());
|
||||
assert_eq!(draft.inputs["/name"].raw, pending_name);
|
||||
assert_eq!(draft.inputs["/name"].editor.text(), pending_name);
|
||||
assert_eq!(
|
||||
draft.materialize().unwrap()["name"].as_str(),
|
||||
Some(pending_name)
|
||||
);
|
||||
};
|
||||
assert_pending_property(&app);
|
||||
let initial = app.source_workspace.text().to_owned();
|
||||
app.source_workspace
|
||||
.edit(format!("{initial}\n// draft"), app.source_editor.cursor());
|
||||
app.show_source_file(false);
|
||||
assert!(app.source_dirty() && app.draft_dirty());
|
||||
let token = open(&mut app);
|
||||
assert!(enabled(&app, Command::Find) && enabled(&app, Command::UndoText));
|
||||
assert!(!enabled(&app, Command::RenameAlias) && !enabled(&app, Command::UndoModel));
|
||||
invoke(&mut app, token, Command::Find);
|
||||
assert!(app.source_navigation.open);
|
||||
assert_pending_property(&app);
|
||||
let token = open(&mut app);
|
||||
invoke(&mut app, token, Command::UndoText);
|
||||
assert_eq!(app.source_workspace.text(), initial);
|
||||
assert_pending_property(&app);
|
||||
assert_eq!(app.document.revision(), revision);
|
||||
assert_eq!(app.document.bundle(), &accepted);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn queued_toolbar_request_cannot_retarget_after_source_change() {
|
||||
let mut app = fixture();
|
||||
let request = app.text_command_message(Command::Find);
|
||||
app.source_workspace
|
||||
.edit("// changed".into(), app.source_editor.cursor());
|
||||
let _ = app.update(request);
|
||||
assert!(!app.source_navigation.open);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn equal_diagnostic_republication_invalidates_primary_and_related_targets() {
|
||||
let mut app = fixture();
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
let primary = app.text_diagnostic_message(location(&app, 0, 1)).unwrap();
|
||||
let related = app.text_diagnostic_message(location(&app, 1, 2)).unwrap();
|
||||
let previous = app.text_workspace.diagnostic_publication().unwrap();
|
||||
app.publish_source_diagnostics(app.source_diagnostics.clone());
|
||||
let current = app.text_workspace.diagnostic_publication().unwrap();
|
||||
assert_eq!(previous.source(), current.source());
|
||||
assert_ne!(previous.generation(), current.generation());
|
||||
for message in [primary, related] {
|
||||
let interaction = app.source_symbols.interaction;
|
||||
let _ = app.update(message);
|
||||
assert_eq!(app.source_symbols.interaction, interaction);
|
||||
assert!(app.source_symbols.reveal.is_none());
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it() {
|
||||
let mut app = fixture();
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
let message = app.text_diagnostic_message(location(&app, 0, 1)).unwrap();
|
||||
let _ = app.update(message);
|
||||
assert!(app.source_symbols.reveal.is_some());
|
||||
app.source_interaction();
|
||||
let message = app.text_diagnostic_message(location(&app, 0, 1)).unwrap();
|
||||
app.source_workspace
|
||||
.edit("// newer".into(), app.source_editor.cursor());
|
||||
let _ = app.update(message);
|
||||
assert!(app.source_symbols.reveal.is_none());
|
||||
assert!(app.text_diagnostic_message(location(&app, 0, 1)).is_none());
|
||||
app.publish_source_diagnostics(Vec::new());
|
||||
let message = app.text_diagnostic_message(location(&app, 0, 1)).unwrap();
|
||||
app.publish_source_diagnostics(Vec::new());
|
||||
let _ = app.update(message);
|
||||
assert!(app.source_symbols.reveal.is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn diagnostic_span_must_be_loaded_ordered_and_utf8_exact() {
|
||||
let mut app = fixture();
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
app.source_workspace
|
||||
.edit("a雨b".into(), app.source_editor.cursor());
|
||||
app.show_source_file(false);
|
||||
app.publish_source_diagnostics(Vec::new());
|
||||
let mut missing = location(&app, 0, 1);
|
||||
missing.path = "missing.arcadia".into();
|
||||
for target in [
|
||||
location(&app, 3, 2),
|
||||
location(&app, 0, 6),
|
||||
location(&app, 2, 4),
|
||||
location(&app, 1, 3),
|
||||
missing,
|
||||
] {
|
||||
let message = app.text_diagnostic_message(target).unwrap();
|
||||
let _ = app.update(message);
|
||||
assert!(app.source_symbols.reveal.is_none());
|
||||
}
|
||||
let message = app.text_diagnostic_message(location(&app, 1, 4)).unwrap();
|
||||
let _ = app.update(message);
|
||||
assert!(app.source_symbols.reveal.is_some());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries() {
|
||||
let mut app = fixture();
|
||||
let first = stamp(&app, 1);
|
||||
app.text_workspace
|
||||
.begin_references(first, "b/use.arcadia".into());
|
||||
app.text_workspace
|
||||
.install_reference_files(first, ["a/use.arcadia".into(), "b/use.arcadia".into()]);
|
||||
assert!(app.text_workspace.references().collapsed("a/use.arcadia"));
|
||||
assert!(!app.text_workspace.references().collapsed("b/use.arcadia"));
|
||||
let event = toggle(&app, first, "a/use.arcadia".into());
|
||||
send(&mut app, event);
|
||||
let old_visit = app.text_workspace.drawer_visit();
|
||||
let old_scroll_id = app.text_workspace.reference_scroll_id();
|
||||
let interaction = app.source_symbols.interaction;
|
||||
send(
|
||||
&mut app,
|
||||
Event::ReferenceScrolled {
|
||||
stamp: first,
|
||||
visit: old_visit,
|
||||
y: 123.,
|
||||
},
|
||||
);
|
||||
assert_eq!(
|
||||
app.source_symbols.interaction, interaction,
|
||||
"scroll is passive"
|
||||
);
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Status));
|
||||
send(
|
||||
&mut app,
|
||||
Event::ReferenceScrolled {
|
||||
stamp: first,
|
||||
visit: old_visit,
|
||||
y: 0.,
|
||||
},
|
||||
);
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::References));
|
||||
assert_eq!(app.text_workspace.references().scroll_y(), 123.);
|
||||
assert!(!app.text_workspace.references().collapsed("a/use.arcadia"));
|
||||
send(
|
||||
&mut app,
|
||||
Event::ReferenceScrolled {
|
||||
stamp: first,
|
||||
visit: old_visit,
|
||||
y: 0.,
|
||||
},
|
||||
);
|
||||
assert_eq!(app.text_workspace.references().scroll_y(), 123.);
|
||||
assert_ne!(app.text_workspace.reference_scroll_id(), old_scroll_id);
|
||||
let second = stamp(&app, 2);
|
||||
app.text_workspace
|
||||
.begin_references(second, "absent.arcadia".into());
|
||||
app.text_workspace
|
||||
.install_reference_files(first, ["old.arcadia".into()]);
|
||||
app.text_workspace
|
||||
.install_reference_files(second, ["b/use.arcadia".into(), "a/use.arcadia".into()]);
|
||||
assert_eq!(app.text_workspace.references().scroll_y(), 0.);
|
||||
assert!(!app.text_workspace.references().collapsed("a/use.arcadia"));
|
||||
assert!(app.text_workspace.references().collapsed("b/use.arcadia"));
|
||||
let event = toggle(&app, first, "b/use.arcadia".into());
|
||||
send(&mut app, event);
|
||||
assert!(app.text_workspace.references().collapsed("b/use.arcadia"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reset_removes_ui_and_publication_authority_and_resize_rejects_nan() {
|
||||
let mut app = fixture();
|
||||
open(&mut app);
|
||||
app.text_workspace.reset();
|
||||
assert!(app.text_workspace.menu().is_none());
|
||||
assert!(app.text_workspace.diagnostic_publication().is_none());
|
||||
assert!(app.text_workspace.drawer().is_none());
|
||||
send(&mut app, Event::ResizeDrawer(f32::NAN));
|
||||
assert_eq!(app.text_workspace.drawer_height(), 180.);
|
||||
send(&mut app, Event::ResizeDrawer(f32::MAX));
|
||||
assert_eq!(app.text_workspace.drawer_height(), 1200.);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn only_valid_explicit_group_and_resize_intent_cancel_pending_navigation() {
|
||||
let mut app = fixture();
|
||||
let current = stamp(&app, 1);
|
||||
app.text_workspace
|
||||
.begin_references(current, "uses.arcadia".into());
|
||||
app.text_workspace
|
||||
.install_reference_files(current, ["uses.arcadia".into()]);
|
||||
let request = nav::Request {
|
||||
job: Id::new_v4(),
|
||||
interaction: app.source_symbols.interaction,
|
||||
raw_interaction: 0,
|
||||
stamp: current,
|
||||
path: app.source_workspace.active.clone(),
|
||||
offset: 0,
|
||||
cursor: app.source_editor.cursor(),
|
||||
action: nav::query::Action::References,
|
||||
};
|
||||
app.source_symbols.request = Some(request.clone());
|
||||
app.source_symbols.in_flight = Some(request.job);
|
||||
let interaction = app.source_symbols.interaction;
|
||||
let event = toggle(&app, current, "not-a-group.arcadia".into());
|
||||
send(&mut app, event);
|
||||
let old = QueryStamp {
|
||||
serial: 0,
|
||||
..current
|
||||
};
|
||||
let event = toggle(&app, old, "uses.arcadia".into());
|
||||
send(&mut app, event);
|
||||
send(&mut app, Event::ResizeDrawer(f32::NAN));
|
||||
send(&mut app, Event::ResizeDrawer(180.));
|
||||
assert_eq!(app.source_symbols.interaction, interaction);
|
||||
assert!(app.source_symbols.request.is_some());
|
||||
let event = toggle(&app, current, "uses.arcadia".into());
|
||||
send(&mut app, event);
|
||||
assert!(app.source_symbols.request.is_none());
|
||||
assert_ne!(app.source_symbols.interaction, interaction);
|
||||
assert_eq!(
|
||||
app.source_symbols.in_flight,
|
||||
Some(request.job),
|
||||
"intent does not release an occupied worker"
|
||||
);
|
||||
app.source_symbols.request = Some(request.clone());
|
||||
send(&mut app, Event::ResizeDrawer(240.));
|
||||
assert!(app.source_symbols.request.is_none());
|
||||
app.source_symbols.request = Some(request.clone());
|
||||
send(&mut app, Event::HideDrawer);
|
||||
assert!(app.source_symbols.request.is_none());
|
||||
assert_eq!(app.source_symbols.in_flight, Some(request.job));
|
||||
assert_eq!(app.text_workspace.references().stamp(), Some(current));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn stale_retained_group_can_expand_without_navigating_or_applying_drafts() {
|
||||
let mut app = fixture();
|
||||
let current = stamp(&app, 1);
|
||||
let path = app.source_workspace.active.clone();
|
||||
app.text_workspace.begin_references(current, path.clone());
|
||||
app.text_workspace
|
||||
.install_reference_files(current, [path.clone()]);
|
||||
let event = toggle(&app, current, path.clone());
|
||||
send(&mut app, event);
|
||||
assert!(app.text_workspace.references().collapsed(&path));
|
||||
let accepted = app.document.snapshot();
|
||||
let _ = app.update(Message::SourceEdit(widget::text_editor::Action::Edit(
|
||||
widget::text_editor::Edit::Insert(' '),
|
||||
)));
|
||||
assert_ne!(current.snapshot, app.source_key());
|
||||
let raw = app.source_workspace.bundle();
|
||||
let cursor = app.source_editor.cursor();
|
||||
let event = toggle(&app, current, path.clone());
|
||||
send(&mut app, event);
|
||||
assert!(!app.text_workspace.references().collapsed(&path));
|
||||
assert_eq!(app.source_workspace.active, path);
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert_eq!(app.source_editor.cursor(), cursor);
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_symbols.back.is_empty());
|
||||
assert!(std::sync::Arc::ptr_eq(&accepted, &app.document.snapshot()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority() {
|
||||
let mut app = fixture();
|
||||
let old = open(&mut app);
|
||||
let sequence = app.text_workspace_menu().unwrap().token;
|
||||
app.reset(Project::empty(), None);
|
||||
assert!(app.text_workspace.menu().is_none());
|
||||
app.page = Page::Text;
|
||||
let fresh = open(&mut app);
|
||||
assert_ne!(old, fresh);
|
||||
assert!(app.text_workspace_menu().unwrap().token > sequence);
|
||||
invoke(&mut app, old, Command::Find);
|
||||
assert!(!app.source_navigation.open);
|
||||
assert_eq!(app.text_workspace.menu().unwrap().token(), fresh);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems() {
|
||||
for hide in [false, true] {
|
||||
let mut app = fixture();
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
let old_visit = app.text_workspace.drawer_visit();
|
||||
let publication = app.text_workspace.diagnostic_publication();
|
||||
let targets = [location(&app, 0, 1), location(&app, 1, 2)];
|
||||
let old = targets
|
||||
.iter()
|
||||
.cloned()
|
||||
.map(|target| app.text_diagnostic_message(target).unwrap())
|
||||
.collect::<Vec<_>>();
|
||||
let accepted = app.document.snapshot();
|
||||
let raw = app.source_workspace.bundle();
|
||||
let history = (
|
||||
app.document.revision(),
|
||||
app.document.can_undo(),
|
||||
app.document.can_redo(),
|
||||
app.document.dirty(),
|
||||
);
|
||||
let event = if hide {
|
||||
Event::HideDrawer
|
||||
} else {
|
||||
Event::ShowDrawer(DrawerTab::References)
|
||||
};
|
||||
send(&mut app, event);
|
||||
for reopened in [false, true] {
|
||||
if reopened {
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
} else {
|
||||
assert!(app.text_diagnostic_message(targets[0].clone()).is_none());
|
||||
}
|
||||
assert_ne!(app.text_workspace.drawer_visit(), old_visit);
|
||||
assert_eq!(
|
||||
app.text_workspace.diagnostic_publication(),
|
||||
publication,
|
||||
"same list and source isolate the visit guard from publication freshness"
|
||||
);
|
||||
let context = app.text_command_context();
|
||||
let drawer = app.text_workspace.drawer();
|
||||
let visit = app.text_workspace.drawer_visit();
|
||||
for message in old.iter().cloned() {
|
||||
let _ = app.update(message);
|
||||
assert_eq!(
|
||||
app.text_command_context(),
|
||||
context,
|
||||
"stale diagnostic must fail before interaction invalidation"
|
||||
);
|
||||
assert_eq!(app.text_workspace.drawer(), drawer);
|
||||
assert_eq!(app.text_workspace.drawer_visit(), visit);
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert!(app.source_symbols.back.is_empty());
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert!(Arc::ptr_eq(&accepted, &app.document.snapshot()));
|
||||
assert_eq!(
|
||||
(
|
||||
app.document.revision(),
|
||||
app.document.can_undo(),
|
||||
app.document.can_redo(),
|
||||
app.document.dirty()
|
||||
),
|
||||
history
|
||||
);
|
||||
}
|
||||
}
|
||||
for target in targets {
|
||||
let fresh = app.text_diagnostic_message(target).unwrap();
|
||||
let _ = app.update(fresh);
|
||||
assert!(
|
||||
app.source_symbols.reveal.is_some(),
|
||||
"fresh primary and related targets remain usable"
|
||||
);
|
||||
app.source_interaction();
|
||||
}
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert!(Arc::ptr_eq(&accepted, &app.document.snapshot()));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn queued_group_toggle_cannot_mutate_a_reopened_or_rotated_visit() {
|
||||
for replacement in 0..3 {
|
||||
let mut app = fixture();
|
||||
let current = stamp(&app, 1);
|
||||
app.text_workspace
|
||||
.begin_references(current, "a.arcadia".into());
|
||||
app.text_workspace
|
||||
.install_reference_files(current, ["a.arcadia".into(), "b.arcadia".into()]);
|
||||
let old = toggle(&app, current, "a.arcadia".into());
|
||||
let old_visit = app.text_workspace.drawer_visit();
|
||||
match replacement {
|
||||
0 => {
|
||||
send(&mut app, Event::HideDrawer);
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::References));
|
||||
}
|
||||
1 => {
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::Problems));
|
||||
send(&mut app, Event::ShowDrawer(DrawerTab::References));
|
||||
}
|
||||
_ => {
|
||||
let event = toggle(&app, current, "b.arcadia".into());
|
||||
send(&mut app, event);
|
||||
}
|
||||
}
|
||||
let visit = app.text_workspace.drawer_visit();
|
||||
assert_ne!(visit, old_visit);
|
||||
send(
|
||||
&mut app,
|
||||
Event::ReferenceScrolled {
|
||||
stamp: current,
|
||||
visit,
|
||||
y: 84.,
|
||||
},
|
||||
);
|
||||
let scroll_id = app.text_workspace.reference_scroll_id();
|
||||
let request = nav::Request {
|
||||
job: Id::new_v4(),
|
||||
interaction: app.source_symbols.interaction,
|
||||
raw_interaction: 0,
|
||||
stamp: current,
|
||||
path: app.source_workspace.active.clone(),
|
||||
offset: 0,
|
||||
cursor: app.source_editor.cursor(),
|
||||
action: nav::query::Action::References,
|
||||
};
|
||||
app.source_symbols.request = Some(request.clone());
|
||||
app.source_symbols.in_flight = Some(request.job);
|
||||
let groups =
|
||||
["a.arcadia", "b.arcadia"].map(|path| app.text_workspace.references().collapsed(path));
|
||||
let context = app.text_command_context();
|
||||
let accepted = app.document.snapshot();
|
||||
let raw = app.source_workspace.bundle();
|
||||
for _ in 0..2 {
|
||||
send(&mut app, old.clone());
|
||||
assert_eq!(app.text_workspace.drawer_visit(), visit);
|
||||
assert_eq!(app.text_workspace.references().scroll_y(), 84.);
|
||||
assert_eq!(app.text_workspace.reference_scroll_id(), scroll_id);
|
||||
assert_eq!(app.text_workspace.references().stamp(), Some(current));
|
||||
assert_eq!(
|
||||
["a.arcadia", "b.arcadia"]
|
||||
.map(|path| app.text_workspace.references().collapsed(path)),
|
||||
groups,
|
||||
);
|
||||
assert_eq!(app.text_command_context(), context);
|
||||
assert_eq!(app.source_symbols.request.as_ref(), Some(&request));
|
||||
assert_eq!(app.source_symbols.in_flight, Some(request.job));
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
}
|
||||
let fresh = toggle(&app, current, "a.arcadia".into());
|
||||
send(&mut app, fresh);
|
||||
assert_eq!(
|
||||
app.text_workspace.references().collapsed("a.arcadia"),
|
||||
!groups[0]
|
||||
);
|
||||
assert_ne!(app.text_workspace.drawer_visit(), visit);
|
||||
assert_ne!(app.source_symbols.interaction, context.interaction);
|
||||
assert!(app.source_symbols.request.is_none());
|
||||
assert_eq!(app.source_symbols.in_flight, Some(request.job));
|
||||
assert!(app.source_symbols.reveal.is_none() && app.source_jump.is_none());
|
||||
assert!(app.source_symbols.back.is_empty());
|
||||
assert_eq!(app.source_workspace.bundle(), raw);
|
||||
assert!(Arc::ptr_eq(&accepted, &app.document.snapshot()));
|
||||
assert!(!app.document.can_undo() && !app.document.can_redo());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
//! Publication-and-visit-bound input for a mounted diagnostic list.
|
||||
//!
|
||||
//! Keep this wrapper at the same widget-tree position, inside the list's outer
|
||||
//! scroller. Pass `None` with an empty child while hidden/removed; unmounting the
|
||||
//! wrapper loses its ability to consume an outstanding release. Every change to
|
||||
//! row identity/order/action must have a fresh publication Id. Pass the pair
|
||||
//! (publication generation, drawer visit): a new visit resets armed controls even
|
||||
//! if Hide and Show coalesce without an intermediate hidden Tree. The child tree
|
||||
//! resets when either component changes, clearing button presses and row focus;
|
||||
//! the outer scroller and editor trees are not reset.
|
||||
//!
|
||||
//! Capturing stops Iced event bubbling and later consumers that respect capture.
|
||||
//! It cannot undo an earlier sibling's event handling. This is a row-list guard,
|
||||
//! not a root event filter or a guard for actions in child overlays. Diagnostic
|
||||
//! messages still need publication/snapshot and drawer-visit validation at dispatch.
|
||||
use iced::advanced::{Clipboard, Layout, Shell, Widget, layout, overlay, renderer, widget};
|
||||
use iced::{Element, Event, Length, Rectangle, Size, Vector, mouse, touch};
|
||||
use oa_core::Id;
|
||||
|
||||
pub struct Guard<'a, Message, Theme = iced::Theme, Renderer = iced::Renderer> {
|
||||
identity: Option<(Id, Id)>,
|
||||
content: Element<'a, Message, Theme, Renderer>,
|
||||
}
|
||||
|
||||
impl<'a, Message, Theme, Renderer> Guard<'a, Message, Theme, Renderer> {
|
||||
pub fn new(
|
||||
identity: Option<(Id, Id)>,
|
||||
content: impl Into<Element<'a, Message, Theme, Renderer>>,
|
||||
) -> Self {
|
||||
Self {
|
||||
identity,
|
||||
content: content.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
enum Pointer {
|
||||
Mouse,
|
||||
Touch(touch::Finger),
|
||||
}
|
||||
impl Pointer {
|
||||
fn press(event: &Event) -> Option<Self> {
|
||||
match event {
|
||||
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => Some(Self::Mouse),
|
||||
Event::Touch(touch::Event::FingerPressed { id, .. }) => Some(Self::Touch(*id)),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
fn release(event: &Event) -> Option<Self> {
|
||||
match event {
|
||||
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => Some(Self::Mouse),
|
||||
Event::Touch(
|
||||
touch::Event::FingerLifted { id, .. } | touch::Event::FingerLost { id, .. },
|
||||
) => Some(Self::Touch(*id)),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct State {
|
||||
identity: Option<(Id, Id)>,
|
||||
pressed: Option<Pointer>,
|
||||
swallowed: Vec<Pointer>,
|
||||
}
|
||||
impl State {
|
||||
fn quarantine(&mut self, pointer: Pointer) {
|
||||
if !self.swallowed.contains(&pointer) {
|
||||
self.swallowed.push(pointer);
|
||||
}
|
||||
}
|
||||
fn forget(&mut self, pointer: Pointer) -> bool {
|
||||
let found = self.swallowed.contains(&pointer);
|
||||
self.swallowed.retain(|item| *item != pointer);
|
||||
found
|
||||
}
|
||||
}
|
||||
|
||||
impl<Message, Theme, Renderer: renderer::Renderer> Widget<Message, Theme, Renderer>
|
||||
for Guard<'_, Message, Theme, Renderer>
|
||||
{
|
||||
fn tag(&self) -> widget::tree::Tag {
|
||||
widget::tree::Tag::of::<State>()
|
||||
}
|
||||
fn state(&self) -> widget::tree::State {
|
||||
widget::tree::State::new(State {
|
||||
identity: self.identity,
|
||||
pressed: None,
|
||||
swallowed: Vec::new(),
|
||||
})
|
||||
}
|
||||
fn children(&self) -> Vec<widget::Tree> {
|
||||
vec![widget::Tree::new(&self.content)]
|
||||
}
|
||||
fn diff(&self, tree: &mut widget::Tree) {
|
||||
let state = tree.state.downcast_mut::<State>();
|
||||
if state.identity != self.identity {
|
||||
state.identity = self.identity;
|
||||
if let Some(pointer) = state.pressed.take() {
|
||||
state.quarantine(pointer);
|
||||
}
|
||||
tree.children = self.children();
|
||||
} else {
|
||||
tree.diff_children(std::slice::from_ref(&self.content));
|
||||
}
|
||||
}
|
||||
fn size(&self) -> Size<Length> {
|
||||
self.content.as_widget().size()
|
||||
}
|
||||
fn size_hint(&self) -> Size<Length> {
|
||||
self.content.as_widget().size_hint()
|
||||
}
|
||||
fn layout(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
renderer: &Renderer,
|
||||
limits: &layout::Limits,
|
||||
) -> layout::Node {
|
||||
self.content
|
||||
.as_widget_mut()
|
||||
.layout(&mut tree.children[0], renderer, limits)
|
||||
}
|
||||
fn operate(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
layout: Layout<'_>,
|
||||
renderer: &Renderer,
|
||||
operation: &mut dyn widget::Operation,
|
||||
) {
|
||||
self.content
|
||||
.as_widget_mut()
|
||||
.operate(&mut tree.children[0], layout, renderer, operation);
|
||||
}
|
||||
fn update(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
clipboard: &mut dyn Clipboard,
|
||||
shell: &mut Shell<'_, Message>,
|
||||
viewport: &Rectangle,
|
||||
) {
|
||||
let state = tree.state.downcast_mut::<State>();
|
||||
let release = Pointer::release(event);
|
||||
if let Some(pointer) = release {
|
||||
// Bounds may have become empty or moved. Consume the physical
|
||||
// gesture's terminal event regardless of its current position.
|
||||
if state.forget(pointer) {
|
||||
shell.capture_event();
|
||||
return;
|
||||
}
|
||||
// Iced Button has a single is_pressed bit, not a pointer identity.
|
||||
// A different finger/mouse release must not activate that button.
|
||||
if state.pressed.is_some_and(|pressed| pressed != pointer) {
|
||||
shell.capture_event();
|
||||
return;
|
||||
}
|
||||
}
|
||||
let press = Pointer::press(event);
|
||||
if let Some(pointer) = state.pressed.filter(|pointer| {
|
||||
press == Some(*pointer) || (release == Some(*pointer) && shell.is_event_captured())
|
||||
}) {
|
||||
// Recover an omitted terminal event, or cancel one intercepted by
|
||||
// an earlier consumer. An off-target mouse release / lost touch
|
||||
// clears Iced Button's pressed state without rebuilding this
|
||||
// publication's tree (which would also discard row focus).
|
||||
state.pressed = None;
|
||||
let cancel = match pointer {
|
||||
Pointer::Mouse => Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)),
|
||||
Pointer::Touch(id) => Event::Touch(touch::Event::FingerLost {
|
||||
id,
|
||||
position: iced::Point::ORIGIN,
|
||||
}),
|
||||
};
|
||||
let mut discarded = Vec::new();
|
||||
let mut cancellation = Shell::new(&mut discarded);
|
||||
self.content.as_widget_mut().update(
|
||||
&mut tree.children[0],
|
||||
&cancel,
|
||||
layout,
|
||||
mouse::Cursor::Unavailable,
|
||||
renderer,
|
||||
clipboard,
|
||||
&mut cancellation,
|
||||
viewport,
|
||||
);
|
||||
// Cancellation must not publish an action or capture the fresh
|
||||
// down. Preserve rendering requests from the state change only.
|
||||
shell.request_redraw();
|
||||
if cancellation.is_layout_invalid() {
|
||||
shell.invalidate_layout();
|
||||
}
|
||||
if cancellation.are_widgets_invalid() {
|
||||
shell.invalidate_widgets();
|
||||
}
|
||||
}
|
||||
if shell.is_event_captured() || self.identity.is_none() {
|
||||
return;
|
||||
}
|
||||
if let Some(pointer) = press {
|
||||
// A fresh down starts a new gesture even if the platform omitted a
|
||||
// previous release (for example while the window lacked focus).
|
||||
state.forget(pointer);
|
||||
if let Some(pressed) = state.pressed {
|
||||
if pressed != pointer {
|
||||
state.quarantine(pointer);
|
||||
}
|
||||
shell.capture_event();
|
||||
return;
|
||||
}
|
||||
}
|
||||
let was_pressed = release.is_some() && release == state.pressed;
|
||||
if was_pressed {
|
||||
state.pressed = None;
|
||||
}
|
||||
self.content.as_widget_mut().update(
|
||||
&mut tree.children[0],
|
||||
event,
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
viewport,
|
||||
);
|
||||
if let Some(pointer) = press
|
||||
&& shell.is_event_captured()
|
||||
{
|
||||
state.pressed = Some(pointer);
|
||||
}
|
||||
if was_pressed {
|
||||
// FingerLost cancels Iced Button state but does not itself capture.
|
||||
shell.capture_event();
|
||||
}
|
||||
}
|
||||
fn draw(
|
||||
&self,
|
||||
tree: &widget::Tree,
|
||||
renderer: &mut Renderer,
|
||||
theme: &Theme,
|
||||
style: &renderer::Style,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
viewport: &Rectangle,
|
||||
) {
|
||||
self.content.as_widget().draw(
|
||||
&tree.children[0],
|
||||
renderer,
|
||||
theme,
|
||||
style,
|
||||
layout,
|
||||
cursor,
|
||||
viewport,
|
||||
);
|
||||
}
|
||||
fn mouse_interaction(
|
||||
&self,
|
||||
tree: &widget::Tree,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
viewport: &Rectangle,
|
||||
renderer: &Renderer,
|
||||
) -> mouse::Interaction {
|
||||
self.content.as_widget().mouse_interaction(
|
||||
&tree.children[0],
|
||||
layout,
|
||||
cursor,
|
||||
viewport,
|
||||
renderer,
|
||||
)
|
||||
}
|
||||
fn overlay<'b>(
|
||||
&'b mut self,
|
||||
tree: &'b mut widget::Tree,
|
||||
layout: Layout<'b>,
|
||||
renderer: &Renderer,
|
||||
viewport: &Rectangle,
|
||||
translation: Vector,
|
||||
) -> Option<overlay::Element<'b, Message, Theme, Renderer>> {
|
||||
self.content.as_widget_mut().overlay(
|
||||
&mut tree.children[0],
|
||||
layout,
|
||||
renderer,
|
||||
viewport,
|
||||
translation,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, Message: 'a, Theme: 'a, Renderer: renderer::Renderer + 'a>
|
||||
From<Guard<'a, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
|
||||
{
|
||||
fn from(guard: Guard<'a, Message, Theme, Renderer>) -> Self {
|
||||
Element::new(guard)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
@@ -0,0 +1,626 @@
|
||||
use super::*;
|
||||
use iced::advanced::widget::operation::{self, Focusable, Scrollable};
|
||||
use iced::widget::{Space, button, column, container, mouse_area, scrollable, text_input};
|
||||
use iced::{Point, Theme, event, keyboard};
|
||||
|
||||
type View = Element<'static, Message, Theme, ()>;
|
||||
const BOUNDS: Rectangle = Rectangle {
|
||||
x: 0.,
|
||||
y: 0.,
|
||||
width: 400.,
|
||||
height: 300.,
|
||||
};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
enum Message {
|
||||
Primary(u8),
|
||||
Related(u8),
|
||||
BackgroundButton,
|
||||
BackgroundRelease,
|
||||
Submit(u8),
|
||||
Edit,
|
||||
}
|
||||
|
||||
fn rows(version: u8) -> View {
|
||||
column![
|
||||
button(Space::new())
|
||||
.width(200.)
|
||||
.height(40.)
|
||||
.padding(0)
|
||||
.on_press(Message::Primary(version)),
|
||||
button(Space::new())
|
||||
.width(200.)
|
||||
.height(40.)
|
||||
.padding(0)
|
||||
.on_press(Message::Related(version)),
|
||||
]
|
||||
.into()
|
||||
}
|
||||
fn guarded(generation: Option<Id>, version: u8) -> View {
|
||||
let child: View = if generation.is_some() {
|
||||
rows(version)
|
||||
} else {
|
||||
Space::new().into()
|
||||
};
|
||||
Guard::new(
|
||||
generation.map(|publication| (publication, Id::nil())),
|
||||
child,
|
||||
)
|
||||
.into()
|
||||
}
|
||||
fn press() -> Event {
|
||||
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left))
|
||||
}
|
||||
fn release() -> Event {
|
||||
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left))
|
||||
}
|
||||
fn enter() -> Event {
|
||||
Event::Keyboard(keyboard::Event::KeyPressed {
|
||||
key: keyboard::Key::Named(keyboard::key::Named::Enter),
|
||||
modified_key: keyboard::Key::Named(keyboard::key::Named::Enter),
|
||||
physical_key: keyboard::key::Physical::Code(keyboard::key::Code::Enter),
|
||||
location: keyboard::Location::Standard,
|
||||
modifiers: keyboard::Modifiers::empty(),
|
||||
text: None,
|
||||
repeat: false,
|
||||
})
|
||||
}
|
||||
fn touch_down(id: u64, position: Point) -> Event {
|
||||
Event::Touch(touch::Event::FingerPressed {
|
||||
id: touch::Finger(id),
|
||||
position,
|
||||
})
|
||||
}
|
||||
fn touch_up(id: u64, position: Point) -> Event {
|
||||
Event::Touch(touch::Event::FingerLifted {
|
||||
id: touch::Finger(id),
|
||||
position,
|
||||
})
|
||||
}
|
||||
fn touch_lost(id: u64, position: Point) -> Event {
|
||||
Event::Touch(touch::Event::FingerLost {
|
||||
id: touch::Finger(id),
|
||||
position,
|
||||
})
|
||||
}
|
||||
|
||||
struct Mounted {
|
||||
view: View,
|
||||
tree: widget::Tree,
|
||||
node: layout::Node,
|
||||
}
|
||||
impl Mounted {
|
||||
fn new(mut view: View) -> Self {
|
||||
let mut tree = widget::Tree::new(view.as_widget());
|
||||
let node = view.as_widget_mut().layout(
|
||||
&mut tree,
|
||||
&(),
|
||||
&layout::Limits::new(Size::ZERO, BOUNDS.size()),
|
||||
);
|
||||
Self { view, tree, node }
|
||||
}
|
||||
fn replace(&mut self, mut view: View) {
|
||||
self.tree.diff(view.as_widget());
|
||||
self.node = view.as_widget_mut().layout(
|
||||
&mut self.tree,
|
||||
&(),
|
||||
&layout::Limits::new(Size::ZERO, BOUNDS.size()),
|
||||
);
|
||||
self.view = view;
|
||||
}
|
||||
fn event(&mut self, event: Event, point: Point) -> (Vec<Message>, event::Status) {
|
||||
self.event_with_capture(event, point, false)
|
||||
}
|
||||
fn event_with_capture(
|
||||
&mut self,
|
||||
event: Event,
|
||||
point: Point,
|
||||
captured: bool,
|
||||
) -> (Vec<Message>, event::Status) {
|
||||
let mut messages = Vec::new();
|
||||
let mut shell = Shell::new(&mut messages);
|
||||
if captured {
|
||||
shell.capture_event();
|
||||
}
|
||||
self.view.as_widget_mut().update(
|
||||
&mut self.tree,
|
||||
&event,
|
||||
Layout::new(&self.node),
|
||||
mouse::Cursor::Available(point),
|
||||
&(),
|
||||
&mut iced::advanced::clipboard::Null,
|
||||
&mut shell,
|
||||
&BOUNDS,
|
||||
);
|
||||
let status = shell.event_status();
|
||||
(messages, status)
|
||||
}
|
||||
fn operate(&mut self, operation: &mut dyn widget::Operation) {
|
||||
self.view
|
||||
.as_widget_mut()
|
||||
.operate(&mut self.tree, Layout::new(&self.node), &(), operation);
|
||||
}
|
||||
fn focus(&mut self) {
|
||||
self.operate(&mut operation::focusable::focus::<()>("row".into()));
|
||||
}
|
||||
fn focused(&mut self) -> bool {
|
||||
#[derive(Default)]
|
||||
struct Focus(bool);
|
||||
impl widget::Operation for Focus {
|
||||
fn traverse(&mut self, visit: &mut dyn FnMut(&mut dyn widget::Operation)) {
|
||||
visit(self);
|
||||
}
|
||||
fn focusable(
|
||||
&mut self,
|
||||
_: Option<&widget::Id>,
|
||||
_: Rectangle,
|
||||
state: &mut dyn Focusable,
|
||||
) {
|
||||
self.0 |= state.is_focused();
|
||||
}
|
||||
}
|
||||
let mut focus = Focus::default();
|
||||
self.operate(&mut focus);
|
||||
focus.0
|
||||
}
|
||||
fn scroll(&mut self) -> Vector {
|
||||
#[derive(Default)]
|
||||
struct Offset(Option<Vector>);
|
||||
impl widget::Operation for Offset {
|
||||
fn traverse(&mut self, visit: &mut dyn FnMut(&mut dyn widget::Operation)) {
|
||||
visit(self);
|
||||
}
|
||||
fn scrollable(
|
||||
&mut self,
|
||||
_: Option<&widget::Id>,
|
||||
_: Rectangle,
|
||||
_: Rectangle,
|
||||
translation: Vector,
|
||||
_: &mut dyn Scrollable,
|
||||
) {
|
||||
self.0 = Some(translation);
|
||||
}
|
||||
}
|
||||
let mut offset = Offset::default();
|
||||
self.operate(&mut offset);
|
||||
offset.0.unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn current_primary_and_related_mouse_clicks_survive_same_publication_diff() {
|
||||
for (y, expected) in [(20., Message::Primary(1)), (60., Message::Related(1))] {
|
||||
let generation = Id::new_v4();
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(guarded(Some(generation), 1));
|
||||
assert_eq!(ui.event(press(), point), (vec![], event::Status::Captured));
|
||||
ui.replace(guarded(Some(generation), 1));
|
||||
assert_eq!(
|
||||
ui.event(release(), point),
|
||||
(vec![expected], event::Status::Captured)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame() {
|
||||
for touch in [false, true] {
|
||||
for (y, expected) in [(20., Message::Primary(2)), (60., Message::Related(2))] {
|
||||
let publication = Id::new_v4();
|
||||
let old_visit = Id::new_v4();
|
||||
let new_visit = Id::new_v4();
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(Guard::new(Some((publication, old_visit)), rows(1)).into());
|
||||
let down = || if touch { touch_down(7, point) } else { press() };
|
||||
let up = || if touch { touch_up(7, point) } else { release() };
|
||||
assert_eq!(ui.event(down(), point), (vec![], event::Status::Captured));
|
||||
// Hide→Show has already happened in application state. No None
|
||||
// publication or empty child is ever diffed into this retained Tree.
|
||||
ui.replace(Guard::new(Some((publication, new_visit)), rows(2)).into());
|
||||
assert_eq!(ui.event(up(), point), (vec![], event::Status::Captured));
|
||||
assert_eq!(ui.event(down(), point), (vec![], event::Status::Captured));
|
||||
assert_eq!(
|
||||
ui.event(up(), point),
|
||||
(vec![expected], event::Status::Captured)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn negative_control_iced_button_retargets_a_press_after_plain_tree_diff() {
|
||||
for (y, expected) in [(20., Message::Primary(2)), (60., Message::Related(2))] {
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(rows(1));
|
||||
assert!(ui.event(press(), point).0.is_empty());
|
||||
ui.replace(rows(2));
|
||||
assert_eq!(ui.event(release(), point).0, vec![expected]);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn replaced_primary_and_related_rows_consume_stale_release_then_accept_new_click() {
|
||||
for y in [20., 60.] {
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(press(), point);
|
||||
ui.replace(guarded(Some(Id::new_v4()), 2));
|
||||
ui.replace(guarded(Some(Id::new_v4()), 3));
|
||||
assert_eq!(
|
||||
ui.event(release(), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
ui.event(press(), point);
|
||||
let expected = if y < 40. {
|
||||
Message::Primary(3)
|
||||
} else {
|
||||
Message::Related(3)
|
||||
};
|
||||
assert_eq!(
|
||||
ui.event(release(), point),
|
||||
(vec![expected], event::Status::Captured)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hidden_zero_size_list_consumes_release_outside_old_bounds_once() {
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(press(), Point::new(20., 20.));
|
||||
ui.replace(guarded(None, 0));
|
||||
ui.replace(guarded(None, 0));
|
||||
assert_eq!(ui.node.size(), Size::ZERO);
|
||||
let outside = Point::new(350., 250.);
|
||||
assert_eq!(
|
||||
ui.event(release(), outside),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(release(), outside),
|
||||
(vec![], event::Status::Ignored)
|
||||
);
|
||||
ui.replace(guarded(Some(Id::new_v4()), 2));
|
||||
assert_eq!(ui.event(release(), Point::new(20., 20.)).0, vec![]);
|
||||
}
|
||||
|
||||
fn with_background(content: View) -> View {
|
||||
mouse_area(
|
||||
button(container(content).width(250.).height(100.))
|
||||
.padding(0)
|
||||
.on_press(Message::BackgroundButton),
|
||||
)
|
||||
.on_release(Message::BackgroundRelease)
|
||||
.into()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn stale_release_does_not_bubble_to_real_background_controls() {
|
||||
let point = Point::new(20., 20.);
|
||||
let mut ui = Mounted::new(with_background(guarded(Some(Id::new_v4()), 1)));
|
||||
ui.event(press(), point);
|
||||
ui.replace(with_background(guarded(None, 0)));
|
||||
assert_eq!(
|
||||
ui.event(release(), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
// The enclosing real button still supports a fresh ordinary click.
|
||||
ui.event(press(), point);
|
||||
assert_eq!(
|
||||
ui.event(release(), point).0,
|
||||
vec![Message::BackgroundButton]
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn negative_control_removing_unguarded_rows_exposes_background_release() {
|
||||
let point = Point::new(20., 20.);
|
||||
let mut ui = Mounted::new(with_background(rows(1)));
|
||||
ui.event(press(), point);
|
||||
ui.replace(with_background(Space::new().into()));
|
||||
assert_eq!(
|
||||
ui.event(release(), point).0,
|
||||
vec![Message::BackgroundRelease]
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn current_touch_activates_primary_and_related_and_cancel_does_not_activate() {
|
||||
for (y, expected) in [(20., Message::Primary(1)), (60., Message::Related(1))] {
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
assert_eq!(
|
||||
ui.event(touch_down(1, point), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(touch_up(1, point), point),
|
||||
(vec![expected], event::Status::Captured)
|
||||
);
|
||||
ui.event(touch_down(2, point), point);
|
||||
assert_eq!(
|
||||
ui.event(touch_lost(2, point), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert!(ui.event(touch_up(2, point), point).0.is_empty());
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn replaced_touch_consumes_lift_or_cancel_even_when_hidden() {
|
||||
for hide in [false, true] {
|
||||
for lost in [false, true] {
|
||||
for y in [20., 60.] {
|
||||
let point = Point::new(20., y);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(touch_down(1, point), point);
|
||||
ui.replace(guarded(if hide { None } else { Some(Id::new_v4()) }, 2));
|
||||
let end = if lost {
|
||||
touch_lost(1, point)
|
||||
} else {
|
||||
touch_up(1, point)
|
||||
};
|
||||
assert_eq!(ui.event(end, point), (vec![], event::Status::Captured));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unrelated_finger_or_mouse_release_cannot_complete_another_fingers_press() {
|
||||
let point = Point::new(20., 20.);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(touch_down(1, point), point);
|
||||
ui.event(touch_down(2, point), point);
|
||||
assert_eq!(
|
||||
ui.event(touch_up(2, point), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(release(), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(touch_up(1, point), point).0,
|
||||
vec![Message::Primary(1)]
|
||||
);
|
||||
}
|
||||
|
||||
fn keyboard_row(version: u8) -> View {
|
||||
// Iced 0.14.2 Button has no focus/keyboard activation. A real focusable
|
||||
// submit control tests the wrapper's focus lifecycle without inventing it.
|
||||
text_input("Diagnostic action", "row")
|
||||
.id("row")
|
||||
.on_input(|_| Message::Edit)
|
||||
.on_submit(Message::Submit(version))
|
||||
.into()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn same_publication_preserves_focus_but_replacement_never_inherits_activation() {
|
||||
let generation = Id::new_v4();
|
||||
let mut ui = Mounted::new(Guard::new(Some((generation, Id::nil())), keyboard_row(1)).into());
|
||||
ui.focus();
|
||||
assert!(ui.focused());
|
||||
ui.replace(Guard::new(Some((generation, Id::nil())), keyboard_row(1)).into());
|
||||
assert!(ui.focused());
|
||||
assert_eq!(ui.event(enter(), Point::ORIGIN).0, vec![Message::Submit(1)]);
|
||||
ui.replace(Guard::new(Some((Id::new_v4(), Id::nil())), keyboard_row(2)).into());
|
||||
assert!(!ui.focused());
|
||||
assert!(ui.event(enter(), Point::ORIGIN).0.is_empty());
|
||||
ui.focus();
|
||||
assert_eq!(ui.event(enter(), Point::ORIGIN).0, vec![Message::Submit(2)]);
|
||||
ui.replace(Guard::new(None, Space::new()).into());
|
||||
ui.replace(Guard::new(Some((Id::new_v4(), Id::nil())), keyboard_row(3)).into());
|
||||
assert!(!ui.focused());
|
||||
assert!(ui.event(enter(), Point::ORIGIN).0.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn negative_control_plain_focusable_row_migrates_activation_to_replacement() {
|
||||
let mut ui = Mounted::new(keyboard_row(1));
|
||||
ui.focus();
|
||||
ui.replace(keyboard_row(2));
|
||||
assert!(ui.focused());
|
||||
assert_eq!(ui.event(enter(), Point::ORIGIN).0, vec![Message::Submit(2)]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn outer_scroll_offset_survives_same_and_changed_publications() {
|
||||
fn pane(generation: Id) -> View {
|
||||
scrollable(Guard::new(
|
||||
Some((generation, Id::nil())),
|
||||
column![rows(1), Space::new().height(600.)],
|
||||
))
|
||||
.width(240.)
|
||||
.height(100.)
|
||||
.into()
|
||||
}
|
||||
let generation = Id::new_v4();
|
||||
let mut ui = Mounted::new(pane(generation));
|
||||
ui.event(
|
||||
Event::Mouse(mouse::Event::WheelScrolled {
|
||||
delta: mouse::ScrollDelta::Pixels { x: 0., y: -120. },
|
||||
}),
|
||||
Point::new(20., 20.),
|
||||
);
|
||||
let offset = ui.scroll();
|
||||
assert_eq!(offset, Vector::new(0., 120.));
|
||||
ui.replace(pane(generation));
|
||||
assert_eq!(ui.scroll(), offset);
|
||||
ui.replace(pane(Id::new_v4()));
|
||||
assert_eq!(ui.scroll(), offset);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn stale_touch_release_does_not_disarm_a_new_current_gesture() {
|
||||
let point = Point::new(20., 20.);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(touch_down(1, point), point);
|
||||
ui.replace(guarded(Some(Id::new_v4()), 2));
|
||||
ui.event(touch_down(2, point), point);
|
||||
assert_eq!(
|
||||
ui.event(touch_up(1, point), point),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(touch_up(2, point), point).0,
|
||||
vec![Message::Primary(2)]
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fresh_mouse_press_after_missing_stale_release_can_activate_current_row() {
|
||||
let point = Point::new(20., 20.);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
ui.event(press(), point);
|
||||
ui.replace(guarded(Some(Id::new_v4()), 2));
|
||||
// The platform delivers another down without the previous up.
|
||||
ui.event(press(), point);
|
||||
assert_eq!(ui.event(release(), point).0, vec![Message::Primary(2)]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn missed_press_is_ignored_and_dragging_release_outside_does_not_activate() {
|
||||
let inside = Point::new(20., 20.);
|
||||
let outside = Point::new(350., 250.);
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
assert_eq!(ui.event(press(), outside), (vec![], event::Status::Ignored));
|
||||
assert_eq!(
|
||||
ui.event(release(), inside),
|
||||
(vec![], event::Status::Ignored)
|
||||
);
|
||||
ui.event(press(), inside);
|
||||
assert_eq!(
|
||||
ui.event(release(), outside),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(
|
||||
ui.event(release(), inside),
|
||||
(vec![], event::Status::Ignored)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn same_publication_missing_terminal_recovers_on_fresh_mouse_or_touch_down() {
|
||||
let primary = Point::new(20., 20.);
|
||||
let related = Point::new(20., 60.);
|
||||
for is_touch in [false, true] {
|
||||
let generation = Id::new_v4();
|
||||
let mut ui = Mounted::new(guarded(Some(generation), 1));
|
||||
let down = |point| {
|
||||
if is_touch {
|
||||
touch_down(1, point)
|
||||
} else {
|
||||
press()
|
||||
}
|
||||
};
|
||||
let up = |point| {
|
||||
if is_touch {
|
||||
touch_up(1, point)
|
||||
} else {
|
||||
release()
|
||||
}
|
||||
};
|
||||
ui.event(down(primary), primary);
|
||||
ui.replace(guarded(Some(generation), 1));
|
||||
// The first gesture never receives its terminal event; same Id means
|
||||
// no publication reset can accidentally make this regression pass.
|
||||
assert_eq!(
|
||||
ui.event(down(related), related),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
assert_eq!(ui.event(up(related), related).0, vec![Message::Related(1)]);
|
||||
assert!(ui.event(up(primary), primary).0.is_empty());
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn already_captured_terminal_cancels_child_without_activation_or_lingering_press() {
|
||||
let primary = Point::new(20., 20.);
|
||||
let related = Point::new(20., 60.);
|
||||
for is_touch in [false, true] {
|
||||
let mut ui = Mounted::new(guarded(Some(Id::new_v4()), 1));
|
||||
let down = |point| {
|
||||
if is_touch {
|
||||
touch_down(1, point)
|
||||
} else {
|
||||
press()
|
||||
}
|
||||
};
|
||||
let up = |point| {
|
||||
if is_touch {
|
||||
touch_up(1, point)
|
||||
} else {
|
||||
release()
|
||||
}
|
||||
};
|
||||
ui.event(down(primary), primary);
|
||||
assert_eq!(
|
||||
ui.event_with_capture(up(primary), primary, true),
|
||||
(vec![], event::Status::Captured)
|
||||
);
|
||||
// An unpaired second release must not expose a lingering button press.
|
||||
assert_eq!(
|
||||
ui.event(up(primary), primary),
|
||||
(vec![], event::Status::Ignored)
|
||||
);
|
||||
ui.event(down(related), related);
|
||||
assert_eq!(ui.event(up(related), related).0, vec![Message::Related(1)]);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn captured_terminal_cancellation_preserves_same_publication_focusable_child_state() {
|
||||
let generation = Id::new_v4();
|
||||
let mut ui = Mounted::new(
|
||||
Guard::new(
|
||||
Some((generation, Id::nil())),
|
||||
column![rows(1), keyboard_row(1)],
|
||||
)
|
||||
.into(),
|
||||
);
|
||||
ui.event(press(), Point::new(20., 20.));
|
||||
// Focus through an operation avoids making the old pointer gesture whole.
|
||||
ui.focus();
|
||||
assert!(ui.focused());
|
||||
assert!(
|
||||
ui.event_with_capture(release(), Point::new(20., 20.), true)
|
||||
.0
|
||||
.is_empty()
|
||||
);
|
||||
assert!(
|
||||
ui.focused(),
|
||||
"gesture cancellation must not remount the row tree"
|
||||
);
|
||||
assert_eq!(ui.event(enter(), Point::ORIGIN).0, vec![Message::Submit(1)]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hidden_zero_height_scroller_delivers_cancelled_mouse_and_touch_terminals_to_guard() {
|
||||
fn pane(generation: Option<Id>) -> View {
|
||||
scrollable(guarded(generation, 1))
|
||||
.width(240.)
|
||||
.height(if generation.is_some() { 100. } else { 0. })
|
||||
.into()
|
||||
}
|
||||
let point = Point::new(20., 20.);
|
||||
let outside = Point::new(350., 250.);
|
||||
for is_touch in [false, true] {
|
||||
let mut ui = Mounted::new(pane(Some(Id::new_v4())));
|
||||
let down = if is_touch {
|
||||
touch_down(1, point)
|
||||
} else {
|
||||
press()
|
||||
};
|
||||
assert_eq!(ui.event(down, point), (vec![], event::Status::Captured));
|
||||
ui.replace(pane(None));
|
||||
ui.replace(pane(None));
|
||||
assert_eq!(ui.node.size().height, 0.);
|
||||
let up = if is_touch {
|
||||
touch_up(1, outside)
|
||||
} else {
|
||||
release()
|
||||
};
|
||||
assert_eq!(ui.event(up, outside), (vec![], event::Status::Captured));
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ mod connection_tool;
|
||||
mod context_menu;
|
||||
mod data_values;
|
||||
mod data_view;
|
||||
mod diagnostic_input;
|
||||
mod diagram;
|
||||
mod document;
|
||||
mod explorer;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
mod controller;
|
||||
pub mod interaction;
|
||||
pub mod query;
|
||||
pub mod selection;
|
||||
pub mod symbols;
|
||||
pub use controller::*;
|
||||
use iced::widget::text_editor::{Cursor, Position};
|
||||
|
||||
@@ -12,6 +12,7 @@ pub enum SymbolEvent {
|
||||
Close,
|
||||
Choose {
|
||||
stamp: query::QueryStamp,
|
||||
visit: Id,
|
||||
reference: bool,
|
||||
index: usize,
|
||||
},
|
||||
@@ -33,7 +34,7 @@ pub struct HistoryEntry {
|
||||
pub cursor: Cursor,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub struct Request {
|
||||
pub job: Id,
|
||||
pub interaction: Id,
|
||||
@@ -60,12 +61,15 @@ pub struct Reveal {
|
||||
}
|
||||
|
||||
pub struct SymbolState {
|
||||
pub open: bool,
|
||||
pub interaction: Id,
|
||||
pub raw_interaction: Arc<AtomicU64>,
|
||||
pub serial: u64,
|
||||
pub in_flight: Option<Id>,
|
||||
pub request: Option<Request>,
|
||||
/// Latest admitted query owns displayed data independently of whether its
|
||||
/// original navigation intent is still current. Hiding a drawer cancels
|
||||
/// navigation, but a matching completion can still populate retained data.
|
||||
pub display_request: Option<Request>,
|
||||
pub cache: Option<Arc<query::Snapshot>>,
|
||||
pub results: Option<Arc<query::Results>>,
|
||||
pub notice: Option<String>,
|
||||
@@ -76,12 +80,12 @@ pub struct SymbolState {
|
||||
impl Default for SymbolState {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
open: false,
|
||||
interaction: Id::new_v4(),
|
||||
raw_interaction: Arc::new(AtomicU64::new(0)),
|
||||
serial: 0,
|
||||
in_flight: None,
|
||||
request: None,
|
||||
display_request: None,
|
||||
cache: None,
|
||||
results: None,
|
||||
notice: None,
|
||||
|
||||
@@ -0,0 +1,295 @@
|
||||
//! Effective selected-byte ranges for a committed departure from a source view.
|
||||
//!
|
||||
//! Iced's `Cursor` omits cosmic-text's Word/Line selection kind. Saving its raw
|
||||
//! endpoints can therefore save an empty range for a visibly selected word/line.
|
||||
//! Capture only after navigation admission and destination validation succeed,
|
||||
//! immediately before replacing/leaving the live editor. Never use this to inspect
|
||||
//! pending queries, failed/no-op navigation, or restore focus to the same editor.
|
||||
use iced::advanced::{graphics, text};
|
||||
use iced::widget::text_editor::{Action, Content, Cursor, Motion, Position};
|
||||
|
||||
/// Capture the effective range for restoration on fresh Content via `move_to`.
|
||||
///
|
||||
/// A nonempty selection is collapsed to its start in the departing Content; text
|
||||
/// is not edited. The returned Normal range preserves selected bytes and typing
|
||||
/// replacement, not Word/Line gesture-extension mode or an interior click point.
|
||||
/// Unequal raw endpoint direction is preserved; coincident Word/Line endpoints
|
||||
/// canonically restore with the active cursor at the effective end.
|
||||
///
|
||||
/// The renderer constraint is intentional: the inspected Iced graphics editor
|
||||
/// collapses any selection to its effective start for `Move(Left)`, and its copied
|
||||
/// selection joins editor lines with LF regardless of physical CRLF/LF endings.
|
||||
/// Only the selected text is temporarily copied; retained state is one Cursor.
|
||||
pub fn capture<R>(content: &mut Content<R>) -> Cursor
|
||||
where
|
||||
R: text::Renderer<Editor = graphics::text::Editor>,
|
||||
{
|
||||
let original = content.cursor();
|
||||
let Some(selected) = content.selection().filter(|selected| !selected.is_empty()) else {
|
||||
// Moving an unselected caret Left would be a user-visible navigation.
|
||||
return original;
|
||||
};
|
||||
let active_start = original.selection.is_some_and(|anchor| {
|
||||
(original.position.line, original.position.column) < (anchor.line, anchor.column)
|
||||
});
|
||||
content.perform(Action::Move(Motion::Left));
|
||||
let start = content.cursor().position;
|
||||
let end = match selected.rsplit_once('\n') {
|
||||
Some((prefix, suffix)) => Position {
|
||||
line: start.line + prefix.bytes().filter(|byte| *byte == b'\n').count() + 1,
|
||||
column: suffix.len(),
|
||||
},
|
||||
None => Position {
|
||||
line: start.line,
|
||||
column: start.column + selected.len(),
|
||||
},
|
||||
};
|
||||
// These sums describe an existing selection in this same allocated buffer;
|
||||
// neither can exceed its line count / existing UTF-8 line length. A checked
|
||||
// error after collapsing would leave a failed departure with lost selection.
|
||||
debug_assert!(content.cursor().selection.is_none());
|
||||
debug_assert!(start.line < content.line_count() && end.line < content.line_count());
|
||||
debug_assert!((start.line, start.column) < (end.line, end.column));
|
||||
Cursor {
|
||||
position: if active_start { start } else { end },
|
||||
selection: Some(if active_start { end } else { start }),
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use iced::widget::text_editor::Edit;
|
||||
use std::sync::Arc;
|
||||
|
||||
type EditorContent = Content<iced::Renderer>;
|
||||
|
||||
fn at(line: usize, column: usize) -> Position {
|
||||
Position { line, column }
|
||||
}
|
||||
|
||||
fn range(start: Position, end: Position, active_start: bool) -> Cursor {
|
||||
Cursor {
|
||||
position: if active_start { start } else { end },
|
||||
selection: Some(if active_start { end } else { start }),
|
||||
}
|
||||
}
|
||||
|
||||
fn caret(content: &mut EditorContent, position: Position) {
|
||||
content.move_to(Cursor {
|
||||
position,
|
||||
selection: None,
|
||||
});
|
||||
}
|
||||
|
||||
fn roundtrip(
|
||||
source: &str,
|
||||
prepare: impl Fn(&mut EditorContent),
|
||||
selected: &str,
|
||||
expected: Cursor,
|
||||
lossy_raw: bool,
|
||||
) {
|
||||
let mut departing = EditorContent::with_text(source);
|
||||
prepare(&mut departing);
|
||||
assert_eq!(departing.text(), source);
|
||||
assert_eq!(departing.selection().as_deref(), Some(selected));
|
||||
let raw = departing.cursor();
|
||||
|
||||
// Independent direct-typing control retains the original semantic mode.
|
||||
let replacement = Action::Edit(Edit::Paste(Arc::new("替🚀".into())));
|
||||
let mut direct = EditorContent::with_text(source);
|
||||
prepare(&mut direct);
|
||||
direct.perform(replacement.clone());
|
||||
|
||||
let captured = capture(&mut departing);
|
||||
assert_eq!(captured, expected);
|
||||
assert_eq!(
|
||||
departing.text(),
|
||||
source,
|
||||
"capture cannot edit physical source bytes"
|
||||
);
|
||||
assert!(departing.cursor().selection.is_none());
|
||||
let mut restored = EditorContent::with_text(source);
|
||||
restored.move_to(captured);
|
||||
assert_eq!(restored.selection().as_deref(), Some(selected));
|
||||
assert_eq!(restored.text(), source);
|
||||
restored.perform(replacement);
|
||||
assert_eq!(
|
||||
restored.text(),
|
||||
direct.text(),
|
||||
"restored range must replace exactly the original selected bytes"
|
||||
);
|
||||
assert_eq!(restored.cursor(), direct.cursor());
|
||||
if lossy_raw {
|
||||
let mut old = EditorContent::with_text(source);
|
||||
old.move_to(raw);
|
||||
assert_ne!(
|
||||
old.selection().as_deref(),
|
||||
Some(selected),
|
||||
"negative control must discriminate raw cursor storage"
|
||||
);
|
||||
} else {
|
||||
assert_eq!(
|
||||
captured, raw,
|
||||
"ordinary directional ranges are already canonical"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unicode_normal_ranges_preserve_forward_and_reverse_direction() {
|
||||
let source = "先 αβ 救助 🚀 tail\r\n";
|
||||
for active_start in [false, true] {
|
||||
let expected = range(
|
||||
at(0, "先 ".len()),
|
||||
at(0, "先 αβ 救助 🚀".len()),
|
||||
active_start,
|
||||
);
|
||||
roundtrip(
|
||||
source,
|
||||
|content| content.move_to(expected),
|
||||
"αβ 救助 🚀",
|
||||
expected,
|
||||
false,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn repeated_unicode_words_capture_the_selected_occurrence_without_searching() {
|
||||
let source = "éclair éclair éclair\r\n";
|
||||
let start = "éclair ".len();
|
||||
roundtrip(
|
||||
source,
|
||||
|content| {
|
||||
caret(content, at(0, start + "écl".len()));
|
||||
content.perform(Action::SelectWord);
|
||||
},
|
||||
"éclair",
|
||||
range(at(0, start), at(0, start + "éclair".len()), false),
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn line_selection_expands_past_its_interior_unicode_caret() {
|
||||
let source = "first\r\n救助 🚀 tail\r\nlast";
|
||||
roundtrip(
|
||||
source,
|
||||
|content| {
|
||||
caret(content, at(1, "救助 ".len()));
|
||||
content.perform(Action::SelectLine);
|
||||
},
|
||||
"救助 🚀 tail",
|
||||
range(at(1, 0), at(1, "救助 🚀 tail".len()), false),
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn multiline_ranges_use_copied_lf_and_utf8_columns_for_physical_crlf_and_mixed_endings() {
|
||||
for source in ["pré α\r\n中 🚀\r\nfin Ω", "pré α\n中 🚀\r\nfin Ω"] {
|
||||
for active_start in [false, true] {
|
||||
let expected = range(at(0, "pré ".len()), at(2, "fin ".len()), active_start);
|
||||
roundtrip(
|
||||
source,
|
||||
|content| content.move_to(expected),
|
||||
"α\n中 🚀\nfin ",
|
||||
expected,
|
||||
false,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn expanded_word_and_line_modes_capture_multiline_ranges_in_both_directions() {
|
||||
let source = "one alpha\r\ntwo beta\nthree gamma";
|
||||
for line in [false, true] {
|
||||
for reverse in [false, true] {
|
||||
let (start, end, selected) = match (line, reverse) {
|
||||
(false, false) => (at(0, 4), at(2, 11), "alpha\ntwo beta\nthree gamma"),
|
||||
(false, true) => (at(0, 0), at(2, 11), "one alpha\ntwo beta\nthree gamma"),
|
||||
(true, _) => (at(0, 0), at(2, 11), "one alpha\ntwo beta\nthree gamma"),
|
||||
};
|
||||
roundtrip(
|
||||
source,
|
||||
|content| {
|
||||
caret(content, if reverse { at(2, 8) } else { at(0, 6) });
|
||||
content.perform(if line {
|
||||
Action::SelectLine
|
||||
} else {
|
||||
Action::SelectWord
|
||||
});
|
||||
// Iced preserves existing Word/Line mode for Select motions.
|
||||
content.perform(Action::Select(if reverse {
|
||||
Motion::DocumentStart
|
||||
} else {
|
||||
Motion::DocumentEnd
|
||||
}));
|
||||
},
|
||||
selected,
|
||||
range(start, end, reverse),
|
||||
true,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn trailing_newline_selection_restores_endpoint_on_the_empty_last_line() {
|
||||
let source = "雨\r\n🚀\r\n";
|
||||
let expected = range(at(0, 0), at(2, 0), false);
|
||||
roundtrip(
|
||||
source,
|
||||
|content| content.perform(Action::SelectAll),
|
||||
"雨\n🚀\n",
|
||||
expected,
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn absent_and_empty_selection_do_not_move_the_departing_caret() {
|
||||
for source in ["", "\r\n", "alpha\r\n\r\ntail"] {
|
||||
for empty_selection in [false, true] {
|
||||
let mut content = EditorContent::with_text(source);
|
||||
let position = if source.starts_with("alpha") {
|
||||
at(1, 0)
|
||||
} else {
|
||||
at(0, 0)
|
||||
};
|
||||
caret(&mut content, position);
|
||||
if empty_selection {
|
||||
content.perform(Action::SelectLine);
|
||||
assert_eq!(content.selection().as_deref(), Some(""));
|
||||
} else {
|
||||
assert!(content.selection().is_none());
|
||||
}
|
||||
let raw = content.cursor();
|
||||
let selected = content.selection();
|
||||
assert_eq!(capture(&mut content), raw);
|
||||
assert_eq!(content.cursor(), raw);
|
||||
assert_eq!(content.selection(), selected);
|
||||
assert_eq!(content.text(), source);
|
||||
}
|
||||
}
|
||||
for empty_normal in [false, true] {
|
||||
let mut content = EditorContent::with_text("éclair");
|
||||
let position = at(0, "écl".len());
|
||||
content.move_to(Cursor {
|
||||
position,
|
||||
selection: empty_normal.then_some(position),
|
||||
});
|
||||
let raw = content.cursor();
|
||||
let selected = content.selection();
|
||||
assert_eq!(capture(&mut content), raw);
|
||||
assert_eq!(
|
||||
content.cursor(),
|
||||
raw,
|
||||
"an unselected interior caret must not move left"
|
||||
);
|
||||
assert_eq!(content.selection(), selected);
|
||||
}
|
||||
}
|
||||
}
|
||||
+62
-430
@@ -1,4 +1,5 @@
|
||||
mod source_symbols;
|
||||
mod text_workspace;
|
||||
pub(crate) mod traceability;
|
||||
use crate::{
|
||||
app::{App, Choice, FileOperation, Message, Page, Pending},
|
||||
@@ -276,7 +277,7 @@ pub fn view(app: &App) -> View<'_, Message> {
|
||||
p.relations.len()
|
||||
)),
|
||||
action(
|
||||
&format!("{} checks", app.issue_count()),
|
||||
&format!("{} model checks", app.issue_count()),
|
||||
Message::Page(Page::Validation)
|
||||
)
|
||||
]
|
||||
@@ -1010,237 +1011,70 @@ fn source_files(app: &App) -> View<'_, Message> {
|
||||
}
|
||||
|
||||
fn source(app: &App) -> View<'_, Message> {
|
||||
use crate::source_navigation::Event as SourceEvent;
|
||||
let (undo_label, undo_message) = match app.source_rename_undo_message() {
|
||||
Some(message) => ("Undo rename", Some(message)),
|
||||
None => (
|
||||
"Undo model",
|
||||
(app.document.can_undo() && !app.source_dirty()).then_some(Message::Undo),
|
||||
),
|
||||
};
|
||||
let navigation: View<'_, Message> = if app.source_navigation.open {
|
||||
column![
|
||||
row![
|
||||
text_input("Find literal text…", &app.source_navigation.query)
|
||||
.id("source-find")
|
||||
.on_input(|query| Message::SourceNavigation(SourceEvent::Query(query)))
|
||||
.on_submit(Message::SourceNavigation(SourceEvent::Next(false)))
|
||||
.padding(8)
|
||||
.size(12)
|
||||
.width(Fill),
|
||||
action(
|
||||
"Previous",
|
||||
Message::SourceNavigation(SourceEvent::Next(true))
|
||||
),
|
||||
action("Next", Message::SourceNavigation(SourceEvent::Next(false))),
|
||||
label(app.source_navigation.label()),
|
||||
action("Close", app.source_find_close_message()),
|
||||
]
|
||||
.spacing(6)
|
||||
.align_y(iced::Center),
|
||||
row![
|
||||
text_input("Line", &app.source_navigation.line)
|
||||
.id("source-line")
|
||||
.on_input(|line| Message::SourceNavigation(SourceEvent::Line(line)))
|
||||
.on_submit(Message::SourceNavigation(SourceEvent::Go))
|
||||
.padding(8)
|
||||
.size(12)
|
||||
.width(80),
|
||||
action("Go to line", Message::SourceNavigation(SourceEvent::Go)),
|
||||
label("Enter or F3: next match · Shift F3: previous · Esc: close"),
|
||||
]
|
||||
.spacing(6)
|
||||
.align_y(iced::Center),
|
||||
]
|
||||
.spacing(6)
|
||||
.into()
|
||||
} else {
|
||||
column![].into()
|
||||
};
|
||||
let recovery: View<'_, Message> = if let Some(path) = &app.pending_recovery {
|
||||
let edits_block_recovery =
|
||||
!app.source_workspace.applied && app.source_workspace.has_edits();
|
||||
let filename = path.file_name().unwrap_or_default().to_string_lossy();
|
||||
container(
|
||||
column![
|
||||
tooltip(
|
||||
text(format!("Interrupted save · {filename}")).size(15),
|
||||
text(path.display().to_string()).size(12),
|
||||
tooltip::Position::Bottom,
|
||||
),
|
||||
text(if edits_block_recovery {
|
||||
"Revert the edited files before recovery. Recovery restores files to their state before the interrupted save, then reopens them."
|
||||
} else if app.source_workspace.applied {
|
||||
"Restore files to their state before the interrupted save. Your current model and editor drafts are kept."
|
||||
} else {
|
||||
"Restore files to their state before the interrupted save, then reopen them. This rolls back the incomplete save."
|
||||
})
|
||||
.size(13),
|
||||
button(text("Recover interrupted save").size(12))
|
||||
.padding(10)
|
||||
.on_press_maybe(
|
||||
(!edits_block_recovery && !app.busy).then_some(Message::SourceRecover),
|
||||
),
|
||||
]
|
||||
.spacing(8),
|
||||
)
|
||||
.padding(12)
|
||||
.width(Fill)
|
||||
.style(style::card)
|
||||
.into()
|
||||
} else {
|
||||
column![].into()
|
||||
};
|
||||
let mut diagnostics = column![].spacing(5);
|
||||
let mut visible_diagnostics = 0;
|
||||
for (index, issue) in app.source_diagnostics.iter().enumerate() {
|
||||
// The persistent recovery banner supplies the action and explanation;
|
||||
// repeating the internal journal path obscures ordinary diagnostics.
|
||||
if app.pending_recovery.is_some() && issue.diagnostic.code == "pending_save" {
|
||||
continue;
|
||||
use crate::app::text_workspace::DrawerTab;
|
||||
use oa_core::source_project::SourceLocation;
|
||||
let visible = app.text_workspace.drawer() == Some(DrawerTab::Problems);
|
||||
let publication = app
|
||||
.text_workspace
|
||||
.diagnostic_publication()
|
||||
.filter(|publication| visible && publication.source() == app.source_key());
|
||||
let mut diagnostics = column![].spacing(3).width(Fill);
|
||||
if visible {
|
||||
if publication.is_none() && !app.source_diagnostics.is_empty() {
|
||||
diagnostics = diagnostics
|
||||
.push(text("Source changed. Waiting for current source checks…").size(12));
|
||||
}
|
||||
visible_diagnostics += 1;
|
||||
diagnostics = diagnostics.push(
|
||||
button(
|
||||
text(format!(
|
||||
"{}:{}:{} {}",
|
||||
issue.path,
|
||||
issue.diagnostic.line,
|
||||
issue.diagnostic.column,
|
||||
issue.diagnostic.message
|
||||
))
|
||||
.size(12)
|
||||
.color(match issue.diagnostic.severity {
|
||||
validation::Severity::Error => iced::Color::from_rgb8(174, 46, 64),
|
||||
validation::Severity::Warning => iced::Color::from_rgb8(145, 93, 23),
|
||||
}),
|
||||
)
|
||||
.width(Fill)
|
||||
.padding([4, 6])
|
||||
.style(style::nav)
|
||||
.on_press(Message::SourceDiagnostic(index)),
|
||||
);
|
||||
for related in &issue.related {
|
||||
diagnostics = diagnostics.push(action(
|
||||
&format!("Related declaration · {}", related.path),
|
||||
Message::SourceRelated(related.clone()),
|
||||
));
|
||||
if app.source_diagnostics.is_empty() {
|
||||
diagnostics = diagnostics.push(text("No source problems reported.").size(12));
|
||||
}
|
||||
for issue in &app.source_diagnostics {
|
||||
let location = SourceLocation {
|
||||
path: issue.path.clone(),
|
||||
span: issue.diagnostic.span,
|
||||
};
|
||||
let severity = match issue.diagnostic.severity {
|
||||
validation::Severity::Error => "Error",
|
||||
validation::Severity::Warning => "Warning",
|
||||
};
|
||||
diagnostics = diagnostics.push(
|
||||
button(
|
||||
text(format!(
|
||||
"{severity} · {}:{}:{} · {}",
|
||||
issue.path,
|
||||
issue.diagnostic.line,
|
||||
issue.diagnostic.column,
|
||||
issue.diagnostic.message,
|
||||
))
|
||||
.size(12)
|
||||
.wrapping(widget::text::Wrapping::WordOrGlyph),
|
||||
)
|
||||
.width(Fill)
|
||||
.padding([4, 6])
|
||||
.style(style::nav)
|
||||
.on_press_maybe(app.text_diagnostic_message(location)),
|
||||
);
|
||||
for related in &issue.related {
|
||||
diagnostics = diagnostics.push(
|
||||
button(
|
||||
text(format!("Related declaration · {}", related.path))
|
||||
.size(12)
|
||||
.wrapping(widget::text::Wrapping::WordOrGlyph),
|
||||
)
|
||||
.width(Fill)
|
||||
.padding([4, 12])
|
||||
.style(style::nav)
|
||||
.on_press_maybe(app.text_diagnostic_message(related.clone())),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
let editor = widget::text_editor(&app.source_editor)
|
||||
.id(app.source_editor_id())
|
||||
.on_action(Message::SourceEdit)
|
||||
.key_binding({
|
||||
let context = app.source_symbol_context();
|
||||
let rename = app.source_rename_begin();
|
||||
move |press| source_binding(press, &context, Some(&rename))
|
||||
})
|
||||
.font(Font::MONOSPACE)
|
||||
.size(14)
|
||||
.padding(16)
|
||||
.height(Fill)
|
||||
.highlight_with::<crate::highlight::ArcadiaHighlighter>(
|
||||
app.source_snapshot.clone(),
|
||||
crate::highlight::format,
|
||||
);
|
||||
let header = container(
|
||||
column![
|
||||
row![
|
||||
container(heading(
|
||||
"Textual model",
|
||||
"One model across files · comments and identities preserved"
|
||||
))
|
||||
.width(Fill),
|
||||
button(text("Apply all").size(12))
|
||||
.padding(10)
|
||||
.on_press(Message::ApplySource),
|
||||
action("Revert file", Message::RevertSource)
|
||||
]
|
||||
.spacing(8)
|
||||
.align_y(iced::Center),
|
||||
row![
|
||||
action("Undo text", Message::SourceUndo),
|
||||
action("Redo text", Message::SourceRedo),
|
||||
button(text(undo_label).size(12)).padding([8,10]).style(style::nav)
|
||||
.on_press_maybe(undo_message),
|
||||
button(text("Redo model").size(12)).padding([8,10]).style(style::nav)
|
||||
.on_press_maybe((app.document.can_redo() && !app.source_dirty()).then_some(Message::Redo)),
|
||||
action("Find / go to…", Message::SourceNavigation(SourceEvent::Open(false))),
|
||||
label(if app.source_dirty() {
|
||||
"Drafts pending"
|
||||
} else {
|
||||
"Model in sync"
|
||||
})
|
||||
]
|
||||
.spacing(7)
|
||||
.align_y(iced::Center),
|
||||
recovery,
|
||||
text(app.source_workspace.active.clone()).font(Font::MONOSPACE).size(12).color(style::INK),
|
||||
label(if app.pending_recovery.is_some() && !app.source_workspace.applied {
|
||||
"The previous graphical model remains available while these files are recovered."
|
||||
} else if !app.source_workspace.applied {
|
||||
"This project needs repair. Apply all adopts it; the previous graphical model remains available."
|
||||
} else if app.source_workspace.detached_dirty() {
|
||||
"A detached file has an unsaved draft. Reattach it or revert that file before saving."
|
||||
} else {
|
||||
"Undo text affects this file's draft. Model Undo restores accepted files together (100 changes / about 32 MiB)."
|
||||
}),
|
||||
navigation,
|
||||
row![
|
||||
action("Definition · F12", app.source_symbol_message(crate::source_navigation::SymbolEvent::Query(crate::source_navigation::query::Action::Definition))),
|
||||
action("References · Shift F12", app.source_symbol_message(crate::source_navigation::SymbolEvent::Query(crate::source_navigation::query::Action::References))),
|
||||
action("Rename alias · F2", app.source_rename_message()),
|
||||
button(text("Back · Alt ←").size(12)).padding([8, 10]).style(style::nav)
|
||||
.on_press_maybe((app.source_symbols.back.iter().any(|entry| entry.session == app.source_workspace.session())).then(|| app.source_symbol_message(crate::source_navigation::SymbolEvent::Back))),
|
||||
].spacing(7),
|
||||
scrollable(diagnostics)
|
||||
.height((visible_diagnostics as f32 * 32.).min(132.))
|
||||
]
|
||||
.spacing(12)
|
||||
)
|
||||
.padding(18);
|
||||
let editor = widget::sensor(editor)
|
||||
.key((
|
||||
app.source_workspace.active.clone(),
|
||||
app.source_reveal_ticket(),
|
||||
))
|
||||
.on_show({
|
||||
let ticket = app.source_reveal_ticket();
|
||||
move |_| Message::SourceViewport(ticket)
|
||||
})
|
||||
.on_resize({
|
||||
let ticket = app.source_reveal_ticket();
|
||||
move |_| Message::SourceViewport(ticket)
|
||||
});
|
||||
let workspace: View<'_, Message> = if app.source_symbols.open {
|
||||
row![
|
||||
container(editor).width(Fill).height(Fill),
|
||||
container(scrollable(source_symbols::panel(app)))
|
||||
.width(300)
|
||||
.height(Fill),
|
||||
]
|
||||
.height(Fill)
|
||||
.into()
|
||||
} else {
|
||||
container(editor).width(Fill).height(Fill).into()
|
||||
};
|
||||
source_layout(header.into(), workspace, app.window_size.height)
|
||||
let guard = crate::diagnostic_input::Guard::new(
|
||||
publication.map(|p| (p.generation(), app.text_workspace.drawer_visit())),
|
||||
diagnostics,
|
||||
);
|
||||
text_workspace::view(app, source_symbols::panel(app), guard.into())
|
||||
}
|
||||
|
||||
fn source_layout<'a, Renderer: iced::advanced::text::Renderer + 'a>(
|
||||
header: View<'a, Message, iced::Theme, Renderer>,
|
||||
workspace: View<'a, Message, iced::Theme, Renderer>,
|
||||
window_height: f32,
|
||||
) -> View<'a, Message, iced::Theme, Renderer> {
|
||||
// Lint clears and repopulates diagnostics asynchronously. Reserve the same
|
||||
// outer slot so a pointer aimed at the editor cannot land in the header.
|
||||
column![
|
||||
container(scrollable(header).id("source-header")).height((window_height * 0.42).max(180.)),
|
||||
workspace,
|
||||
]
|
||||
.height(Fill)
|
||||
.into()
|
||||
}
|
||||
pub(crate) fn source_binding(
|
||||
press: widget::text_editor::KeyPress,
|
||||
context: &crate::source_navigation::SymbolContext,
|
||||
@@ -1304,8 +1138,7 @@ pub(crate) mod source_tests {
|
||||
use iced::advanced::{
|
||||
Layout, Shell, graphics, layout, renderer, text as shaped, widget as core_widget,
|
||||
};
|
||||
use iced::widget::column;
|
||||
use iced::{Background, Color, Pixels, Point, Rectangle, Size, Transformation, Vector};
|
||||
use iced::{Background, Color, Pixels, Point, Rectangle, Size, Transformation};
|
||||
|
||||
// Measure real Iced paragraphs/editor text without constructing a window or GPU.
|
||||
pub(crate) struct FontLayout;
|
||||
@@ -1350,207 +1183,6 @@ pub(crate) mod source_tests {
|
||||
fn fill_text(&mut self, _: shaped::Text, _: Point, _: Color, _: Rectangle) {}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct Geometry {
|
||||
header: Option<(Rectangle, Rectangle, Vector)>,
|
||||
editor: Option<Rectangle>,
|
||||
}
|
||||
impl core_widget::Operation for Geometry {
|
||||
fn traverse(&mut self, visit: &mut dyn FnMut(&mut dyn core_widget::Operation)) {
|
||||
visit(self);
|
||||
}
|
||||
fn container(&mut self, id: Option<&core_widget::Id>, bounds: Rectangle) {
|
||||
if id == Some(&core_widget::Id::new("test-source-editor")) {
|
||||
self.editor = Some(bounds);
|
||||
}
|
||||
}
|
||||
fn scrollable(
|
||||
&mut self,
|
||||
id: Option<&core_widget::Id>,
|
||||
bounds: Rectangle,
|
||||
content: Rectangle,
|
||||
offset: Vector,
|
||||
_: &mut dyn core_widget::operation::Scrollable,
|
||||
) {
|
||||
if id == Some(&core_widget::Id::new("source-header")) {
|
||||
self.header = Some((bounds, content, offset));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn mounted_source<'a>(
|
||||
content: &'a widget::text_editor::Content<FontLayout>,
|
||||
diagnostics: usize,
|
||||
find: bool,
|
||||
window_height: f32,
|
||||
) -> View<'a, Message, iced::Theme, FontLayout> {
|
||||
let mut notices = column![].spacing(5);
|
||||
for index in 0..diagnostics {
|
||||
notices = notices.push(button(text(format!(
|
||||
"救援/assess.arcadia:{}:5 · Warning: verify this participant's engineering allocation", index + 1,
|
||||
)).size(12)).padding([4, 6]).width(Fill));
|
||||
}
|
||||
let find: View<'_, Message, iced::Theme, FontLayout> = if find {
|
||||
column![
|
||||
text_input("Find literal text", "assess").on_input(|s| Message::SourceNavigation(
|
||||
crate::source_navigation::Event::Query(s)
|
||||
)),
|
||||
text_input("Line", "1").on_input(|s| Message::SourceNavigation(
|
||||
crate::source_navigation::Event::Line(s)
|
||||
)),
|
||||
]
|
||||
.spacing(8)
|
||||
.into()
|
||||
} else {
|
||||
Space::new().into()
|
||||
};
|
||||
let header = container(
|
||||
column![
|
||||
text("Textual model").size(24),
|
||||
text("Edit the current file. Apply text validates the complete included model.")
|
||||
.size(11),
|
||||
row![
|
||||
button(text("Apply text")),
|
||||
button(text("Undo text")),
|
||||
button(text("Model Undo"))
|
||||
]
|
||||
.spacing(8),
|
||||
text("救援/assess.arcadia · All files applied to the accepted model").size(11),
|
||||
text("Undo text affects this draft. Model Undo restores accepted files together.")
|
||||
.size(11),
|
||||
find,
|
||||
row![
|
||||
button(text("Definition · F12")),
|
||||
button(text("References · Shift F12")),
|
||||
button(text("Back"))
|
||||
]
|
||||
.spacing(7),
|
||||
scrollable(notices).height((diagnostics as f32 * 32.).min(132.)),
|
||||
]
|
||||
.spacing(12),
|
||||
)
|
||||
.padding(18);
|
||||
let editor = container(
|
||||
widget::text_editor(content)
|
||||
.on_action(Message::SourceEdit)
|
||||
.font(Font::MONOSPACE)
|
||||
.size(14)
|
||||
.padding(16)
|
||||
.height(Fill),
|
||||
)
|
||||
.id("test-source-editor")
|
||||
.height(Fill)
|
||||
.width(Fill);
|
||||
source_layout(header.into(), editor.into(), window_height)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_header_keeps_editor_bounds_stable_through_lint_and_find_rebuilds() {
|
||||
for (host, window_height) in [
|
||||
(Size::new(720., 540.), 700.),
|
||||
(Size::new(1180., 890.), 1080.),
|
||||
] {
|
||||
let content = widget::text_editor::Content::<FontLayout>::with_text(
|
||||
"// is excluded\r\n// 雨\r\n",
|
||||
);
|
||||
let mut tree = core_widget::Tree::empty();
|
||||
let mut baseline = None;
|
||||
for (diagnostics, find) in [
|
||||
(0, false),
|
||||
(6, false),
|
||||
(0, false),
|
||||
(6, true),
|
||||
(1, true),
|
||||
(0, false),
|
||||
] {
|
||||
let mut ui = mounted_source(&content, diagnostics, find, window_height);
|
||||
tree.diff(ui.as_widget());
|
||||
let node = ui.as_widget_mut().layout(
|
||||
&mut tree,
|
||||
&FontLayout,
|
||||
&layout::Limits::new(Size::ZERO, host),
|
||||
);
|
||||
let mut geometry = Geometry::default();
|
||||
ui.as_widget_mut().operate(
|
||||
&mut tree,
|
||||
Layout::new(&node),
|
||||
&FontLayout,
|
||||
&mut geometry,
|
||||
);
|
||||
let editor = geometry.editor.unwrap();
|
||||
let (header, _, _) = geometry.header.unwrap();
|
||||
let slot = node.children()[0].bounds();
|
||||
assert_eq!(slot.height, (window_height * 0.42).max(180.));
|
||||
assert!(
|
||||
header.height <= slot.height,
|
||||
"short content may shrink inside the fixed slot"
|
||||
);
|
||||
assert!(
|
||||
editor.height >= 240.,
|
||||
"remaining editor must stay usable: {editor:?}"
|
||||
);
|
||||
assert_eq!(editor.y, slot.y + slot.height);
|
||||
if let Some(expected) = baseline {
|
||||
assert_eq!(editor, expected, "diagnostics={diagnostics}, find={find}");
|
||||
} else {
|
||||
baseline = Some(editor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_header_remains_scrollable_and_preserves_offset_across_diagnostic_refresh() {
|
||||
let content = widget::text_editor::Content::<FontLayout>::with_text("// 雨\r\n");
|
||||
let host = Size::new(720., 540.);
|
||||
let mut tree = core_widget::Tree::empty();
|
||||
let mut saved = None;
|
||||
for diagnostics in [6, 7] {
|
||||
let mut ui = mounted_source(&content, diagnostics, true, 700.);
|
||||
tree.diff(ui.as_widget());
|
||||
let node = ui.as_widget_mut().layout(
|
||||
&mut tree,
|
||||
&FontLayout,
|
||||
&layout::Limits::new(Size::ZERO, host),
|
||||
);
|
||||
let mut geometry = Geometry::default();
|
||||
ui.as_widget_mut()
|
||||
.operate(&mut tree, Layout::new(&node), &FontLayout, &mut geometry);
|
||||
let (bounds, contents, _) = geometry.header.unwrap();
|
||||
assert!(
|
||||
contents.height > bounds.height,
|
||||
"fixture must actually overflow"
|
||||
);
|
||||
if saved.is_none() {
|
||||
let mut messages = Vec::new();
|
||||
let mut shell = Shell::new(&mut messages);
|
||||
ui.as_widget_mut().update(
|
||||
&mut tree,
|
||||
&iced::Event::Mouse(iced::mouse::Event::WheelScrolled {
|
||||
delta: iced::mouse::ScrollDelta::Pixels { x: 0., y: -45. },
|
||||
}),
|
||||
Layout::new(&node),
|
||||
iced::mouse::Cursor::Available(Point::new(bounds.x + 8., bounds.y + 8.)),
|
||||
&FontLayout,
|
||||
&mut iced::advanced::clipboard::Null,
|
||||
&mut shell,
|
||||
&Rectangle::with_size(host),
|
||||
);
|
||||
assert!(shell.is_event_captured());
|
||||
}
|
||||
let mut geometry = Geometry::default();
|
||||
ui.as_widget_mut()
|
||||
.operate(&mut tree, Layout::new(&node), &FontLayout, &mut geometry);
|
||||
let offset = geometry.header.unwrap().2;
|
||||
assert!(offset.y > 0., "the actual mounted Scrollable must move");
|
||||
if let Some(before) = saved {
|
||||
assert_eq!(offset, before);
|
||||
} else {
|
||||
saved = Some(offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
#[test]
|
||||
fn source_editor_windows_menu_payload_is_inert_but_space_and_altgr_still_edit() {
|
||||
|
||||
@@ -2,80 +2,151 @@ use crate::{
|
||||
app::{App, Message},
|
||||
source_navigation::{
|
||||
SymbolEvent,
|
||||
query::{self, Declaration, Disposition, Evidence, Identity, Membership, Position},
|
||||
query::{Declaration, Disposition, Evidence, Identity, Membership, Position},
|
||||
},
|
||||
style,
|
||||
};
|
||||
use iced::{
|
||||
Element, Fill,
|
||||
widget::{Space, button, column, container, row, scrollable, text, tooltip},
|
||||
widget::{button, column, container, scrollable, text, tooltip},
|
||||
};
|
||||
|
||||
pub(super) fn panel(app: &App) -> Element<'_, Message> {
|
||||
use crate::app::text_workspace::{DrawerTab, Event};
|
||||
use std::collections::BTreeSet;
|
||||
let state = &app.source_symbols;
|
||||
if !state.open
|
||||
|| (state.results.is_none() && state.in_flight.is_none() && state.notice.is_none())
|
||||
{
|
||||
return column![].into();
|
||||
let visible = app.text_workspace.drawer() == Some(DrawerTab::References);
|
||||
let presentation = app.text_workspace.references();
|
||||
let mut content = column![].spacing(0).width(Fill);
|
||||
if visible && let Some(notice) = &state.notice {
|
||||
content = content.push(text(notice.clone()).size(12));
|
||||
}
|
||||
let title = state.results.as_ref().map_or_else(
|
||||
|| "Source symbols".to_owned(),
|
||||
|results| {
|
||||
let action = match results.action {
|
||||
query::Action::Definition => "Definitions",
|
||||
query::Action::References => "References",
|
||||
};
|
||||
results.alias.as_ref().map_or_else(
|
||||
|| action.to_owned(),
|
||||
|alias| format!("{action} · @{}", preview(alias, 40)),
|
||||
)
|
||||
},
|
||||
);
|
||||
let mut content = column![
|
||||
row![
|
||||
text(title).size(13),
|
||||
Space::new().width(Fill),
|
||||
button(text("Close").size(11))
|
||||
.padding([3, 8])
|
||||
.style(style::nav)
|
||||
.on_press(app.source_symbol_message(SymbolEvent::Close)),
|
||||
]
|
||||
.align_y(iced::Center)
|
||||
]
|
||||
.spacing(5);
|
||||
|
||||
if let Some(notice) = &state.notice {
|
||||
content = content.push(super::label(preview(notice, 240)));
|
||||
}
|
||||
if state.in_flight.is_some() {
|
||||
content = content.push(super::label("Finding source symbols…"));
|
||||
} else if let Some(results) = &state.results {
|
||||
if visible && let Some(results) = &state.results {
|
||||
let stale = results.stamp.snapshot != app.source_key();
|
||||
if stale {
|
||||
content = content.push(super::label(
|
||||
"Stale results — source changed. Run Definition or References again.",
|
||||
));
|
||||
let enabled = !stale && app.source_navigation_available();
|
||||
let files: BTreeSet<_> = results
|
||||
.definitions
|
||||
.iter()
|
||||
.map(|row| row.path.as_str())
|
||||
.chain(results.references.iter().map(|row| row.path.as_str()))
|
||||
.collect();
|
||||
let mut ordered: Vec<_> = files.iter().copied().collect();
|
||||
// Keep the query's captured origin first even after navigating elsewhere.
|
||||
if let Some(origin) = state
|
||||
.display_request
|
||||
.as_ref()
|
||||
.map(|request| request.path.as_str())
|
||||
{
|
||||
ordered.sort_by_key(|path| (*path != origin, *path));
|
||||
}
|
||||
for path in ordered {
|
||||
let collapsed = presentation.collapsed(path);
|
||||
let count = results
|
||||
.definitions
|
||||
.iter()
|
||||
.filter(|row| row.path == path)
|
||||
.count()
|
||||
+ results
|
||||
.references
|
||||
.iter()
|
||||
.filter(|row| row.path == path)
|
||||
.count();
|
||||
let suffix = distinguishing_path(path, &files);
|
||||
content = content.push(
|
||||
button(
|
||||
text(format!(
|
||||
"{} {suffix} · {count}",
|
||||
if collapsed { "▸" } else { "▾" }
|
||||
))
|
||||
.size(12)
|
||||
.wrapping(iced::widget::text::Wrapping::None),
|
||||
)
|
||||
.height(24)
|
||||
.width(Fill)
|
||||
.padding([2, 6])
|
||||
.style(style::nav)
|
||||
.on_press_maybe(app.source_navigation_available().then(|| {
|
||||
Message::TextWorkspace(Event::ToggleFile {
|
||||
stamp: results.stamp,
|
||||
visit: app.text_workspace.drawer_visit(),
|
||||
path: path.to_owned(),
|
||||
})
|
||||
})),
|
||||
);
|
||||
if collapsed {
|
||||
continue;
|
||||
}
|
||||
for (index, definition) in results
|
||||
.definitions
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|(_, row)| row.path == path)
|
||||
{
|
||||
content = content.push(location_row(
|
||||
declaration_title(&definition.declaration),
|
||||
path,
|
||||
definition.position,
|
||||
provenance(
|
||||
definition.membership,
|
||||
definition.evidence,
|
||||
definition.declaration.identity,
|
||||
false,
|
||||
),
|
||||
enabled.then(|| {
|
||||
app.source_symbol_message(SymbolEvent::Choose {
|
||||
stamp: results.stamp,
|
||||
visit: app.text_workspace.drawer_visit(),
|
||||
reference: false,
|
||||
index,
|
||||
})
|
||||
}),
|
||||
));
|
||||
}
|
||||
for (index, reference) in results
|
||||
.references
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|(_, row)| row.path == path)
|
||||
{
|
||||
let title = reference.context.as_ref().map_or_else(
|
||||
|| format!("@{} · lexical use", preview(&reference.alias, 48)),
|
||||
|context| format!("use · {}", declaration_title(context)),
|
||||
);
|
||||
content = content.push(location_row(
|
||||
title,
|
||||
path,
|
||||
reference.position,
|
||||
provenance(
|
||||
reference.membership,
|
||||
reference.evidence,
|
||||
reference
|
||||
.context
|
||||
.as_ref()
|
||||
.map_or(Identity::Missing, |context| context.identity),
|
||||
true,
|
||||
),
|
||||
enabled.then(|| {
|
||||
app.source_symbol_message(SymbolEvent::Choose {
|
||||
stamp: results.stamp,
|
||||
visit: app.text_workspace.drawer_visit(),
|
||||
reference: true,
|
||||
index,
|
||||
})
|
||||
}),
|
||||
));
|
||||
}
|
||||
// Full path is readable by ordinary scrolling, independently of hover.
|
||||
content = content.push(
|
||||
container(
|
||||
text(path.to_owned())
|
||||
.font(iced::Font::MONOSPACE)
|
||||
.size(12)
|
||||
.wrapping(iced::widget::text::Wrapping::WordOrGlyph),
|
||||
)
|
||||
.padding([3, 8]),
|
||||
);
|
||||
}
|
||||
let scope = &results.scope;
|
||||
content = content.push(super::label(format!(
|
||||
"{} · {} · {} included / {} detached / {} unverified files · {} scope issues",
|
||||
if scope.partial() {
|
||||
"Partial scope"
|
||||
} else {
|
||||
"Complete include scope"
|
||||
},
|
||||
if !scope.applied {
|
||||
"Unapplied drafts"
|
||||
} else if scope.validated {
|
||||
"Validated sources"
|
||||
} else {
|
||||
"Draft sources"
|
||||
},
|
||||
scope.included_files,
|
||||
scope.detached_files,
|
||||
scope.unverified_files,
|
||||
scope.issues.len(),
|
||||
)));
|
||||
let explanation = match results.disposition {
|
||||
Disposition::NoSymbol => "Place the caret on a declaration alias or an @reference.",
|
||||
Disposition::NoDefinition => "No matching declaration in the loaded sources.",
|
||||
@@ -87,89 +158,113 @@ pub(super) fn panel(app: &App) -> Element<'_, Message> {
|
||||
"Lexical uses of this alias; these do not establish a semantic target."
|
||||
}
|
||||
};
|
||||
content = content.push(super::label(explanation));
|
||||
if results.total_definitions > 1 {
|
||||
content = content.push(super::label(format!(
|
||||
"Alias collision: {} declarations. Uses are not attributed to a single declaration.",
|
||||
results.total_definitions,
|
||||
)));
|
||||
}
|
||||
let enabled = !stale && !app.busy;
|
||||
let mut rows = column![super::label(counts(
|
||||
"Declarations",
|
||||
results.definitions.len(),
|
||||
results.total_definitions,
|
||||
results.omitted_definitions,
|
||||
))]
|
||||
.spacing(4);
|
||||
for (index, definition) in results.definitions.iter().enumerate() {
|
||||
rows = rows.push(location_row(
|
||||
declaration_title(&definition.declaration),
|
||||
&definition.path,
|
||||
definition.position,
|
||||
provenance(
|
||||
definition.membership,
|
||||
definition.evidence,
|
||||
definition.declaration.identity,
|
||||
false,
|
||||
),
|
||||
enabled.then(|| {
|
||||
app.source_symbol_message(SymbolEvent::Choose {
|
||||
stamp: results.stamp,
|
||||
reference: false,
|
||||
index,
|
||||
})
|
||||
}),
|
||||
));
|
||||
}
|
||||
rows = rows.push(super::label(counts(
|
||||
"Lexical uses",
|
||||
results.references.len(),
|
||||
results.total_references,
|
||||
results.omitted_references,
|
||||
)));
|
||||
for (index, reference) in results.references.iter().enumerate() {
|
||||
let title = reference.context.as_ref().map_or_else(
|
||||
|| format!("@{} · lexical use", preview(&reference.alias, 48)),
|
||||
|context| {
|
||||
format!(
|
||||
"@{} · inside {}",
|
||||
preview(&reference.alias, 48),
|
||||
declaration_title(context)
|
||||
)
|
||||
},
|
||||
content = content.push(text(explanation).size(12));
|
||||
if stale {
|
||||
content = content.push(
|
||||
text("Source changed. Run Definition or References again for current locations.")
|
||||
.size(12),
|
||||
);
|
||||
rows = rows.push(location_row(
|
||||
title,
|
||||
&reference.path,
|
||||
reference.position,
|
||||
provenance(
|
||||
reference.membership,
|
||||
reference.evidence,
|
||||
reference
|
||||
.context
|
||||
.as_ref()
|
||||
.map_or(Identity::Missing, |context| context.identity),
|
||||
true,
|
||||
),
|
||||
enabled.then(|| {
|
||||
app.source_symbol_message(SymbolEvent::Choose {
|
||||
stamp: results.stamp,
|
||||
reference: true,
|
||||
index,
|
||||
})
|
||||
}),
|
||||
));
|
||||
}
|
||||
let row_count = results.definitions.len() + results.references.len();
|
||||
content =
|
||||
content.push(scrollable(rows).height((44.0 + row_count as f32 * 48.0).min(180.0)));
|
||||
if results.total_definitions > 1 {
|
||||
content = content.push(
|
||||
text("Alias collision: uses are not attributed to a single declaration.").size(12),
|
||||
);
|
||||
}
|
||||
content = content
|
||||
.push(
|
||||
text(format!(
|
||||
"{} · {} included / {} detached / {} unverified files · {} scope issues",
|
||||
if scope.partial() {
|
||||
"Partial include scope"
|
||||
} else {
|
||||
"Complete include scope"
|
||||
},
|
||||
scope.included_files,
|
||||
scope.detached_files,
|
||||
scope.unverified_files,
|
||||
scope.issues.len()
|
||||
))
|
||||
.size(12),
|
||||
)
|
||||
.push(
|
||||
text(if !scope.applied {
|
||||
"Unapplied drafts"
|
||||
} else if scope.validated {
|
||||
"Validated sources"
|
||||
} else {
|
||||
"Draft sources"
|
||||
})
|
||||
.size(12),
|
||||
)
|
||||
.push(
|
||||
text(counts(
|
||||
"Declarations",
|
||||
results.definitions.len(),
|
||||
results.total_definitions,
|
||||
results.omitted_definitions,
|
||||
))
|
||||
.size(12),
|
||||
)
|
||||
.push(
|
||||
text(counts(
|
||||
"Lexical uses",
|
||||
results.references.len(),
|
||||
results.total_references,
|
||||
results.omitted_references,
|
||||
))
|
||||
.size(12),
|
||||
);
|
||||
}
|
||||
container(content)
|
||||
.padding(8)
|
||||
.width(Fill)
|
||||
.style(style::subtle)
|
||||
.into()
|
||||
let identity = if visible {
|
||||
state
|
||||
.display_request
|
||||
.as_ref()
|
||||
.map(|request| (request.job, app.text_workspace.drawer_visit()))
|
||||
} else {
|
||||
None
|
||||
};
|
||||
let guarded = crate::diagnostic_input::Guard::new(identity, content);
|
||||
let mut body = scrollable(
|
||||
container(guarded)
|
||||
.width(Fill)
|
||||
.padding(iced::Padding::ZERO.right(14)),
|
||||
)
|
||||
.id(app.text_workspace.reference_scroll_id())
|
||||
.height(Fill)
|
||||
.width(Fill);
|
||||
if let Some(stamp) = presentation.stamp() {
|
||||
let visit = app.text_workspace.drawer_visit();
|
||||
body = body.on_scroll(move |viewport| {
|
||||
Message::TextWorkspace(Event::ReferenceScrolled {
|
||||
stamp,
|
||||
visit,
|
||||
y: viewport.absolute_offset().y,
|
||||
})
|
||||
});
|
||||
}
|
||||
body.into()
|
||||
}
|
||||
|
||||
/// Shortest suffix that still distinguishes duplicate basenames and suffix paths.
|
||||
fn distinguishing_path<'a>(path: &'a str, files: &std::collections::BTreeSet<&str>) -> &'a str {
|
||||
let starts = std::iter::once(0).chain(path.match_indices('/').map(|(index, _)| index + 1));
|
||||
for start in starts.collect::<Vec<_>>().into_iter().rev() {
|
||||
let candidate = &path[start..];
|
||||
if files
|
||||
.iter()
|
||||
.filter(|other| {
|
||||
**other == candidate
|
||||
|| other
|
||||
.strip_suffix(candidate)
|
||||
.is_some_and(|prefix| prefix.ends_with('/'))
|
||||
})
|
||||
.count()
|
||||
== 1
|
||||
{
|
||||
return candidate;
|
||||
}
|
||||
}
|
||||
path
|
||||
}
|
||||
|
||||
fn counts(label: &str, shown: usize, total: usize, omitted: usize) -> String {
|
||||
@@ -223,23 +318,24 @@ fn location_row(
|
||||
) -> Element<'static, Message> {
|
||||
let line = position.line.saturating_add(1);
|
||||
let column = position.byte_column.saturating_add(1);
|
||||
let location = format!("{}:{line}:{column}", preview(path, 72));
|
||||
let full =
|
||||
format!("{path}:{line}:{column} · {title} · {status} (1-based line and UTF-8 byte column)");
|
||||
tooltip(
|
||||
button(
|
||||
column![
|
||||
text(title).size(12),
|
||||
super::label(format!("{location} · {status}"))
|
||||
]
|
||||
.spacing(2),
|
||||
container(
|
||||
text(format!("{line}:{column} {title} · {status}"))
|
||||
.size(12)
|
||||
.wrapping(iced::widget::text::Wrapping::None),
|
||||
)
|
||||
.clip(true)
|
||||
.width(Fill),
|
||||
)
|
||||
.padding([4, 6])
|
||||
.padding([3, 12])
|
||||
.height(28)
|
||||
.width(Fill)
|
||||
.style(style::nav)
|
||||
.on_press_maybe(event),
|
||||
text(format!(
|
||||
"{path}:{line}:{column} (1-based line and UTF-8 byte column)"
|
||||
))
|
||||
.size(11),
|
||||
text(full).size(12),
|
||||
tooltip::Position::Top,
|
||||
)
|
||||
.into()
|
||||
@@ -258,3 +354,32 @@ fn preview(value: &str, limit: usize) -> String {
|
||||
}
|
||||
result
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
#[test]
|
||||
fn suffixes_distinguish_nested_duplicate_basenames_without_changing_unicode() {
|
||||
let files = [
|
||||
"a/core.arcadia",
|
||||
"b/core.arcadia",
|
||||
"core.arcadia",
|
||||
"救援/actors.arcadia",
|
||||
]
|
||||
.into_iter()
|
||||
.collect();
|
||||
assert_eq!(
|
||||
distinguishing_path("a/core.arcadia", &files),
|
||||
"a/core.arcadia"
|
||||
);
|
||||
assert_eq!(
|
||||
distinguishing_path("b/core.arcadia", &files),
|
||||
"b/core.arcadia"
|
||||
);
|
||||
assert_eq!(distinguishing_path("core.arcadia", &files), "core.arcadia");
|
||||
assert_eq!(
|
||||
distinguishing_path("救援/actors.arcadia", &files),
|
||||
"actors.arcadia"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,248 @@
|
||||
//! Shapes and draws the production summary, checking actual paragraph advances.
|
||||
//! Native validation remains necessary for platform raster ink/fallback fonts.
|
||||
use super::*;
|
||||
use crate::source_navigation::query;
|
||||
use crate::views::source_tests::FontLayout;
|
||||
use iced::advanced::{Layout, layout, renderer, text as shaped, widget::Tree};
|
||||
use iced::{Background, Color, Pixels, Point, Rectangle, Size, Transformation};
|
||||
use std::sync::Arc;
|
||||
|
||||
struct Cluster {
|
||||
paragraph: String,
|
||||
bytes: std::ops::Range<usize>,
|
||||
bounds: Rectangle,
|
||||
clip: Rectangle,
|
||||
}
|
||||
struct Recorder {
|
||||
clips: Vec<Rectangle>,
|
||||
transforms: Vec<Transformation>,
|
||||
clusters: Vec<Cluster>,
|
||||
}
|
||||
impl Recorder {
|
||||
fn transform(&self) -> Transformation {
|
||||
*self.transforms.last().unwrap()
|
||||
}
|
||||
fn clip(&self, bounds: Rectangle) -> Rectangle {
|
||||
self.clips
|
||||
.last()
|
||||
.unwrap()
|
||||
.intersection(&(bounds * self.transform()))
|
||||
.unwrap_or(Rectangle::with_size(Size::ZERO))
|
||||
}
|
||||
}
|
||||
impl renderer::Renderer for Recorder {
|
||||
fn start_layer(&mut self, bounds: Rectangle) {
|
||||
self.clips.push(self.clip(bounds));
|
||||
}
|
||||
fn end_layer(&mut self) {
|
||||
self.clips.pop().unwrap();
|
||||
}
|
||||
fn start_transformation(&mut self, transform: Transformation) {
|
||||
self.transforms.push(self.transform() * transform);
|
||||
}
|
||||
fn end_transformation(&mut self) {
|
||||
self.transforms.pop().unwrap();
|
||||
}
|
||||
fn reset(&mut self, bounds: Rectangle) {
|
||||
self.clips = vec![bounds];
|
||||
self.transforms = vec![Transformation::IDENTITY];
|
||||
self.clusters.clear();
|
||||
}
|
||||
fn fill_quad(&mut self, _: renderer::Quad, _: impl Into<Background>) {}
|
||||
fn allocate_image(
|
||||
&mut self,
|
||||
handle: &iced::advanced::image::Handle,
|
||||
callback: impl FnOnce(Result<iced::advanced::image::Allocation, iced::advanced::image::Error>)
|
||||
+ Send
|
||||
+ 'static,
|
||||
) {
|
||||
renderer::Renderer::allocate_image(&mut FontLayout, handle, callback);
|
||||
}
|
||||
}
|
||||
impl shaped::Renderer for Recorder {
|
||||
type Font = Font;
|
||||
type Paragraph = <FontLayout as shaped::Renderer>::Paragraph;
|
||||
type Editor = <FontLayout as shaped::Renderer>::Editor;
|
||||
const ICON_FONT: Font = <FontLayout as shaped::Renderer>::ICON_FONT;
|
||||
const CHECKMARK_ICON: char = <FontLayout as shaped::Renderer>::CHECKMARK_ICON;
|
||||
const ARROW_DOWN_ICON: char = <FontLayout as shaped::Renderer>::ARROW_DOWN_ICON;
|
||||
const SCROLL_UP_ICON: char = <FontLayout as shaped::Renderer>::SCROLL_UP_ICON;
|
||||
const SCROLL_DOWN_ICON: char = <FontLayout as shaped::Renderer>::SCROLL_DOWN_ICON;
|
||||
const SCROLL_LEFT_ICON: char = <FontLayout as shaped::Renderer>::SCROLL_LEFT_ICON;
|
||||
const SCROLL_RIGHT_ICON: char = <FontLayout as shaped::Renderer>::SCROLL_RIGHT_ICON;
|
||||
const ICED_LOGO: char = <FontLayout as shaped::Renderer>::ICED_LOGO;
|
||||
fn default_font(&self) -> Font {
|
||||
shaped::Renderer::default_font(&FontLayout)
|
||||
}
|
||||
fn default_size(&self) -> Pixels {
|
||||
shaped::Renderer::default_size(&FontLayout)
|
||||
}
|
||||
fn fill_paragraph(
|
||||
&mut self,
|
||||
paragraph: &Self::Paragraph,
|
||||
position: Point,
|
||||
_: Color,
|
||||
clip: Rectangle,
|
||||
) {
|
||||
let buffer = paragraph.buffer();
|
||||
let content = buffer
|
||||
.lines
|
||||
.iter()
|
||||
.map(|line| line.text())
|
||||
.collect::<Vec<_>>()
|
||||
.join("\n");
|
||||
let clip = self.clip(clip);
|
||||
for run in buffer.layout_runs() {
|
||||
for glyph in run.glyphs {
|
||||
self.clusters.push(Cluster {
|
||||
paragraph: content.clone(),
|
||||
bytes: glyph.start..glyph.end,
|
||||
bounds: Rectangle {
|
||||
x: position.x + glyph.x + glyph.x_offset * glyph.font_size,
|
||||
y: position.y + run.line_top,
|
||||
width: glyph.w,
|
||||
height: run.line_height,
|
||||
} * self.transform(),
|
||||
clip,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
fn fill_editor(&mut self, _: &Self::Editor, _: Point, _: Color, _: Rectangle) {}
|
||||
fn fill_text(&mut self, _: shaped::Text, _: Point, _: Color, _: Rectangle) {}
|
||||
}
|
||||
|
||||
const FLAGS: [&str; 5] = ["Stale", "Partial", "Collision", "Detached", "Unverified"];
|
||||
|
||||
fn draw_and_check_flags(
|
||||
content: Element<'_, Message, iced::Theme, Recorder>,
|
||||
width: f32,
|
||||
) -> Vec<String> {
|
||||
let viewport = Rectangle::with_size(Size::new(width, 24.));
|
||||
let mut renderer = Recorder {
|
||||
clips: vec![viewport],
|
||||
transforms: vec![Transformation::IDENTITY],
|
||||
clusters: Vec::new(),
|
||||
};
|
||||
let mut view: Element<'_, Message, iced::Theme, Recorder> =
|
||||
container(content).width(Fill).height(24).clip(true).into();
|
||||
let mut tree = Tree::new(view.as_widget());
|
||||
let node = view.as_widget_mut().layout(
|
||||
&mut tree,
|
||||
&renderer,
|
||||
&layout::Limits::new(Size::ZERO, viewport.size()),
|
||||
);
|
||||
assert_eq!(node.size(), viewport.size());
|
||||
view.as_widget().draw(
|
||||
&tree,
|
||||
&mut renderer,
|
||||
&iced::Theme::Light,
|
||||
&renderer::Style::default(),
|
||||
Layout::new(&node),
|
||||
iced::mouse::Cursor::Unavailable,
|
||||
&viewport,
|
||||
);
|
||||
let mut failures = Vec::new();
|
||||
for flag in FLAGS {
|
||||
for byte in 0..flag.len() {
|
||||
let matching: Vec<_> = renderer
|
||||
.clusters
|
||||
.iter()
|
||||
.filter(|cluster| {
|
||||
cluster
|
||||
.paragraph
|
||||
.find(flag)
|
||||
.is_some_and(|start| cluster.bytes.contains(&(start + byte)))
|
||||
})
|
||||
.collect();
|
||||
if matching.is_empty() {
|
||||
failures.push(format!("missing shaped flag byte: {flag}[{byte}]"));
|
||||
}
|
||||
for cluster in matching {
|
||||
let b = cluster.bounds;
|
||||
let c = cluster.clip;
|
||||
if !(b.x >= c.x - 0.5
|
||||
&& b.y >= c.y - 0.5
|
||||
&& b.x + b.width <= c.x + c.width + 0.5
|
||||
&& b.y + b.height <= c.y + c.height + 0.5)
|
||||
{
|
||||
failures.push(format!("flag {flag} is clipped: glyph {b:?}, clip {c:?}"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
failures
|
||||
}
|
||||
|
||||
fn old_summary(value: String) -> Element<'static, Message, iced::Theme, Recorder> {
|
||||
text(value)
|
||||
.size(12)
|
||||
.wrapping(widget::text::Wrapping::None)
|
||||
.into()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts() {
|
||||
let mut app = App::with_project(oa_core::Project::empty());
|
||||
let old_key = App::with_project(oa_core::Project::empty()).source_key();
|
||||
assert_ne!(old_key, app.source_key());
|
||||
for alias in ["雨".repeat(32), "W".repeat(32)] {
|
||||
// Unicode aliases are presentation stress: the current lexer admits
|
||||
// ASCII identifiers only. Six-digit totals are within the query's
|
||||
// 250,000-record cap; this does not build that many source records.
|
||||
let old_value = format!(
|
||||
"@{alias} · 100000 declarations · 100000 uses · Stale · Partial · Collision · Detached · Unverified"
|
||||
);
|
||||
app.source_symbols.results = Some(Arc::new(query::Results {
|
||||
stamp: query::QueryStamp {
|
||||
snapshot: old_key,
|
||||
serial: 1,
|
||||
},
|
||||
action: query::Action::References,
|
||||
origin_path: app.source_workspace.active.clone(),
|
||||
origin_offset: 0,
|
||||
origin: None,
|
||||
alias: Some(alias.clone()),
|
||||
scope: query::Scope {
|
||||
closure_complete: false,
|
||||
applied: false,
|
||||
validated: false,
|
||||
included_files: 28,
|
||||
detached_files: 1,
|
||||
unverified_files: 1,
|
||||
issues: Vec::new(),
|
||||
},
|
||||
disposition: query::Disposition::LexicalReferences,
|
||||
definitions: Vec::new(),
|
||||
references: Vec::new(),
|
||||
total_definitions: 100_000,
|
||||
total_references: 100_000,
|
||||
omitted_definitions: 100_000,
|
||||
omitted_references: 100_000,
|
||||
}));
|
||||
for width in [840., 720.] {
|
||||
let positive = draw_and_check_flags(reference_summary(&app), width);
|
||||
assert!(
|
||||
positive.is_empty(),
|
||||
"reserved flags, width {width}, alias {alias:?}: {positive:?}"
|
||||
);
|
||||
// Observe the exact old presentation without predicting font widths.
|
||||
// This is emitted under --nocapture, whether it clips or fits.
|
||||
let old = draw_and_check_flags(old_summary(old_value.clone()), width);
|
||||
println!(
|
||||
"old alias-first summary width={width} alias={alias:?}: {} missing/clipped flag-byte checks; first={:?}",
|
||||
old.len(),
|
||||
old.first()
|
||||
);
|
||||
}
|
||||
}
|
||||
// Deliberate evaluator stress, beyond the production 32-character subject
|
||||
// bound: require the same evaluator to reject a clipped old-style paragraph.
|
||||
// This is not evidence of a production/native overflow at 840 pixels.
|
||||
let stress = format!("@{} · {}", "W".repeat(256), FLAGS.join(" · "));
|
||||
let rejected = draw_and_check_flags(old_summary(stress), 720.);
|
||||
assert!(
|
||||
!rejected.is_empty(),
|
||||
"negative control must detect missing/clipped warning text"
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app/source_symbols.rs",
|
||||
"oldSha256": "1fb3709bb973e7dcfbcde56054d028e47d770a62f3b7c8b6fac411543a234b7b",
|
||||
"correctedSha256": "aa4f1423e759fdeaf7815d656b40189be176f4e8659f3da50debb5d85ed3af6c",
|
||||
"correctedBytes": 21062
|
||||
}
|
||||
@@ -0,0 +1,516 @@
|
||||
//! Current draft navigation, isolated from model application and disk discovery.
|
||||
use super::*;
|
||||
use crate::source_navigation::{self as nav, query};
|
||||
use std::sync::atomic::Ordering;
|
||||
|
||||
fn admission_notice(error: query::AdmissionError) -> String {
|
||||
use nav::symbols::{BuildError, InputProblem, Resource};
|
||||
let (limit, resource) = match error {
|
||||
query::AdmissionError::Index(BuildError::Limit { limit, resource, .. }) => (limit, resource),
|
||||
query::AdmissionError::Outline { error, .. } => (error.limit, match error.resource {
|
||||
language::OutlineResource::SourceBytes => Resource::SourceBytes,
|
||||
language::OutlineResource::Tokens => Resource::Tokens,
|
||||
language::OutlineResource::Declarations => Resource::Records,
|
||||
}),
|
||||
query::AdmissionError::Index(BuildError::Input { problem, .. }) => return match problem {
|
||||
InputProblem::NonCanonicalPath | InputProblem::DuplicateOrCaseCollidingPath =>
|
||||
"Navigation needs distinct relative source paths. Check file names and include paths.".into(),
|
||||
_ => "Navigation could not verify the current source locations. Correct source errors and try again.".into(),
|
||||
},
|
||||
};
|
||||
let unit = match resource {
|
||||
Resource::Files => "loaded files",
|
||||
Resource::SourceBytes => "source bytes",
|
||||
Resource::PathBytes => "bytes in file paths",
|
||||
Resource::Tokens => "source tokens",
|
||||
Resource::Records => "declarations and references",
|
||||
};
|
||||
format!(
|
||||
"Navigation reached its limit of {limit} {unit}. Reduce the loaded source size and try again."
|
||||
)
|
||||
}
|
||||
|
||||
impl App {
|
||||
pub fn source_symbol_context(&self) -> nav::SymbolContext {
|
||||
nav::SymbolContext {
|
||||
session: self.source_workspace.session(),
|
||||
path: self.source_workspace.active.clone(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn source_symbol_message(&self, event: nav::SymbolEvent) -> Message {
|
||||
Message::SourceSymbols(self.source_symbol_context(), event)
|
||||
}
|
||||
|
||||
pub fn source_find_close_message(&self) -> Message {
|
||||
Message::SourceFindClose(self.source_symbol_context(), self.source_find_instance)
|
||||
}
|
||||
pub fn source_key(&self) -> query::SnapshotKey {
|
||||
query::SnapshotKey {
|
||||
workspace: self.source_workspace.session(),
|
||||
revision: self.source_workspace.revision(),
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn with_source_input<T>(&self, use_input: impl FnOnce(query::Input<'_>) -> T) -> T {
|
||||
let files: Vec<_> = self
|
||||
.source_workspace
|
||||
.files
|
||||
.iter()
|
||||
.map(|(path, buffer)| query::DraftFile {
|
||||
path,
|
||||
text: &buffer.text,
|
||||
})
|
||||
.collect();
|
||||
let accepted = self.document.bundle();
|
||||
let validated: Vec<_> = accepted
|
||||
.files
|
||||
.iter()
|
||||
.map(|(path, text)| query::DraftFile { path, text })
|
||||
.collect();
|
||||
use_input(query::Input {
|
||||
key: self.source_key(),
|
||||
entry: &self.source_workspace.entry,
|
||||
files: &files,
|
||||
applied: self.source_workspace.applied,
|
||||
validation: self
|
||||
.source_workspace
|
||||
.applied
|
||||
.then_some(query::ValidatedSources {
|
||||
entry: &accepted.entry,
|
||||
files: &validated,
|
||||
}),
|
||||
})
|
||||
}
|
||||
|
||||
pub(super) fn source_snapshot_matches(&self, snapshot: &query::Snapshot) -> bool {
|
||||
snapshot.key() == self.source_key()
|
||||
&& self.with_source_input(|input| snapshot.matches(input))
|
||||
}
|
||||
|
||||
pub fn source_navigation_available(&self) -> bool {
|
||||
self.page == Page::Text
|
||||
&& !self.source_rename.open()
|
||||
&& !self.busy
|
||||
&& self.pending.is_none()
|
||||
&& self.file_prompt.is_none()
|
||||
&& !self.delete_pending
|
||||
&& self.workflow.is_none()
|
||||
&& !self.hosted.visible
|
||||
&& self.model_menu.is_none()
|
||||
&& self.text_workspace.menu().is_none()
|
||||
&& self.architecture.is_none()
|
||||
&& !self.behavior.has_pending()
|
||||
}
|
||||
|
||||
/// Mounted widget IDs change when another interaction supersedes a reveal.
|
||||
/// A queued focus operation therefore cannot find a subsequently reused editor.
|
||||
pub fn source_editor_id(&self) -> iced::widget::Id {
|
||||
iced::widget::Id::from(format!(
|
||||
"source-editor-{}-{}-{}",
|
||||
self.source_workspace.session(),
|
||||
self.source_workspace.active,
|
||||
self.source_symbols.interaction
|
||||
))
|
||||
}
|
||||
|
||||
/// The reviewed diagram-query union is not integrated into this source yet.
|
||||
/// Its eventual adapter must return the peer's captured chooser message.
|
||||
pub(super) fn text_diagram_usages_message(&self) -> Option<Message> {
|
||||
None
|
||||
}
|
||||
|
||||
pub fn source_reveal_ticket(&self) -> Option<Id> {
|
||||
self.source_symbols
|
||||
.reveal
|
||||
.as_ref()
|
||||
.map(|reveal| reveal.ticket)
|
||||
}
|
||||
|
||||
pub(super) fn source_interaction(&mut self) {
|
||||
self.source_symbols.interaction = Id::new_v4();
|
||||
self.source_symbols.request = None;
|
||||
self.source_symbols.reveal = None;
|
||||
self.source_jump = None;
|
||||
}
|
||||
|
||||
pub(super) fn queue_source_reveal(&mut self, cursor: text_editor::Cursor, select_line: bool) {
|
||||
self.source_jump = Some(cursor);
|
||||
self.source_select_line = select_line;
|
||||
self.source_symbols.reveal = Some(nav::Reveal {
|
||||
ticket: Id::new_v4(),
|
||||
interaction: self.source_symbols.interaction,
|
||||
raw_interaction: self.source_symbols.raw_interaction.load(Ordering::SeqCst),
|
||||
snapshot: self.source_key(),
|
||||
path: self.source_workspace.active.clone(),
|
||||
});
|
||||
}
|
||||
|
||||
pub(super) fn restore_source_editor_focus(&mut self) {
|
||||
let cursor = self.source_editor.cursor();
|
||||
if self.source_navigation_available()
|
||||
&& nav::exact_cursor(self.source_workspace.text(), cursor)
|
||||
{
|
||||
self.queue_source_reveal(cursor, false);
|
||||
// This ticket restores focus to the live editor, not a saved cursor.
|
||||
// Iced's Cursor omits Word/Line selection kind; moving back to that
|
||||
// lossy value would collapse an actual word/line selection.
|
||||
self.source_jump = None;
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn source_viewport(&mut self, ticket: Option<Id>) -> Task<Message> {
|
||||
let Some(reveal) = &self.source_symbols.reveal else {
|
||||
return Task::none();
|
||||
};
|
||||
if Some(reveal.ticket) != ticket
|
||||
|| reveal.interaction != self.source_symbols.interaction
|
||||
|| !nav::interaction::is_current(
|
||||
&self.source_symbols.raw_interaction,
|
||||
reveal.raw_interaction,
|
||||
)
|
||||
|| reveal.snapshot != self.source_key()
|
||||
|| reveal.path != self.source_workspace.active
|
||||
|| !self.source_navigation_available()
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
let raw_interaction = reveal.raw_interaction;
|
||||
self.source_symbols.reveal = None;
|
||||
if let Some(cursor) = self.source_jump.take() {
|
||||
if !nav::exact_cursor(self.source_workspace.text(), cursor) {
|
||||
return Task::none();
|
||||
}
|
||||
self.source_editor.move_to(cursor);
|
||||
if self.source_select_line && cursor.selection.is_none() {
|
||||
self.source_editor.perform(text_editor::Action::SelectLine);
|
||||
}
|
||||
}
|
||||
// A valid ticket with no jump is focus-only. All intentional navigation
|
||||
// still takes the cursor branch above, including explicit line selection.
|
||||
nav::interaction::guarded_focus(
|
||||
self.source_editor_id(),
|
||||
self.source_symbols.raw_interaction.clone(),
|
||||
raw_interaction,
|
||||
)
|
||||
}
|
||||
|
||||
pub(super) fn source_symbol_event(&mut self, event: nav::SymbolEvent) -> Task<Message> {
|
||||
if !self.source_navigation_available() {
|
||||
return Task::none();
|
||||
}
|
||||
match event {
|
||||
nav::SymbolEvent::Close => {
|
||||
return self.show_text_drawer(None);
|
||||
}
|
||||
nav::SymbolEvent::Back => {
|
||||
self.source_symbol_back();
|
||||
// A successful Back needs no empty results panel. Retain an
|
||||
// already open panel, or reveal an actionable return notice.
|
||||
if self.source_symbols.notice.is_some() {
|
||||
self.text_workspace
|
||||
.show_drawer(Some(text_workspace::DrawerTab::References));
|
||||
let refs = self.text_workspace.references();
|
||||
return iced::widget::operation::scroll_to(
|
||||
self.text_workspace.reference_scroll_id(),
|
||||
iced::widget::scrollable::AbsoluteOffset {
|
||||
x: 0.,
|
||||
y: refs.scroll_y(),
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
nav::SymbolEvent::Choose {
|
||||
stamp,
|
||||
reference,
|
||||
index,
|
||||
..
|
||||
} => {
|
||||
let Some(results) = self.source_symbols.results.clone() else {
|
||||
return Task::none();
|
||||
};
|
||||
if results.stamp != stamp
|
||||
|| stamp.snapshot != self.source_key()
|
||||
|| self
|
||||
.source_symbols
|
||||
.cache
|
||||
.as_ref()
|
||||
.is_none_or(|cache| !self.source_snapshot_matches(cache))
|
||||
{
|
||||
self.source_symbols.notice =
|
||||
Some("Source changed. Run navigation again for current locations.".into());
|
||||
return Task::none();
|
||||
}
|
||||
let destination = if reference {
|
||||
results
|
||||
.references
|
||||
.get(index)
|
||||
.map(|row| (&row.path, row.position, row.end_position))
|
||||
} else {
|
||||
results
|
||||
.definitions
|
||||
.get(index)
|
||||
.map(|row| (&row.path, row.position, row.end_position))
|
||||
};
|
||||
if let Some((path, start, end)) = destination {
|
||||
self.source_symbol_jump(path, start, end);
|
||||
}
|
||||
}
|
||||
nav::SymbolEvent::Query(action) => return self.start_source_query(action),
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
|
||||
fn start_source_query(&mut self, action: query::Action) -> Task<Message> {
|
||||
self.text_workspace
|
||||
.show_drawer(Some(text_workspace::DrawerTab::References));
|
||||
if !nav::interaction::is_current(
|
||||
&self.source_symbols.raw_interaction,
|
||||
self.source_symbols.raw_interaction.load(Ordering::SeqCst),
|
||||
) {
|
||||
self.source_symbols.notice = Some("Reopen this workspace to reset navigation.".into());
|
||||
return Task::none();
|
||||
}
|
||||
if self.source_symbols.in_flight.is_some() {
|
||||
self.source_symbols.notice = Some("Navigation is finishing. Try again shortly.".into());
|
||||
return Task::none();
|
||||
}
|
||||
let cursor = self.source_editor.cursor();
|
||||
let Some(offset) = nav::cursor_offset(self.source_workspace.text(), cursor) else {
|
||||
self.source_symbols.notice =
|
||||
Some("Place the cursor on an alias or its @ reference.".into());
|
||||
return Task::none();
|
||||
};
|
||||
self.source_symbols.serial = match self.source_symbols.serial.checked_add(1) {
|
||||
Some(serial) => serial,
|
||||
None => {
|
||||
self.reset_source_navigation_session();
|
||||
self.source_symbols.back.clear();
|
||||
self.source_symbols.cache = None;
|
||||
0
|
||||
}
|
||||
};
|
||||
let request = nav::Request {
|
||||
job: Id::new_v4(),
|
||||
interaction: self.source_symbols.interaction,
|
||||
raw_interaction: self.source_symbols.raw_interaction.load(Ordering::SeqCst),
|
||||
stamp: query::QueryStamp {
|
||||
snapshot: self.source_key(),
|
||||
serial: self.source_symbols.serial,
|
||||
},
|
||||
path: self.source_workspace.active.clone(),
|
||||
offset,
|
||||
cursor,
|
||||
action,
|
||||
};
|
||||
let cache = self
|
||||
.source_symbols
|
||||
.cache
|
||||
.as_ref()
|
||||
.filter(|cache| self.source_snapshot_matches(cache))
|
||||
.cloned();
|
||||
let input = if cache.is_none() {
|
||||
match self
|
||||
.with_source_input(|input| query::admit_owned(input, query::Limits::default()))
|
||||
{
|
||||
Ok(input) => Some(input),
|
||||
Err(error) => {
|
||||
self.source_symbols.notice = Some(admission_notice(error));
|
||||
return Task::none();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
None
|
||||
};
|
||||
self.source_symbols.in_flight = Some(request.job);
|
||||
self.source_symbols.request = Some(request.clone());
|
||||
self.source_symbols.display_request = Some(request.clone());
|
||||
self.text_workspace
|
||||
.begin_references(request.stamp, request.path.clone());
|
||||
self.source_symbols.results = None;
|
||||
self.source_symbols.notice = None;
|
||||
let worker = Task::perform(
|
||||
async move {
|
||||
let worker_request = request.clone();
|
||||
let result = tokio::task::spawn_blocking(move || {
|
||||
let snapshot = match cache {
|
||||
Some(cache) => cache,
|
||||
None => Arc::new(
|
||||
input
|
||||
.expect("admitted input for uncached request")
|
||||
.capture()
|
||||
.map_err(admission_notice)?,
|
||||
),
|
||||
};
|
||||
let results = snapshot
|
||||
.query(query::Query {
|
||||
stamp: worker_request.stamp,
|
||||
path: &worker_request.path,
|
||||
byte_offset: worker_request.offset,
|
||||
action: worker_request.action,
|
||||
})
|
||||
.map_err(|error| match error {
|
||||
query::QueryError::ResultEnvelopeLimit => "These result details exceed the display limit. Try literal Find for this alias.".to_owned(),
|
||||
_ => "Navigation could not verify this location. Place the cursor on an alias and try again.".to_owned(),
|
||||
})?;
|
||||
Ok((snapshot, Arc::new(results)))
|
||||
})
|
||||
.await
|
||||
.unwrap_or_else(|error| Err(format!("Navigation task failed: {error}")));
|
||||
nav::Completion { request, result }
|
||||
},
|
||||
Message::SourceSymbolsReady,
|
||||
);
|
||||
Task::batch([
|
||||
worker,
|
||||
iced::widget::operation::scroll_to(
|
||||
self.text_workspace.reference_scroll_id(),
|
||||
iced::widget::scrollable::AbsoluteOffset { x: 0., y: 0. },
|
||||
),
|
||||
])
|
||||
}
|
||||
|
||||
pub(super) fn source_symbols_ready(&mut self, completion: nav::Completion) -> Task<Message> {
|
||||
let request = completion.request;
|
||||
if self.source_symbols.in_flight != Some(request.job) {
|
||||
return Task::none();
|
||||
}
|
||||
self.source_symbols.in_flight = None;
|
||||
let wanted_navigation = self
|
||||
.source_symbols
|
||||
.request
|
||||
.take()
|
||||
.is_some_and(|current| current == request)
|
||||
&& request.interaction == self.source_symbols.interaction
|
||||
&& request.stamp.snapshot == self.source_key()
|
||||
&& nav::interaction::is_current(
|
||||
&self.source_symbols.raw_interaction,
|
||||
request.raw_interaction,
|
||||
)
|
||||
&& request.path == self.source_workspace.active
|
||||
&& request.cursor == self.source_editor.cursor()
|
||||
&& self.source_navigation_available();
|
||||
let wanted_display = self
|
||||
.source_symbols
|
||||
.display_request
|
||||
.as_ref()
|
||||
.is_some_and(|current| current == &request)
|
||||
&& request.stamp.snapshot == self.source_key();
|
||||
if !wanted_display {
|
||||
return Task::none();
|
||||
}
|
||||
match completion.result {
|
||||
Ok((snapshot, results))
|
||||
if self.source_snapshot_matches(&snapshot)
|
||||
&& results.stamp == request.stamp
|
||||
&& results.action == request.action =>
|
||||
{
|
||||
self.source_symbols.cache = Some(snapshot);
|
||||
self.source_symbols.results = Some(results.clone());
|
||||
self.text_workspace.install_reference_files(
|
||||
results.stamp,
|
||||
results
|
||||
.definitions
|
||||
.iter()
|
||||
.map(|row| row.path.clone())
|
||||
.chain(results.references.iter().map(|row| row.path.clone())),
|
||||
);
|
||||
if wanted_navigation
|
||||
&& results.disposition == query::Disposition::Direct
|
||||
&& let Some(row) = results.definitions.first()
|
||||
{
|
||||
self.source_symbol_jump(&row.path, row.position, row.end_position);
|
||||
}
|
||||
}
|
||||
Ok(_) => {
|
||||
self.source_symbols.notice = Some("Source changed. Run navigation again.".into())
|
||||
}
|
||||
Err(error) => self.source_symbols.notice = Some(error),
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
|
||||
fn source_symbol_jump(&mut self, path: &str, start: query::Position, end: query::Position) {
|
||||
let cursor = text_editor::Cursor {
|
||||
position: text_editor::Position {
|
||||
line: start.line,
|
||||
column: start.byte_column,
|
||||
},
|
||||
selection: Some(text_editor::Position {
|
||||
line: end.line,
|
||||
column: end.byte_column,
|
||||
}),
|
||||
};
|
||||
if self
|
||||
.source_workspace
|
||||
.files
|
||||
.get(path)
|
||||
.is_none_or(|buffer| !nav::exact_cursor(&buffer.text, cursor))
|
||||
{
|
||||
self.source_symbols.notice =
|
||||
Some("That source location is no longer available. Run navigation again.".into());
|
||||
return;
|
||||
}
|
||||
if let Some(buffer) = self
|
||||
.source_workspace
|
||||
.files
|
||||
.get(&self.source_workspace.active)
|
||||
{
|
||||
let origin = nav::HistoryEntry {
|
||||
session: self.source_workspace.session(),
|
||||
path: self.source_workspace.active.clone(),
|
||||
generation: buffer.generation(),
|
||||
cursor: self.source_editor.cursor(),
|
||||
};
|
||||
self.source_symbols
|
||||
.back
|
||||
.retain(|entry| entry.session == origin.session);
|
||||
if self.source_symbols.back.len() == 64 {
|
||||
self.source_symbols.back.remove(0);
|
||||
}
|
||||
self.source_symbols.back.push(origin);
|
||||
}
|
||||
self.source_workspace
|
||||
.switch(path, self.source_editor.cursor());
|
||||
self.show_source_file(false);
|
||||
self.queue_source_reveal(cursor, false);
|
||||
}
|
||||
|
||||
fn source_symbol_back(&mut self) {
|
||||
while let Some(origin) = self.source_symbols.back.pop() {
|
||||
if origin.session != self.source_workspace.session() {
|
||||
continue;
|
||||
}
|
||||
let Some(buffer) = self.source_workspace.files.get(&origin.path) else {
|
||||
self.source_symbols.notice = Some("The previous file is no longer loaded.".into());
|
||||
return;
|
||||
};
|
||||
let unchanged = origin.generation == buffer.generation();
|
||||
let cursor = if unchanged {
|
||||
origin.cursor
|
||||
} else if origin.path == self.source_workspace.active {
|
||||
self.source_editor.cursor()
|
||||
} else {
|
||||
buffer.cursor
|
||||
};
|
||||
if !nav::exact_cursor(&buffer.text, cursor) {
|
||||
self.source_symbols.notice = Some(
|
||||
"The previous location changed. Open the file to choose a current position."
|
||||
.into(),
|
||||
);
|
||||
return;
|
||||
}
|
||||
self.source_workspace
|
||||
.switch(&origin.path, self.source_editor.cursor());
|
||||
self.show_source_file(false);
|
||||
self.queue_source_reveal(cursor, false);
|
||||
self.source_symbols.notice =
|
||||
(!unchanged).then(|| "This draft changed; its current cursor was restored.".into());
|
||||
return;
|
||||
}
|
||||
self.source_symbols.notice = Some("No previous source location in this workspace.".into());
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"text_workspace::focus_selection_tests",
|
||||
"--",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T03:16:10.963840+00:00",
|
||||
"finished": "2026-09-13T03:16:14.567610+00:00",
|
||||
"seconds": 3.6007215999998152,
|
||||
"exitCode": 101,
|
||||
"inputsUnchanged": true,
|
||||
"stdout": {
|
||||
"bytes": 942,
|
||||
"sha256": "d31c5ab32ed7d3e758544758adb39a89c4c97c9ccb53f9c83cd6273e0d669b19"
|
||||
},
|
||||
"stderr": {
|
||||
"bytes": 1015,
|
||||
"sha256": "8c45c4e803b9eea688856e75aea6a1d7d0f960e8304958aca2e91a7407f623fa"
|
||||
},
|
||||
"scope": "Focused evaluator run only; red label describes intended old-production run, not proof of the expected failure cause."
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
Finished `test` profile [unoptimized] target(s) in 2.57s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes' (6596) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:457:9:
|
||||
assertion `left == right` failed
|
||||
left: Some("")
|
||||
right: Some("oa_contact")
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes' (9664) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:379:13:
|
||||
assertion `left == right` failed: selected bytes must survive focus restoration
|
||||
left: Some("")
|
||||
right: Some("oa_contact")
|
||||
error: test failed, to rerun pass `-p oa-desktop --bin arcadia-studio`
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
running 4 tests
|
||||
test app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line ... ok
|
||||
test app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss ... ok
|
||||
test app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes ... FAILED
|
||||
test app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes ... FAILED
|
||||
|
||||
failures:
|
||||
|
||||
failures:
|
||||
app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes
|
||||
app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes
|
||||
|
||||
test result: FAILED. 2 passed; 2 failed; 0 ignored; 0 measured; 859 filtered out; finished in 0.19s
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"text_workspace::focus_selection_tests",
|
||||
"--",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T03:16:36.205020+00:00",
|
||||
"finished": "2026-09-13T03:17:54.177014+00:00",
|
||||
"seconds": 77.9678075999982,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdout": {
|
||||
"bytes": 650,
|
||||
"sha256": "6f19f24e2fa37db4fc95c9b2d11b65e420299c6c6f90e4657e7e8e328b326fa0"
|
||||
},
|
||||
"stderr": {
|
||||
"bytes": 280,
|
||||
"sha256": "fd27fce4cf7372453e35ca9a241f7d597a66e90d93b4b7a5bc81c7a53370a198"
|
||||
},
|
||||
"scope": "Focused evaluator run only; red label describes intended old-production run, not proof of the expected failure cause."
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `test` profile [unoptimized] target(s) in 1m 16s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
running 4 tests
|
||||
test app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line ... ok
|
||||
test app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss ... ok
|
||||
test app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes ... ok
|
||||
test app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes ... ok
|
||||
|
||||
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 859 filtered out; finished in 0.31s
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"text_workspace::focus_selection_tests",
|
||||
"--",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T03:04:50.599029+00:00",
|
||||
"finished": "2026-09-13T03:08:47.160910+00:00",
|
||||
"seconds": 236.56363180000335,
|
||||
"exitCode": 101,
|
||||
"inputsUnchanged": true,
|
||||
"stdout": {
|
||||
"bytes": 1195,
|
||||
"sha256": "1c2225bdf514b4d1d33817507a8fc9a37e21c272af9e4470bfbfe04e0d54e534"
|
||||
},
|
||||
"stderr": {
|
||||
"bytes": 1540,
|
||||
"sha256": "7fb0df00e17a8731f6a86fe806363462f51b312615e8f51e60f5c50a5ab0fe06"
|
||||
},
|
||||
"scope": "Focused evaluator run only; red label describes intended old-production run, not proof of the expected failure cause."
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `test` profile [unoptimized] target(s) in 3m 55s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line' (2748) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:151:27:
|
||||
index out of bounds: the len is 1 but the index is 1
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss' (6192) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:151:27:
|
||||
index out of bounds: the len is 1 but the index is 1
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes' (1988) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:151:27:
|
||||
index out of bounds: the len is 1 but the index is 1
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes' (8076) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:151:27:
|
||||
index out of bounds: the len is 1 but the index is 1
|
||||
error: test failed, to rerun pass `-p oa-desktop --bin arcadia-studio`
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
running 4 tests
|
||||
test app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line ... FAILED
|
||||
test app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss ... FAILED
|
||||
test app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes ... FAILED
|
||||
test app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes ... FAILED
|
||||
|
||||
failures:
|
||||
|
||||
failures:
|
||||
app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line
|
||||
app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss
|
||||
app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes
|
||||
app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes
|
||||
|
||||
test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 859 filtered out; finished in 0.28s
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"text_workspace::focus_selection_tests",
|
||||
"--",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T03:12:28.053574+00:00",
|
||||
"finished": "2026-09-13T03:15:12.064865+00:00",
|
||||
"seconds": 164.01172979999683,
|
||||
"exitCode": 101,
|
||||
"inputsUnchanged": true,
|
||||
"stdout": {
|
||||
"bytes": 942,
|
||||
"sha256": "9bf339fc98af88adb0ad52d27109eabc79118c2fabc8d0f81c693b68385bc8ef"
|
||||
},
|
||||
"stderr": {
|
||||
"bytes": 1085,
|
||||
"sha256": "99c461d077c060326f70e815eccc36439f5f6b9a9377a71f9af9dc7e3900986d"
|
||||
},
|
||||
"scope": "Focused evaluator run only; red label describes intended old-production run, not proof of the expected failure cause."
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `test` profile [unoptimized] target(s) in 2m 42s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes' (3960) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:457:9:
|
||||
assertion `left == right` failed
|
||||
left: Some("")
|
||||
right: Some("oa_contact")
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
|
||||
thread 'app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes' (2596) panicked at crates\oa-desktop\src\app\text_workspace\focus_selection_tests.rs:379:13:
|
||||
assertion `left == right` failed: selected bytes must survive focus restoration
|
||||
left: Some("")
|
||||
right: Some("oa_contact")
|
||||
error: test failed, to rerun pass `-p oa-desktop --bin arcadia-studio`
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
running 4 tests
|
||||
test app::text_workspace::focus_selection_tests::explicit_cursor_navigation_still_moves_and_selects_requested_line ... ok
|
||||
test app::text_workspace::focus_selection_tests::mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss ... ok
|
||||
test app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes ... FAILED
|
||||
test app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes ... FAILED
|
||||
|
||||
failures:
|
||||
|
||||
failures:
|
||||
app::text_workspace::focus_selection_tests::stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes
|
||||
app::text_workspace::focus_selection_tests::word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes
|
||||
|
||||
test result: FAILED. 2 passed; 2 failed; 0 ignored; 0 measured; 859 filtered out; finished in 0.29s
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Preserve the Find regression sequence and verify exact red/green input deltas."""
|
||||
from pathlib import Path
|
||||
import hashlib
|
||||
import json
|
||||
import shutil
|
||||
|
||||
base = Path(__file__).resolve().parent
|
||||
root = base.parents[1]
|
||||
dest = root / 'harness/experiments/text-find-selection-20260913'
|
||||
dest.mkdir()
|
||||
labels = ['focus-red-1', 'focus-red-2', 'focus-green-1', 'focus-green-2']
|
||||
records = []
|
||||
def keep(path, relative):
|
||||
raw = path.read_bytes()
|
||||
target = dest / relative
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
assert not target.exists()
|
||||
shutil.copyfile(path, target)
|
||||
assert target.read_bytes() == raw
|
||||
records.append({'path': relative, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()})
|
||||
inputs = {}
|
||||
for label in labels:
|
||||
inputs[label] = json.loads((base / label / 'inputs.json').read_text())['files']
|
||||
receipt = json.loads((base / label / 'result.json').read_text())
|
||||
assert receipt['inputsUnchanged']
|
||||
for stream in ['stdout', 'stderr']:
|
||||
raw = (base / label / (stream + '.log')).read_bytes()
|
||||
assert receipt[stream] == {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}
|
||||
for path in sorted((base / label).iterdir()):
|
||||
if path.is_file():
|
||||
keep(path, label + '/' + path.name)
|
||||
def differences(a, b):
|
||||
assert inputs[a].keys() == inputs[b].keys()
|
||||
return [name for name in inputs[a] if inputs[a][name] != inputs[b][name]]
|
||||
red_fixture = differences('focus-red-1', 'focus-red-2')
|
||||
fix = differences('focus-red-2', 'focus-green-2')
|
||||
retry = differences('focus-green-1', 'focus-green-2')
|
||||
assert red_fixture == ['crates/oa-desktop/src/app/text_workspace/focus_selection_tests.rs']
|
||||
assert fix == ['crates/oa-desktop/src/app/source_symbols.rs']
|
||||
assert retry == []
|
||||
for name in ['focus_regression.py', 'prepare_focus_red.py', 'archive_focus.py']:
|
||||
keep(base / name, 'helpers/' + name)
|
||||
keep(base / 'focus-corrected-source/manifest.json', 'corrected/manifest.json')
|
||||
keep(base / 'focus-corrected-source/source_symbols.rs', 'corrected/source_symbols.rs')
|
||||
manifest = {'scope': 'Historical Find-only regression sequence. Red1 fixture failure and green1 cache rejection are not correction acceptance. Red2 vs green2 differs only in production source_symbols.rs.', 'redFixtureDelta': red_fixture, 'redGreenDelta': fix, 'greenRetryByteDelta': retry, 'files': records}
|
||||
with (dest / 'manifest.json').open('x', encoding='utf-8', newline='\n') as stream:
|
||||
json.dump(manifest, stream, indent=2)
|
||||
stream.write('\n')
|
||||
print(json.dumps({'directory': str(dest), 'payloads': len(records), 'bytes': sum(r['bytes'] for r in records), 'manifestSha256': hashlib.sha256((dest / 'manifest.json').read_bytes()).hexdigest()}))
|
||||
@@ -0,0 +1,47 @@
|
||||
"""Capture one focused regression run; do not treat expected failure as acceptance."""
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timezone
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
root = Path(__file__).resolve().parents[2]
|
||||
label = sys.argv[1]
|
||||
assert re.fullmatch(r'focus-(?:red|green)-[0-9]+', label)
|
||||
assert os.environ.get('CARGO_BUILD_JOBS') == '1'
|
||||
dest = Path(__file__).resolve().parent / label
|
||||
dest.mkdir()
|
||||
scopes = ['Cargo.toml', 'Cargo.lock', 'crates', 'build', '.cargo', 'docs', 'examples', 'harness/fixtures']
|
||||
def names():
|
||||
raw = subprocess.check_output(['git', 'ls-files', '-z', '--cached', '--others', '--exclude-standard', '--', *scopes], cwd=root)
|
||||
return sorted(set(s.decode() for s in raw.split(b'\0') if s))
|
||||
def identity(path):
|
||||
raw = path.read_bytes()
|
||||
return {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}
|
||||
inputs = {name: identity(root / name) for name in names()}
|
||||
with zipfile.ZipFile(dest / 'inputs.zip', 'x', zipfile.ZIP_DEFLATED) as archive:
|
||||
for name in inputs:
|
||||
archive.write(root / name, name)
|
||||
def save(name, value):
|
||||
with (dest / name).open('x', encoding='utf-8', newline='\n') as stream:
|
||||
json.dump(value, stream, indent=2)
|
||||
stream.write('\n')
|
||||
save('inputs.json', {'baseCommit': subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip(), 'files': inputs, 'archive': identity(dest / 'inputs.zip')})
|
||||
command = ['cargo', 'test', '--locked', '--offline', '-p', 'oa-desktop', '--bin', 'arcadia-studio', 'text_workspace::focus_selection_tests', '--', '--nocapture', '--test-threads=1']
|
||||
start = datetime.now(timezone.utc).isoformat()
|
||||
timer = time.perf_counter()
|
||||
print(json.dumps({'command': command, 'started': start, 'label': label}), flush=True)
|
||||
with (dest / 'stdout.log').open('xb') as out, (dest / 'stderr.log').open('xb') as err:
|
||||
code = subprocess.run(command, cwd=root, stdout=out, stderr=err).returncode
|
||||
unchanged = names() == list(inputs) and all(identity(root / name) == data for name, data in inputs.items())
|
||||
receipt = {'command': command, 'started': start, 'finished': datetime.now(timezone.utc).isoformat(), 'seconds': time.perf_counter()-timer, 'exitCode': code, 'inputsUnchanged': unchanged, 'stdout': identity(dest / 'stdout.log'), 'stderr': identity(dest / 'stderr.log'), 'scope': 'Focused evaluator run only; red label describes intended old-production run, not proof of the expected failure cause.'}
|
||||
save('result.json', receipt)
|
||||
print(json.dumps(receipt), flush=True)
|
||||
print((dest / 'stdout.log').read_text(encoding='utf-8', errors='replace')[-6000:], flush=True)
|
||||
print((dest / 'stderr.log').read_text(encoding='utf-8', errors='replace')[-6000:], flush=True)
|
||||
sys.exit(code or (0 if unchanged else 1))
|
||||
@@ -0,0 +1,21 @@
|
||||
"""Preserve corrected production bytes, then substitute exact prior production for a red run."""
|
||||
from pathlib import Path
|
||||
import hashlib
|
||||
import json
|
||||
import zipfile
|
||||
base = Path(__file__).resolve().parent
|
||||
root = base.parents[1]
|
||||
rel = 'crates/oa-desktop/src/app/source_symbols.rs'
|
||||
destination = base / 'focus-corrected-source'
|
||||
destination.mkdir()
|
||||
corrected = (root / rel).read_bytes()
|
||||
with zipfile.ZipFile(base / 'attempt-4/inputs.zip') as archive:
|
||||
old = archive.read(rel)
|
||||
assert hashlib.sha256(old).hexdigest() == '1fb3709bb973e7dcfbcde56054d028e47d770a62f3b7c8b6fac411543a234b7b'
|
||||
assert corrected != old and b'focus-only' in corrected
|
||||
(destination / 'source_symbols.rs').write_bytes(corrected)
|
||||
record = {'path': rel, 'oldSha256': hashlib.sha256(old).hexdigest(), 'correctedSha256': hashlib.sha256(corrected).hexdigest(), 'correctedBytes': len(corrected)}
|
||||
(destination / 'manifest.json').write_text(json.dumps(record, indent=2)+'\n', encoding='utf-8')
|
||||
(root / rel).write_bytes(old)
|
||||
assert (root / rel).read_bytes() == old
|
||||
print(json.dumps(record), flush=True)
|
||||
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"scope": "Historical Find-only regression sequence. Red1 fixture failure and green1 cache rejection are not correction acceptance. Red2 vs green2 differs only in production source_symbols.rs.",
|
||||
"redFixtureDelta": [
|
||||
"crates/oa-desktop/src/app/text_workspace/focus_selection_tests.rs"
|
||||
],
|
||||
"redGreenDelta": [
|
||||
"crates/oa-desktop/src/app/source_symbols.rs"
|
||||
],
|
||||
"greenRetryByteDelta": [],
|
||||
"files": [
|
||||
{
|
||||
"path": "focus-red-1/inputs.json",
|
||||
"bytes": 90651,
|
||||
"sha256": "b721bca1f3bcc73d59daa040712892f510ba1d080d81ea7068eba61161e11f39"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-1/inputs.zip",
|
||||
"bytes": 2192609,
|
||||
"sha256": "19063c2d937cd659dc97f6b9a6e61f1f17069fd6ec87613bfdf8159687901fab"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-1/result.json",
|
||||
"bytes": 789,
|
||||
"sha256": "ae1172d2d4469c5c2424d5b057e3780e9d857165ae6e632dcdcd2d250cbac082"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-1/stderr.log",
|
||||
"bytes": 1540,
|
||||
"sha256": "7fb0df00e17a8731f6a86fe806363462f51b312615e8f51e60f5c50a5ab0fe06"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-1/stdout.log",
|
||||
"bytes": 1195,
|
||||
"sha256": "1c2225bdf514b4d1d33817507a8fc9a37e21c272af9e4470bfbfe04e0d54e534"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-2/inputs.json",
|
||||
"bytes": 90651,
|
||||
"sha256": "762480875e82147ac65fd01a1aaa7af917bd063653acc819d2b2b694858f1e41"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-2/inputs.zip",
|
||||
"bytes": 2193026,
|
||||
"sha256": "bb8f9b1be06aaef8eabfcb1ab6f69cf380d2ff2d3601dac853c46e69926a1b6c"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-2/result.json",
|
||||
"bytes": 788,
|
||||
"sha256": "fed836a961ba3cf81377253411d11a79a600123c553f872695cd5fe25087b633"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-2/stderr.log",
|
||||
"bytes": 1085,
|
||||
"sha256": "99c461d077c060326f70e815eccc36439f5f6b9a9377a71f9af9dc7e3900986d"
|
||||
},
|
||||
{
|
||||
"path": "focus-red-2/stdout.log",
|
||||
"bytes": 942,
|
||||
"sha256": "9bf339fc98af88adb0ad52d27109eabc79118c2fabc8d0f81c693b68385bc8ef"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-1/inputs.json",
|
||||
"bytes": 90651,
|
||||
"sha256": "4189c0b40b9fd1d764e9f0b786b8cff7059b5fb7361d220209af5058101f20aa"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-1/inputs.zip",
|
||||
"bytes": 2193207,
|
||||
"sha256": "cfde0f2869270e4bce50ca9e242873172d9329292e63fc89c5cb8b08b0564e2c"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-1/result.json",
|
||||
"bytes": 788,
|
||||
"sha256": "7c46331b0aa2609eb4aadaa327d45b601292d7405c5bd5e5b8d3377bca131e3e"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-1/stderr.log",
|
||||
"bytes": 1015,
|
||||
"sha256": "8c45c4e803b9eea688856e75aea6a1d7d0f960e8304958aca2e91a7407f623fa"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-1/stdout.log",
|
||||
"bytes": 942,
|
||||
"sha256": "d31c5ab32ed7d3e758544758adb39a89c4c97c9ccb53f9c83cd6273e0d669b19"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-2/inputs.json",
|
||||
"bytes": 90651,
|
||||
"sha256": "86e43a980c3afa8c7bfc1973d9ad4fe523157cab67f008622de2a126f7f0e9a6"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-2/inputs.zip",
|
||||
"bytes": 2193207,
|
||||
"sha256": "486c0e0e43c0123c27efe6a6b33fd27a4dff97ca631a6b066d654e6be745ef76"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-2/result.json",
|
||||
"bytes": 783,
|
||||
"sha256": "ee29d1585c9d13a30e3a18731ff3fa1e9c5ce29305a6dbb14cdf60353d736462"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-2/stderr.log",
|
||||
"bytes": 280,
|
||||
"sha256": "fd27fce4cf7372453e35ca9a241f7d597a66e90d93b4b7a5bc81c7a53370a198"
|
||||
},
|
||||
{
|
||||
"path": "focus-green-2/stdout.log",
|
||||
"bytes": 650,
|
||||
"sha256": "6f19f24e2fa37db4fc95c9b2d11b65e420299c6c6f90e4657e7e8e328b326fa0"
|
||||
},
|
||||
{
|
||||
"path": "helpers/focus_regression.py",
|
||||
"bytes": 2794,
|
||||
"sha256": "f342a159f0b307a07ac6957e3c3b7d71eb6f83a2a4eb6907ca2e9348a5958cc1"
|
||||
},
|
||||
{
|
||||
"path": "helpers/prepare_focus_red.py",
|
||||
"bytes": 1062,
|
||||
"sha256": "ad93ecb06c6721797c772398e73f9fd08b144f05e8305c0e287a1de34ccd36f6"
|
||||
},
|
||||
{
|
||||
"path": "helpers/archive_focus.py",
|
||||
"bytes": 2691,
|
||||
"sha256": "a1e6e0a764503f1f718c96435099e5123964a1cb5dfac93535ea22e38e5ac234"
|
||||
},
|
||||
{
|
||||
"path": "corrected/manifest.json",
|
||||
"bytes": 265,
|
||||
"sha256": "f9eac4ae9255e9a8588e1605094e8502c0f7582555be8fb659d9c64194cb2e3d"
|
||||
},
|
||||
{
|
||||
"path": "corrected/source_symbols.rs",
|
||||
"bytes": 21062,
|
||||
"sha256": "aa4f1423e759fdeaf7815d656b40189be176f4e8659f3da50debb5d85ed3af6c"
|
||||
}
|
||||
]
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"scope": "All four experiment manifests and every referenced payload equal staged Git blobs and working originals, including ignored raw logs explicitly staged.",
|
||||
"files": 617,
|
||||
"archives": [
|
||||
{
|
||||
"path": "harness/experiments/text-find-selection-20260913",
|
||||
"payloads": 25,
|
||||
"manifestSha256": "4580d8cbc2f0347f1ebc1448728af6ef8885f6ebbd4c2d2dbe0c41eac97fb283"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-initial-20260913",
|
||||
"payloads": 106,
|
||||
"manifestSha256": "991d54095f5466b717aefde99682e0c7d3136091bdf5525d8f21c0629d3cb0a4"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-native2-20260913",
|
||||
"payloads": 367,
|
||||
"manifestSha256": "3ddabcf26828afe2aee882bdfbac26d0f3e6003e6c22f1575bb5bfdf12dcb01a"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-native3-20260913",
|
||||
"payloads": 115,
|
||||
"manifestSha256": "07c765910f3d7bda3e298b32f6a12feb578214c61c241b0ac0cebc6c46e28db8"
|
||||
}
|
||||
],
|
||||
"gitTree": "06c902ae05241729c3db7fe7b05be5df054d9506"
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
# Attempt 5: independent evidence audit
|
||||
|
||||
**PASS — no binding or result discrepancy found.** Read-only audit of `C:/ar-text-9e8r6t/.local/text-workspace-gates-20260912/attempt-5`. No builds, retained helpers, GUI actions, source edits or shared-target access were performed. Trial 2/native acceptance remains separate and pending.
|
||||
|
||||
- All 526 input ZIP members have unique exact names and match the input manifest's byte sizes/SHA-256 values; reading every member also verifies its ZIP CRC. ZIP SHA matches the manifest. Current read-only Git inventory for the gate's declared scopes matches those same 526 names, and every current file matches the captured raw bytes.
|
||||
- All five final formatted hashes in `departure-selection-review.md` match both the input archive and current source. The archive captures uncommitted integrated inputs based on CBC; `baseCommit` is not a claim that those changed bytes are committed source.
|
||||
- All seven receipts report exit 0 and unchanged inputs. Raw stdout/stderr hashes match each receipt. Input/environment capture precedes the serial, nonoverlapping Clippy→membership→Text→selection→full suite→timing→GUI sequence; recorded durations and completion timestamp agree. Strict Clippy uses all targets and `-D warnings`.
|
||||
- Raw membership contains exactly 874 distinct tests, all required names and 20 Guard tests. Every listed test has an outcome in the full raw stdout: 871 pass and three explicitly ignored manual experiments. Focused Text has 30 passes; the overlapping selection filter has 58. No counts are added together as independent coverage.
|
||||
- The separately requested ignored Confirm timing test passes with five measured samples. Its App-update median is 38.048ms; the direct ordinary App-sync median is 831.4022ms. These Windows development measurements exclude returned Task polling/native rendering and do not establish end-to-end interaction latency. The two other ignored manual experiments were not executed by this attempt.
|
||||
- The GUI receipt's artifact object exactly matches the sole executable `arcadia-studio` record in raw Cargo JSON; final build status is successful. It identifies the worktree source, development profile (opt-level 0, debuginfo 0, debug assertions and overflow checks enabled), and `fresh: false`. The locally preserved executable independently matches 114,171,904 bytes and SHA-256 `4a1d09c108fd5062f01bc7059064fa7dc839e03d0cc2a3b1e12f8b02c8115a24`. The shared-target executable was not read or touched.
|
||||
|
||||
GUI build ended 2026-09-13 03:41:56.842652Z; completion receipt is 03:42:01.051061Z. Environment records rustc 1.98.1/Cargo 1.98.1, x86_64-pc-windows-gnullvm and one compiler job. The receipt captures selected environment variables, not a hermetic machine image. This audit verifies retained evidence and current source binding; it does not rerun tests, verify packaging or accept the live native trial.
|
||||
|
||||
## Principal bindings
|
||||
|
||||
- `inputs.json` — `8b2f9ae76edbb808549f4d86a4e36aa3b64ef368de78e841090c7d7c34d62211`.
|
||||
- `inputs.zip` — 2,197,940 bytes; `83ff861fc27b7aead159fde12e6fd881ba6c3c02b29e7bf10bbc12c60b7e6067`.
|
||||
- `environment.json` — `d0a796a4fc328845ea916382bceabf9c80da3002e1559307a92a3fda6dfb7d33`.
|
||||
- `complete.json` — `5492eeaf82d48f7b9322602659b0012d9cba0735374aa3ddd8d7793f9a5fc3f8`.
|
||||
- `clippy-result.json` — `7067e3df6585a7e2a3e56f2c4edd8870bdb0c7f3ed2f7ed524c158b4d2d95bb0`.
|
||||
- `membership-result.json` — `638e58424ccb7a09909b567addb357f5dbb3ee7ea816f0d25024a83883c37854`.
|
||||
- `focused-result.json` — `9d3039748fafa25c722a62721071040ba72265c3d349c10d71c689dcd24bcac7`.
|
||||
- `selection-result.json` — `96651aa4d4374ecbf9e660435801f058325a9b0ea60b26aa842f23629d98136d`.
|
||||
- `tests-result.json` — `f39b6906c8cbbfc8af2de9eb88c568786c585da51ec5e0f72b2facf4b1954141`.
|
||||
- `timing-result.json` — `caef9fd294cb0e6274bdd38839b0d8ae038cefab6d4495e16efeb5e37b8f677a`.
|
||||
- `gui-result.json` — `bb7f5060faa834031a9d301a627f1a80b4c4bf7604dcd48a385730699c3055da`.
|
||||
- Prior five-file review — `departure-selection-review.md`, SHA-256 `f872c511eab74ca05d35b97ad31ee1a879c42717e40a698959501b6f96546dac`.
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
# Escape dismissal correction: independent static review
|
||||
|
||||
**PASS — no actionable mismatch found within the bounded correction.** Reviewed formatted `C:/ar-text-9e8r6t` source against exact attempt-5 captured files and the interaction contract. No builds, tests, native actions or production edits performed. Parent retains execution/acceptance ownership.
|
||||
|
||||
The production diff is confined to the ordinary `Message::Escape` arm at `app.rs:1996`: when Text navigation is admitted and Find is open, it closes Find without calling `show_drawer(None)`. That preserves drawer visibility and visit. A later Escape with only the drawer open uses the existing hide operation, retaining presentation data while rotating the visit and revoking old row authority. Both admitted paths keep the existing focus-only restoration, preserving live Word/Line selection rather than roundtripping endpoints.
|
||||
|
||||
The existing Text-popup router returns before this arm; its captured-Escape bridge remains disabled while the popup owns the key. Architecture, model menu, busy/modal routing and source-rename dismissal likewise remain unchanged and return before ordinary Text dismissal where applicable (`app.rs:1232,1287,1324,1393,1455`). Thus this delta does not bypass their input priority. The contract's menu→Find→drawer sequence and Find-specific retained visit/data behavior match this implementation.
|
||||
|
||||
Generic source interaction still invalidates pending navigation/reveal before an ordinary Escape. It does not free the occupied worker slot. The migrated pending/completed query tests confirm that successive Find/drawer dismissal retains in-flight ownership, admits the later display completion without a jump/reopen and preserves raw source/Document identity/history.
|
||||
|
||||
The subscription evaluator is meaningful: it creates a real Iced TextInput, optionally focuses it, delivers Escape, obtains actual Captured or Ignored status from its Shell, and passes that status to the actual App subscription recipes. It checks exactly one Escape message in both ordinary status routes and no duplicate captured bridge under Text popup ownership. Tests preserve semantic selected bytes, raw cursor, result Arc, query text, grouping, saved 96px offset and visit after Find dismissal; they require visit rotation only on subsequent drawer dismissal. Hosted/file/pending modal cases assert that their first Escape preserves underlying surfaces and cannot mint editor focus.
|
||||
|
||||
Evidence limits: the popup test sends its actual tokened `menu.on_close` message, rather than mounting the Popup's own key handler. Saved 96px scroll is controller state, not measured native scrollbar retention. The helper uses the null renderer for TextInput status/focus protocol, polls only immediately available subscription output and does not run native input or returned editor-focus operations; existing dedicated focus tests cover those operations. Rename priority here is a source-routing check, not a newly mounted rename-modal test. No native acceptance or all-platform result is claimed.
|
||||
|
||||
## Bindings
|
||||
|
||||
- Formatted `crates/oa-desktop/src/app.rs`: 223,370 bytes; SHA-256 `4f4c1bb5f832601a072b5cd406a75731982e8b9955ee6af39a93f124496938f9`.
|
||||
- Formatted `crates/oa-desktop/src/app/source_symbols/tests.rs`: 84,817 bytes; SHA-256 `411a8b35fe1d3211daf165d1585d209df9961b0da59a969a856991508bbc29a6`.
|
||||
- `harness/text-workspace-interaction-contract-20260912.md`: 14,223 bytes; SHA-256 `7ee4df9c57e1fbe28cec27211945044ac2556f63442404d9fa6ffbd195095589` (especially lines 21 and 53).
|
||||
- Attempt-5 baseline ZIP: SHA-256 `83ff861fc27b7aead159fde12e6fd881ba6c3c02b29e7bf10bbc12c60b7e6067`.
|
||||
- Baseline App: SHA-256 `75ef46ef2789b32c5837ee33dfdc303eaba013ba75767138e4a19ba5113bc6ba`; baseline tests: `00cbacdd0af98858b5e74608720bd8251719c9926569a65a0ad777a40f1744c9`.
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
# Separable Find focus correction for #27 integration
|
||||
|
||||
Static review: the production correction is self-contained on CBC `cbc49a7802fb1bba0dd284fd904c700a0703ae70`. It needs only two local changes in `crates/oa-desktop/src/app/source_symbols.rs`; no new App state, enum, Text workspace, diagnostics publication, drawer, canonical departure-selection helper, or dependency change is required. No source was edited or built in this review. Peer commit `e124029` is not present in the local object database, so compatibility with that actual union remains an integration check for its owner, not a verified claim here.
|
||||
|
||||
## Exact production scope
|
||||
|
||||
In `restore_source_editor_focus`, retain both existing admission checks and `queue_source_reveal(cursor, false)`, then add:
|
||||
|
||||
```rust
|
||||
// This ticket restores focus to the live editor, not a saved cursor.
|
||||
// Iced's Cursor omits Word/Line selection kind; moving back to that
|
||||
// lossy value would collapse an actual word/line selection.
|
||||
self.source_jump = None;
|
||||
```
|
||||
|
||||
In `source_viewport`, leave every ticket/admission check, ticket consumption, `source_jump.take()`, exact-cursor check, `move_to`, and optional `SelectLine` unchanged. Move the existing `guarded_focus` expression outside the `if let Some(cursor)` branch, replacing the final `Task::none()`:
|
||||
|
||||
```rust
|
||||
if let Some(cursor) = self.source_jump.take() {
|
||||
if !nav::exact_cursor(self.source_workspace.text(), cursor) {
|
||||
return Task::none();
|
||||
}
|
||||
self.source_editor.move_to(cursor);
|
||||
if self.source_select_line && cursor.selection.is_none() {
|
||||
self.source_editor.perform(text_editor::Action::SelectLine);
|
||||
}
|
||||
}
|
||||
// A valid ticket with no jump is focus-only. All intentional navigation
|
||||
// still takes the cursor branch above, including explicit line selection.
|
||||
nav::interaction::guarded_focus(
|
||||
self.source_editor_id(),
|
||||
self.source_symbols.raw_interaction.clone(),
|
||||
raw_interaction,
|
||||
)
|
||||
```
|
||||
|
||||
Do not transplant the surrounding working-file diff. It additionally contains #13 menu exclusion, retained reference display/query lifetime, drawer commands/scroll state, future diagram adapter, and canonical selection capture for navigation departure. Those are separate changes with separate dependencies and evidence.
|
||||
|
||||
## Existing CBC protection remains operative
|
||||
|
||||
CBC already has `restore_source_editor_focus`, `queue_source_reveal`, `source_viewport`, the guarded Find Close envelope, and their call sites. Its actual editor sensor is keyed by `(active_path, reveal_ticket)` and emits captured `SourceViewport(ticket)` on show/resize. Creating a fresh focus-only reveal still changes this key and schedules the existing path; no new sensor or callback is required.
|
||||
|
||||
Before any mutation or focus operation, `source_viewport` checks ticket, interaction ID, raw interaction clock, workspace/revision snapshot, active path, and current navigation availability. The reveal is consumed once. An intentional jump is still checked against current source before movement; invalid destinations return without focus. `SourceViewport` remains exempt from App's generic interaction invalidation so a valid ticket can survive its own delivery. Other interactions invalidate the ticket and editor ID through existing CBC logic.
|
||||
|
||||
The returned existing `guarded_focus` is not an unconditional deferred focus. It rechecks the raw clock while traversing, requires exactly one matching mounted editor and no foreign focused widget, then synchronously chains the focus pass with another clock check. The editor ID includes workspace session, active path and interaction. Thus both stale message delivery and later input between Task creation and operation are guarded. Clearing `source_jump` does not discard this authority. `source_select_line` is already set false by `queue_source_reveal(cursor, false)`.
|
||||
|
||||
The intentional behavioral extension is narrowly defined: a current admitted reveal with no jump now restores focus. Existing real navigation continues through the cursor branch. Do not replace this with direct `widget::focus`, call `move_to` during focus restoration, clone/reset Content, or canonicalize Word/Line selection at Find Close. Those alternatives lose live selection mode or ticket protection.
|
||||
|
||||
## Mounted regression handoff
|
||||
|
||||
Current fixture: `crates/oa-desktop/src/app/text_workspace/focus_selection_tests.rs`. Its four tests are:
|
||||
|
||||
1. `word_and_line_selection_survive_find_close_and_escape_then_replace_exact_bytes`: actual double/triple-click selection, Close button or captured Escape bridge, guarded viewport Task, selected text, exact replacement, unchanged accepted Document/history; covers four word/line × Close/Escape cases.
|
||||
2. `mounted_direct_typing_control_and_old_cursor_roundtrip_discriminate_selection_loss`: valid direct typing control and explicit old lossy roundtrip discrimination.
|
||||
3. `stale_focus_ticket_and_later_raw_input_cannot_steal_focus_or_change_selected_bytes`: both stale viewport delivery and a previously created operation executed after later raw input/reopened Find.
|
||||
4. `explicit_cursor_navigation_still_moves_and_selects_requested_line`: intentional cursor navigation remains effective.
|
||||
|
||||
For a CBC-based separable test commit, place the fixture in a source-navigation/source-symbols test module rather than importing all `app::text_workspace`. Register under the same debug/test cfg convention used by the existing App tests. Resolve its current `use super::*` explicitly to App/Message, `crate::source_navigation as nav`, Point, Task and widget as required by the chosen module; retain existing explicit imports. CBC already exports `views::source_tests::FontLayout` and provides Document/Workspace and the SourceNavigation/SourceFindClose/SourceViewport messages used here. The setup call `app.publish_source_diagnostics(...)` is #13-only and unnecessary for these focus assertions; omit it for CBC rather than introduce that production API. No other TextWorkspace event/state is referenced in the fixture body.
|
||||
|
||||
Keep `Column::from_vec` with the permanent zero-height Find slot: `Column::push` elides that child and invalidates the fixture. Keep the actual hit-tested initial caret transfer only before Word/Line selection; never copy a cursor back into App after selecting. App and CPU mounted Content are different renderer-typed instances, so this is a controller/content plus widget-operation evaluator, not a full production GPU/sensor/scroll measurement. Its manually delivered `SourceViewport` tests the controller guard; the owner should retain existing subscription/sensor checks and exercise the peer's actual editor wrapper after integration. The focused port's module-path command must match its final registration; do not reuse a filter that discovers zero tests. Confirm exactly four named tests execute, then run the owner's combined gates.
|
||||
|
||||
## Evidence and remaining union work
|
||||
|
||||
The portable `harness/experiments/text-find-selection-20260913` archive retains original inputs/logs and corrected source. Valid `focus-red-2` used the fixed fixture with old production: direct typing and explicit navigation passed while two selection tests failed. `focus-green-2` actually recompiled corrected production and passed all four, ending 2026-09-13T03:17:54Z; stdout SHA256 `6f19f24e2fa37db4fc95c9b2d11b65e420299c6c6f90e4657e7e8e328b326fa0`. Red1 failed fixture construction and green1 reused stale compiler cache: neither establishes the correction. This earlier valid red/green predates canonical departure-selection changes and therefore supports separability of the focus behavior. It does not establish an unbuilt CBC-only patch or the peer union.
|
||||
|
||||
Owner #27 must reconcile the two function-body changes with its own source, preserve every peer admission predicate and menu/modal ownership check, keep the existing guarded operation and sensor ticket identity, and port/run the four tests in that union. If its editor wrapper or Find Escape dispatch differs, test that actual route; do not replace it with #13's later drawer Escape correction. Back/file canonical selection capture is a different patch; diagram usages/chooser and reference display retention remain separately owned integration dependencies. None is necessary to compile this focus-only production patch on CBC, and none is delivered by it.
|
||||
|
||||
Bindings at review:
|
||||
|
||||
- CBC raw `source_symbols.rs`: `77cb97ec909bcaf3d952e0c6673171fd81e7ca31568248994c8c6b150e2c7f4e`.
|
||||
- Working `source_symbols.rs`: `d81914a553114d85452d973a1edb175843d27154b3f9b9fc4cbc5049d423abe4`.
|
||||
- Mounted fixture: `db7cc3cfbf5f8dce83cf6134e339cc0ba57c0679c47b6268f0e470d09c0e6cc8`.
|
||||
- Existing `interaction.rs`: `c6efa6105b8ba46655e27a89b9fa59e6fc01a4c6f331f886e035af1e70cbf8a9`; no diff from CBC.
|
||||
- Red/green archive manifest: `4580d8cbc2f0347f1ebc1448728af6ef8885f6ebbd4c2d2dbe0c41eac97fb283`.
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
# Native trial 2: Escape and text Undo review
|
||||
|
||||
Read-only source and evidence review by Codex-9e8r6t /root/diagnostic_input, 2026-09-13. Parent owns the live GUI, source integration and execution. This note is the only new artifact; no source edits, build, test, Git or GUI operation was performed for this review. Source references below are relative to C:/ar-text-9e8r6t at the hashes recorded below. Trial evidence is under main `.local/text-workspace-native-20260912/trial-text-2`.
|
||||
|
||||
## Escape: one legacy action, not duplicate dispatch
|
||||
|
||||
Screenshots 050 and 051 were independently inspected. 050 shows the menu dismissed with Find and References still open. 051 shows both Find and the drawer closed. Its filename says “keeps-drawer”; that label is incorrect and must not override the pixels.
|
||||
|
||||
The mechanism is direct: `app.rs:1996` computes whether to restore source focus, then unconditionally sets `source_navigation.open = false` and calls `text_workspace.show_drawer(None)` before guarded focus restoration. The captured bridge (`behavior/creation.rs:15,23`) emits only for Captured Escape. The ordinary subscription (`app.rs:1128–1142`) explicitly ignores Captured Escape. The bridge is disabled while the Text popup is open (`app.rs:1117`). There is no evidence of two App Escape messages from one key. The actual-subscription test at `app/source_symbols/tests.rs:1916` already asserts one message after popup dismissal and then explicitly expects both surfaces closed; the modal matrix at line 1099 also encodes the simultaneous dismissal.
|
||||
|
||||
Frozen CBC `main/crates/oa-desktop/src/app.rs:1911` performed the same simultaneous dismissal, additionally clearing old results. This is inherited behavior, not a new subscription race. Current interaction contract line 53 requires only menu-first dismissal, which trial 2 passes. Earlier private `design.md:50` says “Escape closes only the focused transient surface”; that stronger scoped-dismissal intent was omitted from the handler/test expectations. Parent now accepts a one-surface-per-Escape correction after the native trial closes. This is a bounded usability defect, with no observed source/model data loss; retained query data already survives Hide.
|
||||
|
||||
### Small correction and evaluator
|
||||
|
||||
Keep the existing popup and modal dispatch layers. In the ordinary Text Escape path, dismiss Find if it is open; otherwise hide the supporting drawer. Use the existing focus-only restoration for Find, preserving its actual selected bytes and scroll. Do not introduce another subscription or focused-widget engine. The accepted priority is explicitly menu → Find → drawer, including the case where clicking Actions had unfocused the Find input.
|
||||
|
||||
Extend the actual subscription regression: start with current References data, grouping and nonzero saved scroll, open Find, then Actions. Popup Escape yields its tokened dismissal and no bridge message. The next actual captured/ignored Escape yields exactly one App message, closes Find only, retains drawer visit/groups/results/scroll, and leaves the live word/line selection intact after guarded focus. The next Escape closes only the drawer and retains its data. Check accepted source/model/history unchanged; pending matching query completion may store data without jumping/reopening. Update the two legacy simultaneous-dismissal expectations rather than merely adding a new test that contradicts them. Native replay must inspect each resulting surface separately.
|
||||
|
||||
Higher-priority risks: do not move the Text branch before menu handling (`app.rs:1232`), architecture cancellation (1287), model-menu dismissal (1324), hosted/workflow/file/delete/pending dialogs (1392), or rename cancellation (1454). Existing modal Escape tests must still leave underlying Find/drawer intact and must not queue editor focus. Generic source interaction invalidation precedes ordinary dispatch; retain that cancellation and queue focus only after the chosen current surface closes. Preserve `source_navigation_available` guards (`app/source_symbols.rs:91`) and the raw-input/ticket guards on asynchronous focus. Do not inadvertently extend this Text priority to behavior-source back/cancel or active connection cancellation in the same ordinary handler.
|
||||
|
||||
## Text Undo: separate existing history limitation
|
||||
|
||||
`source_workspace.rs:83` stores `past/future: Vec<String>` plus one current cursor, with no per-history cursor, selection or scroll. `app.rs:2982` applies the edit and sends the **post-edit** cursor into `Workspace::edit` (233), which overwrites `buffer.cursor`. `Workspace::undo` (302) swaps text/history and advances generation but leaves that cursor unchanged. `app.rs:3156` then calls `show_source_file(true)`; its default path (`app.rs:700–734`) reconstructs Content with text, losing internal scroll, and queues the retained post-edit coordinate.
|
||||
|
||||
If that coordinate is invalid in the restored shorter text, the existing exact-cursor guard refuses the reveal, leaving the fresh editor at its default top/caret. If it remains valid, restoration can use that post-edit coordinate instead of the earlier pre-edit selection. These primary-source mechanisms explain the parent's reported scroll-to-top and occasional prior post-edit caret. Workspace bytes are unchanged from frozen CBC and CBC has the same SourceUndo reconstruction route. A targeted note search found no earlier explicit tracked Undo-scroll defect: describe this as a newly observed native limitation of pre-existing text-only history, not as already accepted exact cursor/viewport Undo behavior.
|
||||
|
||||
Screenshot 011 was inspected: it shows the original alias, the viewport at the file start, and “All changes saved” after the typing probe's Undo. The parent reports analogous baseline restorations during the other selection probes. This is limited evidence of visible text restoration and clean-state feedback, **not** proof of exact Undo caret/selection/scroll restoration or all unsaved buffers. Saved-disk oracle results inspect disk only; they cannot establish a live unsaved editor's cursor or viewport. Model/rename Undo evidence is a separate action and must not be used as text-Undo evidence.
|
||||
|
||||
Keep exact text-Undo cursor/selection/viewport semantics as a separate follow-up: decide the edit grouping and before/after selection/viewport history policy, then evaluate real replacement → Undo → Redo with Unicode, multiline CRLF, caret movement after edit, and exact source/selection/scroll assertions. Navigation design line 43 explicitly keeps existing text/model history untouched. The current Escape correction should not redesign histories.
|
||||
|
||||
## Exact reviewed hashes
|
||||
|
||||
Trial launch manifest binds source archive `83ff861fc27b7aead159fde12e6fd881ba6c3c02b29e7bf10bbc12c60b7e6067`; its native scope was still pending at launch. Hashes below bind this review, not later fixes.
|
||||
|
||||
| Artifact | SHA-256 |
|
||||
| --- | --- |
|
||||
| crates/oa-desktop/src/app.rs | 75ef46ef2789b32c5837ee33dfdc303eaba013ba75767138e4a19ba5113bc6ba |
|
||||
| crates/oa-desktop/src/app/source_symbols.rs | d81914a553114d85452d973a1edb175843d27154b3f9b9fc4cbc5049d423abe4 |
|
||||
| crates/oa-desktop/src/app/source_symbols/tests.rs | 00cbacdd0af98858b5e74608720bd8251719c9926569a65a0ad777a40f1744c9 |
|
||||
| crates/oa-desktop/src/behavior/creation.rs | 438a245ead397060767c790c51a8f21cd5021342627999deb4695cf3bd22091a |
|
||||
| crates/oa-desktop/src/source_workspace.rs | 388c71f63829c0c76526a1700ebf5f240c86c467a65aae4fca4cd6c6a88c468b |
|
||||
| harness/text-workspace-interaction-contract-20260912.md | 87d83bcedc808bf78bb3f9d0bb4b09884f627c010fbc339c86e11d00f696646b |
|
||||
| harness/release-text-navigation-design-20260911.md | adaaf60fa0711677997f62c49ec899b8d412a0a0896897b2f1bb53d0ecdbeb75 |
|
||||
| main private design.md | 73c6aa75980ce0ceeb132ef8a89f73a906a2ed6c4a7cc1f2ff5745ab0d0b66fa |
|
||||
| frozen CBC main app.rs | d2e13b4527eec6c0920668d312d647806c762ed0a2f3ad9595a1243d9993fc14 |
|
||||
| trial2 launch-manifest.json | f4bc04c2f6669f7e2cb28d12cc65efe4c89917396c3d871a189960dea7dee1ee |
|
||||
| trial2 screenshots/050-escape-closes-only-actions.json | 3bb686f78988b6d7a321fa4c7c7f62f7ffe159023fb38146b8fb6baa73d924bf |
|
||||
| trial2 screenshots/050-escape-closes-only-actions-0.jpg | d414906bcb1e55e881128a388c223e9f139b5c5097083bb51f35cad133632fdc |
|
||||
| trial2 screenshots/051-second-escape-closes-find-keeps-drawer.json | 942ccb4b8cb87de4a2b1d02fe5daa98ccf8db26723c2d55ab946570b59c5e10e |
|
||||
| trial2 screenshots/051-second-escape-closes-find-keeps-drawer-0.jpg | 988dc77f7844cbae0bf3156e27065a20f5198e7a081ecb7b031d95f15f04b29a |
|
||||
| trial2 screenshots/011-word-find-close-undo-baseline.json | cfdf9fb5fe821e269e2288acc9d3e69bce7d2601b0dc1f528044755eff390658 |
|
||||
| trial2 screenshots/011-word-find-close-undo-baseline-0.jpg | ddb8488cfefad22260bf9aded45ca46a7c77cdf2e35ec413c1e66d605f01ece5 |
|
||||
+1172
File diff suppressed because it is too large
Load Diff
+31
@@ -0,0 +1,31 @@
|
||||
# Native Text trial 2 — independent evidence review
|
||||
|
||||
Bounded evidence supports the seven selection-replacement probes, saved rename transactions, and the inspected compact Text interactions. **This is not final #13 acceptance:** capture 051 demonstrates the inherited simultaneous Find/drawer Escape defect; the next source correction is outside this trial. Review performed read-only on 2026-09-13; no GUI, compiler, application, or oracle was executed by this reviewer.
|
||||
|
||||
## Identity and original records
|
||||
|
||||
Original trial: `.local/text-workspace-native-20260912/trial-text-2`. PID 5284 launched 2026-09-13T03:42:39.425514Z and closed normally at 04:18:28.799966Z, exit 0. Both logs are empty; closure records unchanged binary and DLL. Development executable SHA256 `4a1d09c108fd5062f01bc7059064fa7dc839e03d0cc2a3b1e12f8b02c8115a24`, 114,171,904 bytes. This was an isolated development launch, not packaged-release acceptance. Elapsed session time is not a performance measurement.
|
||||
|
||||
The adjacent `native2-evidence-review.json` binds all 105 original metadata states and all 112 original JPEGs individually, plus seven saved-disk receipts and the launch/closure. Every metadata-referenced JPEG exists; the JPEG set is exact with no duplicate references. Receipt SHA256: `a2b0a6b3bec5bd88497f8de89baf3a652b5210b7c6a3480dd600bc8faa438722`.
|
||||
|
||||
## Observations
|
||||
|
||||
Directly inspected JPEG states 007, 010, 014, 016, 018, 022, 024, 025, 028, 033, 035, 037, 039, 043, 047, 050, 051, 064, 068, 072, 086, 089, 096, 099, and 104. Other captures are byte-bound, not claimed as individually visually inspected.
|
||||
|
||||
- Seven result images show the intended whole replacement: Find word/Close `oa_contact_probe` (010), word/Escape `oa_control_probe` (014), line/Close `description "line_close_probe";` (018), line/Escape `description "line_escape_probe";` (022), Back word `oa_control_back_probe` (028), file roundtrip word `oa_control_file_probe` (033), and file roundtrip line `description "line_file_probe";` (037). Selected-origin examples 007/016/024/035 corroborate actual word/line selections rather than merely caret movement. These demonstrate selected-byte replacement for these seven probes; they do not establish preservation of Word/Line drag-extension mode after real navigation or every Unicode selection shape.
|
||||
- At the recorded 1102x732 outer window, 025 shows approximately 306 pixels of editor height with the default drawer and three complete reference result rows (one declaration, two uses), with the next use near the lower edge. Do not describe this as three complete lexical-use rows. Enlarged drawer 039 leaves approximately 246 pixels of editor. Scrolled references in 043 and explicit hide/reopen in 047 show the retained lower group position and readable full `oa/participants.arcadia` path. Stale is visible before the alias. Retained stale rows are visibly pale; this review makes no contrast-compliance claim.
|
||||
- 050 shows the first Escape has removed Actions while Find and the drawer remain. Despite its filename, 051 shows **both Find and the drawer closed** after the second Escape. The filename is an inaccurate historical label and must not be treated as a passing assertion.
|
||||
- Representative saved states 064/068/072 show `oa_restore_pressure` / original `oa_restore_work` / `oa_restore_pressure` respectively, clean save messages, and consistent visible declaration UUID. Reopen capture 089 independently shows `oa_restore_pressure` in graphical properties. Small capture 086 shows `assess_damage` while the comment and description still contain the original prose `@assess`.
|
||||
- Scope-stress 099 shows Partial and Collision before the long alias, two declarations/two uses, full Unicode `救援/assess.arcadia` path, and combined repair conditions in the status strip. 096 shows diagnostic navigation selecting the missing include, with the full failure explanation wrapped in Problems. 104 shows the prior representative graphical model retained and properties blocked by pending source drafts. Invalid source loaded as repair drafts is not a successful valid-project load or model replacement.
|
||||
|
||||
## Saved-disk and archive verification
|
||||
|
||||
All seven original verifier receipts report PASS, exit 0, physical byte equality, and no oracle mutation; their raw stdout/stderr hashes independently match the recorded hashes. Five representative checks cover baseline before opening, renamed save, undo save back to baseline, redo save, and final closed state. Two simple checks cover renamed save and final closed state. Oracle stdout reports exact model/identity with 30 reachable representative sources or four simple sources. The separate physical maps contain 37 and four files respectively. Independent current readback confirms all 41 final physical work files equal their preauthored expected trees. Scope-stress's four physical model files equal its manifest's authored after-hashes. These are saved-disk assertions, not an oracle inspection of a live unsaved editor model.
|
||||
|
||||
Versioned archive directory: `C:/ar-text-9e8r6t/harness/experiments/text-workspace-native2-20260913`. Manifest SHA256 `3ddabcf26828afe2aee882bdfbac26d0f3e6003e6c22f1575bb5bfdf12dcb01a`, 70,577 bytes. Independently verified all 367 unique payload files / 13,631,658 bytes against the full manifest, exact on-disk membership including only manifest as additional file, and 366 payload files against their independently located originals. The archived initial trial2 helper is historical evidence at its manifest hash; no separate pre-correction live original remains. An initial reviewer mapping to `archive_initial.py` failed and was rejected because that file belongs to trial1; it was not accepted as provenance. Corrected helper equals the live helper. The parent's original Windows Unicode-decoding failure and corrected explicit UTF-8 helper remain distinct historical files; resumed identical copies are not a new native run.
|
||||
|
||||
The nested attempt-5 input ZIP passes full CRC reading (526 members). This is archive integrity, not a rerun of its compiler gates. Payload excludes executables, DLLs, profiles, temporary directories and caches. Baseline/expected trees are archived; final work equality is supplied by the original receipts and this independent current readback, rather than claiming a separately archived final-work tree.
|
||||
|
||||
## Limits and disposition
|
||||
|
||||
Initial empty-text small/scope path-entry captures were failed input attempts later recovered, not successful opens. The scope-stress project was already invalid on load; close/Discard without manual edit or Save is the operator's recorded sequence, consistent with the unchanged physical readback, but disk equality alone cannot prove the absence of transient input. Screenshot metadata/accessibility does not constitute a complete key-event log. Existing Escape correction requires its own source gates and targeted behavior evidence. No full-app, release, timing, accessibility, or final UX acceptance is asserted here.
|
||||
+396
@@ -0,0 +1,396 @@
|
||||
{
|
||||
"atUtc": "2026-09-13T04:54:42.116051+00:00",
|
||||
"scope": "Read-only archive and recorded evidence review; no runtime or compiler. Archive/original/external/ZIP/gate checks completed in preceding read-only invocation before Windows cp1252 failed at capture metadata; this invocation completes explicit UTF8 capture and receipt checks.",
|
||||
"manifest": {
|
||||
"bytes": 24309,
|
||||
"sha256": "07c765910f3d7bda3e298b32f6a12feb578214c61c241b0ac0cebc6c46e28db8"
|
||||
},
|
||||
"files": 115,
|
||||
"bytes": 7138817,
|
||||
"allOriginalAndArchiveBytesEqual": true,
|
||||
"externalPinsVerified": 7,
|
||||
"nestedSourceZipMembersCRCAndBytes": 526,
|
||||
"recordedSuccessfulGates": [
|
||||
"escape",
|
||||
"clippy",
|
||||
"membership",
|
||||
"focused",
|
||||
"selection",
|
||||
"tests",
|
||||
"timing",
|
||||
"gui"
|
||||
],
|
||||
"captureStates": 31,
|
||||
"jpegFiles": 34,
|
||||
"captureSizes": [
|
||||
[
|
||||
16,
|
||||
16
|
||||
],
|
||||
[
|
||||
185,
|
||||
147
|
||||
],
|
||||
[
|
||||
1108,
|
||||
633
|
||||
],
|
||||
[
|
||||
1442,
|
||||
932
|
||||
]
|
||||
],
|
||||
"captures": [
|
||||
{
|
||||
"path": "001-fresh-escape-correction-home.json",
|
||||
"bytes": 1085,
|
||||
"sha256": "b5637b1eb029200d146dbb0b22a7d445839c6d0dd3242ba6a591498b9a93354d"
|
||||
},
|
||||
{
|
||||
"path": "001-fresh-escape-correction-home-0.jpg",
|
||||
"bytes": 98647,
|
||||
"sha256": "5e4da4a94c74b708c872833167cddb45d38d91b4ee128ae3a4c9cf1d1326ad29"
|
||||
},
|
||||
{
|
||||
"path": "002-open-representative-picker.json",
|
||||
"bytes": 1081,
|
||||
"sha256": "e1bb2850901bda485c7b2a42e14053912f909b41c68c728f6a233074f2c58db8"
|
||||
},
|
||||
{
|
||||
"path": "002-open-representative-picker-0.jpg",
|
||||
"bytes": 97089,
|
||||
"sha256": "e18826ed3f64c64cdb7efcc7d8c4648a775439d1f99221a11944ef9e4023b82b"
|
||||
},
|
||||
{
|
||||
"path": "003-native-picker.json",
|
||||
"bytes": 5024,
|
||||
"sha256": "25fa11463186769b16d3b1a348759798f53ef0fb694ada2206c4878d672e86e7"
|
||||
},
|
||||
{
|
||||
"path": "003-native-picker-0.jpg",
|
||||
"bytes": 674,
|
||||
"sha256": "5a2387a1a593a32ea169b56b9a3e59333936ee1da95164564e4d9be61bf5a24b"
|
||||
},
|
||||
{
|
||||
"path": "003-native-picker-1.jpg",
|
||||
"bytes": 50649,
|
||||
"sha256": "2c4f1905bced8991366aebf1daa23c2984c406ff77a8abafb3c8a3bf7e60fb38"
|
||||
},
|
||||
{
|
||||
"path": "004-representative-path-confirmed.json",
|
||||
"bytes": 5072,
|
||||
"sha256": "2776bf132cf6d163e8adcdd16ddf67567aa20c34216d2c20892f83e0328abfb4"
|
||||
},
|
||||
{
|
||||
"path": "004-representative-path-confirmed-0.jpg",
|
||||
"bytes": 674,
|
||||
"sha256": "5a2387a1a593a32ea169b56b9a3e59333936ee1da95164564e4d9be61bf5a24b"
|
||||
},
|
||||
{
|
||||
"path": "004-representative-path-confirmed-1.jpg",
|
||||
"bytes": 55518,
|
||||
"sha256": "a0ab138c25b7ba7a8028b3d46f61b00fb3b442679f98ffc68a5250bf50d4bc7c"
|
||||
},
|
||||
{
|
||||
"path": "005-representative-open-request.json",
|
||||
"bytes": 1083,
|
||||
"sha256": "79b644cfd0d5240fd2ffc6d9bec2b3469286cd2bc3204eae511c7d1f9f07a4c3"
|
||||
},
|
||||
{
|
||||
"path": "005-representative-open-request-0.jpg",
|
||||
"bytes": 98435,
|
||||
"sha256": "98463e8881e8161a8c1ff3584cd6ccacdf95e3c8bbeba40fe9a48d0bda644fed"
|
||||
},
|
||||
{
|
||||
"path": "006-representative-loaded.json",
|
||||
"bytes": 1256,
|
||||
"sha256": "800d9521f99a1eeb72e7fa30993473fc87b99c80d4f8572222887a0447878801"
|
||||
},
|
||||
{
|
||||
"path": "006-representative-loaded-0.jpg",
|
||||
"bytes": 133714,
|
||||
"sha256": "e2c550951994e38f2f2bd90ab8826b03a8affefdb80f11391b3068a8c7731ff7"
|
||||
},
|
||||
{
|
||||
"path": "007-text-wide.json",
|
||||
"bytes": 1232,
|
||||
"sha256": "ed2dd657ebab1b7e92c5a12637c13b95323c7187c929374b4542956ebed1a1e0"
|
||||
},
|
||||
{
|
||||
"path": "007-text-wide-0.jpg",
|
||||
"bytes": 168557,
|
||||
"sha256": "c5a495fc54f5c38a6ddc89e4a0ab329302c95c0d85708f6fd21862794ad4c958"
|
||||
},
|
||||
{
|
||||
"path": "008-text-minimum.json",
|
||||
"bytes": 1238,
|
||||
"sha256": "1c48645c6b528eef9b792bc8a91f90a33748129f1e7390902dbaba00f528b17e"
|
||||
},
|
||||
{
|
||||
"path": "008-text-minimum-0.jpg",
|
||||
"bytes": 170880,
|
||||
"sha256": "ce5bad312c8cd140ace5fb4f8472affd1936fd076742444c6333f5167dd02419"
|
||||
},
|
||||
{
|
||||
"path": "009-window-size-menu.json",
|
||||
"bytes": 1934,
|
||||
"sha256": "804ff9d424c696ba40cf686043556bb29198e26f97459baa09558a49bc5a9c05"
|
||||
},
|
||||
{
|
||||
"path": "009-window-size-menu-0.jpg",
|
||||
"bytes": 170297,
|
||||
"sha256": "13ddf9100a532d95a87c4e4b7fc13db6f38503e8267ad6a77ef84b29f72bce76"
|
||||
},
|
||||
{
|
||||
"path": "009-window-size-menu-1.jpg",
|
||||
"bytes": 4956,
|
||||
"sha256": "1b33fc34741438282edbd352299d4844fb6762b3ed434365e302e03f408dfc04"
|
||||
},
|
||||
{
|
||||
"path": "010-size-command.json",
|
||||
"bytes": 1238,
|
||||
"sha256": "a90dc51e4548595d53ab0f5152ced87786d39489c912fd5de412bb63346ea397"
|
||||
},
|
||||
{
|
||||
"path": "010-size-command-0.jpg",
|
||||
"bytes": 170949,
|
||||
"sha256": "c74face251a288e9e48a555839bd27722fd0a07cd438e809c581b02a7eeb72b6"
|
||||
},
|
||||
{
|
||||
"path": "011-size-right-edge.json",
|
||||
"bytes": 1244,
|
||||
"sha256": "9dd5ae891a08e1eff381a331b31be4da39b0bde1d8fdfe5097e373dcff53298d"
|
||||
},
|
||||
{
|
||||
"path": "011-size-right-edge-0.jpg",
|
||||
"bytes": 170949,
|
||||
"sha256": "c74face251a288e9e48a555839bd27722fd0a07cd438e809c581b02a7eeb72b6"
|
||||
},
|
||||
{
|
||||
"path": "012-cancel-window-sizing-wide.json",
|
||||
"bytes": 1264,
|
||||
"sha256": "757cdf55f48e66d577c62c5cefad8c329bd1ee33653db787e4f5266ab1aaee37"
|
||||
},
|
||||
{
|
||||
"path": "012-cancel-window-sizing-wide-0.jpg",
|
||||
"bytes": 170949,
|
||||
"sha256": "c74face251a288e9e48a555839bd27722fd0a07cd438e809c581b02a7eeb72b6"
|
||||
},
|
||||
{
|
||||
"path": "013-oa-folder.json",
|
||||
"bytes": 1232,
|
||||
"sha256": "2fb29d44e40f4e4b9ab37bf1ffa17dbdf475290e3e53f33c7f4b8f23466778ba"
|
||||
},
|
||||
{
|
||||
"path": "013-oa-folder-0.jpg",
|
||||
"bytes": 171567,
|
||||
"sha256": "37ee2ed3e425bd54d00ec195f2eebd7fc6ecdd223ae4377dcc28305d9bfb4c65"
|
||||
},
|
||||
{
|
||||
"path": "014-participants-source.json",
|
||||
"bytes": 1252,
|
||||
"sha256": "fb51f962a4b4d318b8ff93260d7b9676d0e541e312b1743354478ef966d9bd01"
|
||||
},
|
||||
{
|
||||
"path": "014-participants-source-0.jpg",
|
||||
"bytes": 132210,
|
||||
"sha256": "4fc0866a6a960eab7ac4df5379e9dd9ba244cd30fe283de0676380fae3bbdcc7"
|
||||
},
|
||||
{
|
||||
"path": "015-word-selected.json",
|
||||
"bytes": 1240,
|
||||
"sha256": "08a07b5cf556ae69f0b27933ed92f031cb2df288868f8c916bd452b27e69e7e9"
|
||||
},
|
||||
{
|
||||
"path": "015-word-selected-0.jpg",
|
||||
"bytes": 131689,
|
||||
"sha256": "a02b211dc181d942461e00381747b208824d5375baa9636eb1e4cba08d296a1b"
|
||||
},
|
||||
{
|
||||
"path": "016-references-query.json",
|
||||
"bytes": 1246,
|
||||
"sha256": "9bfa28bc44126799c36947ef1015baedf480233a26970c5c98036e05cdced41f"
|
||||
},
|
||||
{
|
||||
"path": "016-references-query-0.jpg",
|
||||
"bytes": 136808,
|
||||
"sha256": "4791f8b9cc059234239874c3ea741d65d06c4f055e2edc2a94e45e21c05b94de"
|
||||
},
|
||||
{
|
||||
"path": "017-references-scrolled.json",
|
||||
"bytes": 1252,
|
||||
"sha256": "afb568c4da1a2db6cbe976262e27d6786b40a4b627460b5cc78609772136d682"
|
||||
},
|
||||
{
|
||||
"path": "017-references-scrolled-0.jpg",
|
||||
"bytes": 143285,
|
||||
"sha256": "f1e7338bab33939f31eae72b7590cd964d6a59bbac5122435aa0a5a94e2ace28"
|
||||
},
|
||||
{
|
||||
"path": "018-find-and-retained-drawer.json",
|
||||
"bytes": 1262,
|
||||
"sha256": "bbda451ac080eab4fa8825341eec42933cd2066eed2a38ad6ec7d11c513a421c"
|
||||
},
|
||||
{
|
||||
"path": "018-find-and-retained-drawer-0.jpg",
|
||||
"bytes": 146738,
|
||||
"sha256": "92956cc253a2edcf80e305fa019ab4153b87f461b282aa4f01a30b893912fb48"
|
||||
},
|
||||
{
|
||||
"path": "019-actions-find-drawer.json",
|
||||
"bytes": 1252,
|
||||
"sha256": "dfd440c1182ce93f6ad5e0206e09a23b259723b0720acfd853d5d861317737b1"
|
||||
},
|
||||
{
|
||||
"path": "019-actions-find-drawer-0.jpg",
|
||||
"bytes": 144620,
|
||||
"sha256": "583b06732b126b4a79df1233ce654b8bca60eebf1a6be1bcb11994ccae705dc5"
|
||||
},
|
||||
{
|
||||
"path": "020-escape1-menu-only.json",
|
||||
"bytes": 1248,
|
||||
"sha256": "5bd0a3192c81832c7ae5045a03f0a0588c15d65f145ca4aeebb6867d8f21c073"
|
||||
},
|
||||
{
|
||||
"path": "020-escape1-menu-only-0.jpg",
|
||||
"bytes": 139894,
|
||||
"sha256": "022b457ac5b15b56e4faf4615981cfaaeed95d3b554eab2c6b257cb77ee27a3d"
|
||||
},
|
||||
{
|
||||
"path": "021-escape2-find-only-retains-results-scroll.json",
|
||||
"bytes": 1294,
|
||||
"sha256": "8012e1fd675c0607f08d785101295cfbe9eba6dfa0c28282a2729ee126801035"
|
||||
},
|
||||
{
|
||||
"path": "021-escape2-find-only-retains-results-scroll-0.jpg",
|
||||
"bytes": 137580,
|
||||
"sha256": "08aaead3e2978daf802fd0b1e36265dad517fcfad54cfbc1e18adfdfd274e772"
|
||||
},
|
||||
{
|
||||
"path": "022-escape3-drawer-only.json",
|
||||
"bytes": 1252,
|
||||
"sha256": "0b1190135965eaa5cb4d6fe360001651833f4913637268767817373a2db9b2db"
|
||||
},
|
||||
{
|
||||
"path": "022-escape3-drawer-only-0.jpg",
|
||||
"bytes": 131935,
|
||||
"sha256": "1bcc3d2fca2f0becac88ad971cae827169c971821061450b42efe2ca6b15b696"
|
||||
},
|
||||
{
|
||||
"path": "023-word-replacement-after-three-escapes.json",
|
||||
"bytes": 1296,
|
||||
"sha256": "d6439401b0e8dc5862ba8dec89f95fad41d24d5eb2c4a0ab4bb75dad983f9f79"
|
||||
},
|
||||
{
|
||||
"path": "023-word-replacement-after-three-escapes-0.jpg",
|
||||
"bytes": 132787,
|
||||
"sha256": "88f8b825615a70eb4492c9df08f78ade1e8aa9c475ddd6c96d45272d8b191553"
|
||||
},
|
||||
{
|
||||
"path": "024-word-probe-undo.json",
|
||||
"bytes": 1244,
|
||||
"sha256": "b839286980a247a7a0c6d2924c9159ea6f0f542ed633770a723d2e0245e24902"
|
||||
},
|
||||
{
|
||||
"path": "024-word-probe-undo-0.jpg",
|
||||
"bytes": 131885,
|
||||
"sha256": "57a6fcf2633de7e7f8eaf69e4e39839343bf46a39daac9e66361c4250501094e"
|
||||
},
|
||||
{
|
||||
"path": "025-reopen-status-after-escape.json",
|
||||
"bytes": 1266,
|
||||
"sha256": "cebab27b0c58effa5c58f0206ab5a8e1de4db185cb959fe96f354b014bc0a816"
|
||||
},
|
||||
{
|
||||
"path": "025-reopen-status-after-escape-0.jpg",
|
||||
"bytes": 133772,
|
||||
"sha256": "7908e1317430a560d65cb764b4cbeeb52b8e658576de538392c9948c4789e63c"
|
||||
},
|
||||
{
|
||||
"path": "026-references-retained-after-escape-reopen.json",
|
||||
"bytes": 1292,
|
||||
"sha256": "251514490964d521f2036e9fa4c7c4761fef3f1a8ac4440e560a74e23fb77e2e"
|
||||
},
|
||||
{
|
||||
"path": "026-references-retained-after-escape-reopen-0.jpg",
|
||||
"bytes": 130790,
|
||||
"sha256": "7c2839245e264831627f3d50e25f21a3cc06136b93f09024126615042b1267c2"
|
||||
},
|
||||
{
|
||||
"path": "027-line-selected.json",
|
||||
"bytes": 1240,
|
||||
"sha256": "b048034c34efddaab3947a809b40359c346d7b123793c90eb174a6ceafdb6b9d"
|
||||
},
|
||||
{
|
||||
"path": "027-line-selected-0.jpg",
|
||||
"bytes": 132710,
|
||||
"sha256": "86872b886ea25e10067e5dbb7d6b38be4cade9e4882cc881c7cd27680d5ff253"
|
||||
},
|
||||
{
|
||||
"path": "028-focused-find-over-line-and-drawer.json",
|
||||
"bytes": 1280,
|
||||
"sha256": "633bac8c103ea5dca6cdae3bf722bcb26fbf1ca0a4939e522a6ebd10579a80d2"
|
||||
},
|
||||
{
|
||||
"path": "028-focused-find-over-line-and-drawer-0.jpg",
|
||||
"bytes": 136832,
|
||||
"sha256": "c22b510f3238b9b10de5e7944538704778447eb8517117cf441e4b0e8466bb23"
|
||||
},
|
||||
{
|
||||
"path": "029-focused-escape-retains-drawer-and-line.json",
|
||||
"bytes": 1290,
|
||||
"sha256": "62d92c5a2d4f1baf8c53ca1bd835b604d61c4fe30aa45a23fa2203dad653392e"
|
||||
},
|
||||
{
|
||||
"path": "029-focused-escape-retains-drawer-and-line-0.jpg",
|
||||
"bytes": 132794,
|
||||
"sha256": "0384c0046addd8d1568ff309840cae52e2e394eb3c33cff4eb75413ca817e391"
|
||||
},
|
||||
{
|
||||
"path": "030-line-replacement-after-focused-find-escape.json",
|
||||
"bytes": 1308,
|
||||
"sha256": "33065c7de823bba42ac37d529bf4317fdc36553b4e0071db344637c6bb7d5aed"
|
||||
},
|
||||
{
|
||||
"path": "030-line-replacement-after-focused-find-escape-0.jpg",
|
||||
"bytes": 133736,
|
||||
"sha256": "bb15d06d3c92347305636d4abdd9f490a414958b986c581b0b5f3415cb5aebb6"
|
||||
},
|
||||
{
|
||||
"path": "031-line-probe-undo.json",
|
||||
"bytes": 1244,
|
||||
"sha256": "8f80a246e1be1390a019b8153d6683c4e811967ecc0a71dd6a5788bdd8b5c212"
|
||||
},
|
||||
{
|
||||
"path": "031-line-probe-undo-0.jpg",
|
||||
"bytes": 132790,
|
||||
"sha256": "63e71bf4b82e678ea8c1c3a5f33d05ff9901fbd7098099c49ac701c4da3a7cf5"
|
||||
}
|
||||
],
|
||||
"savedReceipts": [
|
||||
{
|
||||
"path": "verification-representative-trial-closed\\result.json",
|
||||
"bytes": 7378,
|
||||
"sha256": "7cd11b75dab124ea7ffc95075c78b35ec87a54d1a211bb5221a7843f4e6b19ae",
|
||||
"variant": "expected",
|
||||
"physicalFiles": 37,
|
||||
"stdout": "PASS exact model/identity/30 reachable sources; 30 exact disk files (0 proven retained)\n"
|
||||
}
|
||||
],
|
||||
"launch": {
|
||||
"bytes": 1663,
|
||||
"sha256": "d4ee809d68f036c09801b4a85977696a76010b58e9a380fdec8f7e30498302b4"
|
||||
},
|
||||
"closure": {
|
||||
"bytes": 398,
|
||||
"sha256": "b7b978e3b762bfb2d2427b69fb247419576bff09e663ccaae25ea79342cf725b"
|
||||
},
|
||||
"archiver": {
|
||||
"bytes": 16147,
|
||||
"sha256": "b619f0db6dbbb430f0bcb6104c1b09d0bc25b87e9cb93a07441e5a3f5fafd72c"
|
||||
},
|
||||
"recorder": {
|
||||
"bytes": 1225,
|
||||
"sha256": "46993f6bef7af7b443c5d42505aa143ac397fd30c2562d4675a1d6376fbf32ff"
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Native trial 3 — independent evidence review
|
||||
|
||||
The inspected original captures support the bounded Escape correction and word/line replacement claims. This was a **wide-window development replay**, not a new minimum-window or packaged-release acceptance run. No additional concrete defect was found in these captures. This review ran only read-only file/hash/ZIP checks and viewed stored images; no application, oracle, compiler or UI operation was run.
|
||||
|
||||
## Recorded execution and observations
|
||||
|
||||
PID 4288 ran from 2026-09-13T04:44:53.418424Z to 04:51:07.980916Z and closed normally with exit 0. Both logs are empty and closure reports unchanged GUI/DLL. GUI SHA256 `0ee1425174bdc93399f97d926f832b3ece1671bc4cd484d45a2844bdeed08399`, 114,171,904 bytes. Session duration is not a responsiveness measurement.
|
||||
|
||||
Directly inspected original JPEGs 008, 019–024, 026, and 028–031:
|
||||
|
||||
- 019 displays Actions over Find and the scrolled References drawer. 020 removes only Actions; Find and the same lower reference rows remain. 021 removes Find while retaining the drawer's lower rows/full `oa/participants.arcadia` path and showing the selected `oa_control` word in the editor. 022 then closes the drawer with that word still selected.
|
||||
- 023 shows the whole selected word replaced by `oa_control_escape_probe`, with the surrounding declaration intact and Unsaved changes. 024 shows original `oa_control` restored and All changes saved. The latter is the clean-state indicator after Undo, not evidence that a Save command was invoked.
|
||||
- 026 shows References reopened with the same lower group position and Stale before the alias; displaying retained stale results does not authorize stale navigation.
|
||||
- 028 visibly focuses Find over the drawer. 029 closes Find, retaining the drawer and the selected description line. 030 shows the whole line replaced with `description "escape_line_probe";`, and 031 shows `description "";` restored and All changes saved. This supports both retained selection and usable editor focus after the focused Find Escape.
|
||||
- 008 is still 1442x932 despite its `text-minimum` name. The failed resize attempts and cancelled OS sizing must remain failed attempts. These captures add no 1100x700 minimum-window verification; that geometry remains bounded to trial 2 and its source version.
|
||||
|
||||
There are 31 metadata states and 34 original JPEGs. Metadata also includes picker/menu surfaces with smaller dimensions; those are not resized application-client evidence. Every metadata image reference exists, is unique, and exactly matches the JPEG inventory. All originals are individually hash-bound in the adjacent JSON; images not listed above were inventory-checked, not claimed as individually visually assessed.
|
||||
|
||||
## Saved-state and archive checks
|
||||
|
||||
One final representative saved-disk receipt is PASS, exit 0, expected variant, all 37 physical files equal, and unchanged by oracle. Its raw stdout/stderr match their receipt hashes; stdout states `PASS exact model/identity/30 reachable sources; 30 exact disk files (0 proven retained)`. Receipt SHA256 `7cd11b75dab124ea7ffc95075c78b35ec87a54d1a211bb5221a7843f4e6b19ae`. This confirms the recorded final saved state; it does not inspect the live unsaved model or independently prove no intermediate Save/Apply. No Save/Apply is the operator's recorded action scope. No rename transaction, simple fixture replay, or full acceptance is inferred from this trial.
|
||||
|
||||
Archive directory: `C:/ar-text-9e8r6t/harness/experiments/text-workspace-native3-20260913`. Manifest SHA256 `07c765910f3d7bda3e298b32f6a12feb578214c61c241b0ac0cebc6c46e28db8`, 24,309 bytes. Independent checks verified all **115 unique payload files / 7,138,817 bytes**, exact archive membership (manifest is the sole additional file), and every payload against its independently located original. All seven external pins read back equal. The nested source ZIP has exactly 526 manifest-bound members, each read with CRC and SHA/size verification. All eight original gate receipts report exit 0 and unchanged inputs, with matching raw log hashes: escape, Clippy, membership, focused, selection, tests, timing and GUI. These are preserved gate results, not new executions by this review.
|
||||
|
||||
The archive correctly excludes executables/DLL payloads, profiles, temporary directories, caches, working fixture copies and duplicate authored fixtures, linking trial2 fixture evidence externally. Archived gate.py/verify_saved.py are preserved current helper bytes and must not be promoted to independently receipt-bound historical execution hashes; the manifest explicitly explains that limitation. Launch and binder helpers have receipt bindings. Recorder and archiver are retained independently: recorder SHA256 `46993f6bef7af7b443c5d42505aa143ac397fd30c2562d4675a1d6376fbf32ff`; updated archiver SHA256 `b619f0db6dbbb430f0bcb6104c1b09d0bc25b87e9cb93a07441e5a3f5fafd72c`.
|
||||
|
||||
Review process note: an initial read-only check assumed the earlier gate log schema (`stdout` object); these receipts actually use `stdoutSha256`. Correcting the reader preserved strict hash equality. A following reader completed all archive/original/external/ZIP/gate checks before failing at Windows cp1252 capture decoding. Explicit UTF-8 completed capture/receipt checking without modifying any input. No producer or runtime retry occurred.
|
||||
|
||||
Machine review and original capture bindings: `native3-evidence-review.json`, SHA256 `6817c45fb595157ff0b5845a4082ba71bc747fe8686a04b44ea6fe565558a143`. The native evidence resolves the inspected wide-window Escape sequence; combined source integration, publication and broader UX disposition remain with the parent.
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"atUtc": "2026-09-13T05:02:47.529317+00:00",
|
||||
"commit": "2df7f580aa4bd728a728c83ac10e6ccc956ef069",
|
||||
"scope": "Exact selected committed source/evidence bytes downloaded from Gitea; complete source and evidence membership are separately verified against the committed Git tree.",
|
||||
"files": [
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app.rs",
|
||||
"bytes": 223370,
|
||||
"sha256": "4f4c1bb5f832601a072b5cd406a75731982e8b9955ee6af39a93f124496938f9"
|
||||
},
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app/source_symbols.rs",
|
||||
"bytes": 21421,
|
||||
"sha256": "d81914a553114d85452d973a1edb175843d27154b3f9b9fc4cbc5049d423abe4"
|
||||
},
|
||||
{
|
||||
"path": "harness/text-workspace-verified-20260913.md",
|
||||
"bytes": 9473,
|
||||
"sha256": "6db2995be4ee411599c654899b23182a027136cdd60b803e4c08417323b45d44"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-native3-20260913/manifest.json",
|
||||
"bytes": 24309,
|
||||
"sha256": "07c765910f3d7bda3e298b32f6a12feb578214c61c241b0ac0cebc6c46e28db8"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-native3-20260913/attempt-6/inputs.zip",
|
||||
"bytes": 2198569,
|
||||
"sha256": "960c2ebeab73af1fbf593268e4dc1687011588da86d808e039a6fd28658ec347"
|
||||
},
|
||||
{
|
||||
"path": "harness/experiments/text-workspace-native3-20260913/attempt-6/tests-stdout.log",
|
||||
"bytes": 98579,
|
||||
"sha256": "6cf95c3bf0fd8efcbf753ab7788a02be461fab8b6621aa924e64e47f260097d4"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
"""Read back selected published source/evidence bytes from the exact Gitea commit."""
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timezone
|
||||
import hashlib
|
||||
import json
|
||||
import subprocess
|
||||
import urllib.request
|
||||
|
||||
ROOT = Path('C:/ar-text-9e8r6t')
|
||||
COMMIT = '2df7f580aa4bd728a728c83ac10e6ccc956ef069'
|
||||
BASE = 'http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/raw/commit/' + COMMIT + '/'
|
||||
FILES = ['crates/oa-desktop/src/app.rs', 'crates/oa-desktop/src/app/source_symbols.rs', 'harness/text-workspace-verified-20260913.md', 'harness/experiments/text-workspace-native3-20260913/manifest.json', 'harness/experiments/text-workspace-native3-20260913/attempt-6/inputs.zip', 'harness/experiments/text-workspace-native3-20260913/attempt-6/tests-stdout.log']
|
||||
records = []
|
||||
for name in FILES:
|
||||
expected = subprocess.check_output(['git', 'show', COMMIT + ':' + name], cwd=ROOT)
|
||||
with urllib.request.urlopen(BASE + name, timeout=45) as response:
|
||||
raw = response.read()
|
||||
assert response.status == 200
|
||||
assert raw == expected, 'Published content differs: ' + name
|
||||
records.append({'path': name, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()})
|
||||
result = {'atUtc': datetime.now(timezone.utc).isoformat(), 'commit': COMMIT, 'scope': 'Exact selected committed source/evidence bytes downloaded from Gitea; complete source and evidence membership are separately verified against the committed Git tree.', 'files': records}
|
||||
dest = Path(__file__).resolve().parent / 'publication-readback.json'
|
||||
with dest.open('x', encoding='utf-8', newline='\n') as out:
|
||||
json.dump(result, out, indent=2)
|
||||
out.write('\n')
|
||||
print(json.dumps(result))
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
# Selection correction report: bounded evidence review
|
||||
|
||||
**PASS — no factual mismatch found.** Reviewed the versioned report and historical Find-only red/green evidence. No retained helpers, builds, tests or GUI actions were executed; no source was edited.
|
||||
|
||||
The manifest has exactly 25 payloads totaling 9,173,324 bytes. Every listed payload's actual size and SHA-256 matches. Four input maps each contain 525 files: red1→red2 changes only `app/text_workspace/focus_selection_tests.rs`; red2→green2 changes only `app/source_symbols.rs`; green1→green2 changes no input bytes. The retained source hashes and green stdout hash match the report.
|
||||
|
||||
Raw red1 stderr identifies the same before-Find child-index panic in all four tests; it is correctly rejected as regression proof. Red2 compiles and has two passing controls and two failures at selected-byte assertions (`Some("")` versus `Some("oa_contact")`). Its timestamps, duration and unchanged-input receipt match the report. Green1 has no compile line, reproduces those failures and is explicitly rejected. Its ZIP source entry retains the old 20:04:46 local modification time; green2's source entry is 20:16:32 with identical source bytes. Green2 stderr records fresh compilation and stdout records four passes; 03:16:36.205020Z–03:17:54.177014Z and 77.9678s support the stated rounded values. These observations support the reported cache-retry interpretation; they are not an independent rerun of Cargo's cache behavior.
|
||||
|
||||
The report properly separates this executed Find-only correction from later departure changes and their pending combined/native evidence. The distinction between a nonmutating live focus restoration and a canonical range retained on a committed departure matches the independent static review. CPU/App Content separation, injected Escape bridge message, lack of GPU/window/scroll proof, and lost Word/Line extension mode after real navigation are stated rather than silently accepted.
|
||||
|
||||
This review checked manifest payload hashes, input-map differences, raw receipts/logs and ZIP entry metadata. It did not execute archive builders or independently revalidate every decompressed source member. Historical inputs remain distinct from the currently running combined gate.
|
||||
|
||||
## Bindings
|
||||
|
||||
- Report `C:/ar-text-9e8r6t/harness/text-selection-correction-20260913.md`: SHA-256 `adfd9b5f11cf3ae6c65579f62ec90e529dd8dd569c4fc452e41b5b2994d21e61`.
|
||||
- Experiment manifest: SHA-256 `4580d8cbc2f0347f1ebc1448728af6ef8885f6ebbd4c2d2dbe0c41eac97fb283` (4,401 bytes), binding all 25 checked payloads.
|
||||
- Green2 stdout: SHA-256 `6f19f24e2fa37db4fc95c9b2d11b65e420299c6c6f90e4657e7e8e328b326fa0`.
|
||||
- The separate durable departure static review is `departure-selection-review.md`, SHA-256 `f872c511eab74ca05d35b97ad31ee1a879c42717e40a698959501b6f96546dac`; it retains the five final formatted source hashes and the corrected fixture finding.
|
||||
+3163
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
"""Require every manifest-bound evidence payload to survive the Git index."""
|
||||
from pathlib import Path
|
||||
import hashlib
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
ROOT = Path('C:/ar-text-9e8r6t')
|
||||
SETS = ['text-find-selection-20260913', 'text-workspace-initial-20260913', 'text-workspace-native2-20260913', 'text-workspace-native3-20260913']
|
||||
expected = {}
|
||||
sets = []
|
||||
for label in SETS:
|
||||
base = 'harness/experiments/' + label
|
||||
manifest_path = ROOT / base / 'manifest.json'
|
||||
raw = manifest_path.read_bytes()
|
||||
manifest = json.loads(raw)
|
||||
rows = manifest['files']
|
||||
sets.append({'path': base, 'payloads': len(rows), 'manifestSha256': hashlib.sha256(raw).hexdigest()})
|
||||
expected[base + '/manifest.json'] = {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}
|
||||
for row in rows:
|
||||
name = base + '/' + row['path']
|
||||
assert name not in expected
|
||||
expected[name] = row
|
||||
names = sorted(expected)
|
||||
raw = subprocess.check_output(['git', 'cat-file', '--batch'], input=''.join(':' + name + '\n' for name in names).encode(), cwd=ROOT)
|
||||
offset = 0
|
||||
for name in names:
|
||||
end = raw.index(b'\n', offset)
|
||||
header = raw[offset:end].split()
|
||||
assert len(header) == 3 and header[1] == b'blob', ('Missing staged payload', name, header)
|
||||
size = int(header[2])
|
||||
blob = raw[end + 1:end + 1 + size]
|
||||
offset = end + size + 2
|
||||
assert size == expected[name]['bytes'] and hashlib.sha256(blob).hexdigest() == expected[name]['sha256'], ('Staged archive payload differs', name)
|
||||
assert blob == (ROOT / name).read_bytes(), ('Working archive differs', name)
|
||||
assert offset == len(raw)
|
||||
receipt = {'scope': 'All four experiment manifests and every referenced payload equal staged Git blobs and working originals, including ignored raw logs explicitly staged.', 'files': len(names), 'archives': sets, 'gitTree': subprocess.check_output(['git', 'write-tree'], cwd=ROOT).decode().strip()}
|
||||
with Path(sys.argv[1]).open('x', encoding='utf-8', newline='\n') as out:
|
||||
json.dump(receipt, out, indent=2)
|
||||
out.write('\n')
|
||||
print(json.dumps(receipt))
|
||||
@@ -0,0 +1,38 @@
|
||||
"""Verify the staged source and all staged changes against measured working bytes."""
|
||||
from pathlib import Path
|
||||
import hashlib
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
ROOT = Path('C:/ar-text-9e8r6t')
|
||||
SCOPES = ['Cargo.toml', 'Cargo.lock', 'crates', 'build', '.cargo', 'docs', 'examples', 'harness/fixtures']
|
||||
capture = json.loads((ROOT / '.local/text-workspace-gates-20260912/attempt-6/inputs.json').read_text(encoding='utf-8'))
|
||||
source_names = subprocess.check_output(['git', 'ls-files', '-z', '--cached', '--', *SCOPES], cwd=ROOT).split(b'\0')
|
||||
source_names = sorted(set(name.decode() for name in source_names if name))
|
||||
assert source_names == [row['path'] for row in capture['files']]
|
||||
changed = subprocess.check_output(['git', 'diff', '--cached', '--name-only', '-z'], cwd=ROOT).split(b'\0')
|
||||
names = sorted(set(source_names) | {name.decode() for name in changed if name})
|
||||
payload = ''.join(':' + name + '\n' for name in names).encode()
|
||||
raw = subprocess.check_output(['git', 'cat-file', '--batch'], input=payload, cwd=ROOT)
|
||||
offset = 0
|
||||
source_expected = {row['path']: row for row in capture['files']}
|
||||
verified = []
|
||||
for name in names:
|
||||
end = raw.index(b'\n', offset)
|
||||
header = raw[offset:end].split()
|
||||
assert len(header) == 3 and header[1] == b'blob', (name, header)
|
||||
size = int(header[2])
|
||||
blob = raw[end + 1:end + 1 + size]
|
||||
offset = end + size + 2
|
||||
digest = hashlib.sha256(blob).hexdigest()
|
||||
assert blob == (ROOT / name).read_bytes(), 'Index differs from working bytes: ' + name
|
||||
if name in source_expected:
|
||||
assert size == source_expected[name]['bytes'] and digest == source_expected[name]['sha256'], 'Index differs from tested source: ' + name
|
||||
verified.append({'path': name, 'bytes': size, 'sha256': digest, 'gitBlob': header[0].decode()})
|
||||
assert offset == len(raw)
|
||||
output = Path(sys.argv[1])
|
||||
with output.open('x', encoding='utf-8', newline='\n') as stream:
|
||||
json.dump({'scope': 'Precommit index bytes equal tested source plus all staged working changes; no new runtime execution.', 'sourceArchiveSha256': capture['archiveSha256'], 'testedSourceFiles': len(source_names), 'verified': verified}, stream, indent=2)
|
||||
stream.write('\n')
|
||||
print(json.dumps({'sourceFiles': len(source_names), 'allVerifiedFiles': len(verified), 'receipt': str(output)}))
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"clippy",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--all-targets",
|
||||
"--",
|
||||
"-D",
|
||||
"warnings"
|
||||
],
|
||||
"started": "2026-09-13T01:48:18.205790+00:00",
|
||||
"finished": "2026-09-13T01:50:22.597629+00:00",
|
||||
"seconds": 124.39168569999674,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stderrSha256": "1528c8ddc7b7275a08f859d245b31b33e151e5ab2619f7258c815e51ec33144c"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Checking oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `dev` profile [unoptimized] target(s) in 2m 03s
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"atUtc": "2026-09-13T01:48:17.334248+00:00",
|
||||
"versions": {
|
||||
"rustc": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n",
|
||||
"cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)\n"
|
||||
},
|
||||
"variables": {
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--",
|
||||
"--list"
|
||||
],
|
||||
"started": "2026-09-13T01:50:23.457615+00:00",
|
||||
"finished": "2026-09-13T02:05:04.869589+00:00",
|
||||
"seconds": 881.4089695000002,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "45a54d47fdd9a87fd6d55e13a6f0ee4f19f4253e099a6efa367704d50d77cf76",
|
||||
"stderrSha256": "e760e45395cb4f5c0f101d8edddcc9ec1040d792fe8de6baf5dc58e3c40bf98b",
|
||||
"testMembership": {
|
||||
"listed": 857,
|
||||
"required": [
|
||||
"app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references",
|
||||
"app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker",
|
||||
"app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related",
|
||||
"app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority",
|
||||
"app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts",
|
||||
"diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame",
|
||||
"views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests",
|
||||
"views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds"
|
||||
],
|
||||
"missing": [],
|
||||
"diagnosticGuardCount": 20
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
Compiling oa-core v0.2.0 (C:\ar-text-9e8r6t\crates\oa-core)
|
||||
Compiling oa-server v0.2.0 (C:\ar-text-9e8r6t\crates\oa-server)
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `test` profile [unoptimized] target(s) in 14m 40s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,859 @@
|
||||
app::architecture_authoring::tests::architecture_allocated_work_is_root_owned_and_one_exact_history_change: test
|
||||
app::architecture_authoring::tests::architecture_blank_names_and_escape_never_accept_placeholder_or_rename: test
|
||||
app::architecture_authoring::tests::architecture_captured_escape_does_not_cancel_other_controls_or_placement: test
|
||||
app::architecture_authoring::tests::architecture_f2_routes_selected_node_to_inline_rename_and_exact_undo: test
|
||||
app::architecture_authoring::tests::architecture_first_focused_input_escape_cancels_create_and_rename: test
|
||||
app::architecture_authoring::tests::architecture_invalid_click_cannot_poison_inline_or_checkpoint_geometry: test
|
||||
app::architecture_authoring::tests::architecture_stale_submit_keeps_create_and_rename_visible_and_exact: test
|
||||
app::architecture_authoring_tests::architecture_cancelled_gesture_cannot_commit_a_later_named_draft: test
|
||||
app::architecture_authoring_tests::architecture_canvas_left_click_uses_world_coordinate_once_at_zoom_and_pan: test
|
||||
app::architecture_authoring_tests::architecture_checkpoint_retains_exact_name_point_and_fresh_binding_without_commands: test
|
||||
app::architecture_authoring_tests::architecture_context_choices_are_small_and_system_is_singleton: test
|
||||
app::architecture_authoring_tests::architecture_contextual_allocation_creates_work_relation_and_node_in_one_undo: test
|
||||
app::architecture_authoring_tests::architecture_creation_names_before_commit_preserves_camera_and_undoes_once: test
|
||||
app::architecture_authoring_tests::architecture_existing_inventory_is_contextual_and_placement_never_implies_allocation: test
|
||||
app::architecture_authoring_tests::architecture_f2_rename_preserves_identity_placement_and_atomic_history: test
|
||||
app::architecture_authoring_tests::architecture_name_survives_rejected_click_resize_navigation_and_escape_is_explicit: test
|
||||
app::architecture_authoring_tests::architecture_rejected_submission_keeps_inline_name_visible_and_invalid_click_is_ignored: test
|
||||
app::architecture_authoring_tests::basic_transition_explicit_overview_focus_wins_over_an_already_populated_architecture: test
|
||||
app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching: test
|
||||
app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts: test
|
||||
app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history: test
|
||||
app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay: test
|
||||
app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo: test
|
||||
app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo: test
|
||||
app::checkpoints::tests::checkpoint_completion_releases_the_writer_while_a_context_menu_is_open: test
|
||||
app::checkpoints::tests::checkpoint_inline_create_and_rename_restore_focus_without_changing_drafts_or_history: test
|
||||
app::checkpoints::tests::checkpoint_noninline_contexts_keep_other_focus_and_still_lint: test
|
||||
app::checkpoints::tests::discard_and_close_waits_for_the_late_checkpoint_then_retires_it: test
|
||||
app::checkpoints::tests::home_resume_keeps_state_view_while_explicit_architecture_remains_reachable: test
|
||||
app::checkpoints::tests::home_resume_retains_invalid_source_and_property_drafts: test
|
||||
app::checkpoints::tests::home_resume_returns_to_each_actual_workspace_without_model_edits: test
|
||||
app::checkpoints::tests::malformed_checkpoint_does_not_replace_the_current_model: test
|
||||
app::checkpoints::tests::recent_and_recovery_navigation_respect_unsaved_decision: test
|
||||
app::checkpoints::tests::restored_copy_keeps_raw_property_and_requires_save_without_local_or_hosted_binding: test
|
||||
app::checkpoints::tests::saving_an_older_snapshot_keeps_recovery_for_newer_unsaved_work: test
|
||||
app::checkpoints::tests::stale_write_completion_cannot_recover_a_discarded_document: test
|
||||
app::checkpoints::tests::walkthrough_request_keeps_unfinished_source_behind_the_normal_pending_guard: test
|
||||
app::data_paging_lifecycle_tests::paging_preserves_same_context_and_resets_on_layer_or_document_replacement: test
|
||||
app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit: test
|
||||
app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection: test
|
||||
app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target: test
|
||||
app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input: test
|
||||
app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft: test
|
||||
app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view: test
|
||||
app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once: test
|
||||
app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts: test
|
||||
app::direct_scenario_tests::direct_scenario_scroll_and_real_resize_invalidate_only_pointer_context: test
|
||||
app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success: test
|
||||
app::hosted::tests::hosted_actual_app_tasks_publish_edit_conflict_correct_credentials_reload_and_open: test
|
||||
app::hosted::tests::hosted_catalog_invalidation_follows_service_writes_and_observed_revision_changes: test
|
||||
app::hosted::tests::hosted_catalog_search_credentials_and_failed_refresh_never_mix_result_scopes: test
|
||||
app::hosted::tests::hosted_changed_bound_head_does_not_invalidate_another_services_empty_filter: test
|
||||
app::hosted::tests::hosted_conflict_fetches_review_without_adoption_and_reload_is_undoable: test
|
||||
app::hosted::tests::hosted_detached_drafts_and_recovery_remain_available_after_rejected_publish: test
|
||||
app::hosted::tests::hosted_failed_cross_service_publication_checks_and_reloads_its_own_resource: test
|
||||
app::hosted::tests::hosted_failed_or_cancelled_local_open_keeps_the_existing_document_and_destination: test
|
||||
app::hosted::tests::hosted_invalid_and_detached_source_drafts_never_start_network_writes: test
|
||||
app::hosted::tests::hosted_invalid_local_open_repair_saves_locally_and_never_replaces_old_resource: test
|
||||
app::hosted::tests::hosted_modal_blocks_underlying_edits_and_credentials_are_redacted: test
|
||||
app::hosted::tests::hosted_new_revision_invalidates_filtered_catalog_even_without_a_displayed_row: test
|
||||
app::hosted::tests::hosted_only_successful_source_save_as_changes_the_active_destination: test
|
||||
app::hosted::tests::hosted_open_waits_for_unsaved_guard_and_failed_open_preserves_current_document: test
|
||||
app::hosted::tests::hosted_publish_acknowledges_only_the_sent_snapshot_and_retains_undo: test
|
||||
app::hosted::tests::hosted_stale_completions_do_not_clear_current_busy_or_adopt_another_document: test
|
||||
app::hosted::tests::hosted_unknown_save_is_acknowledged_by_exact_readback_without_retry: test
|
||||
app::lint_tests::committed_check_cache_follows_edit_and_undo_while_drafts_stay_separate: test
|
||||
app::lint_tests::lint_coalesces_work_and_rejects_obsolete_results: test
|
||||
app::lint_tests::prior_document_lint_cannot_enter_reopened_model_or_block_next_checks: test
|
||||
app::port_view_tests::catalog_creation_follows_the_new_port_and_keeps_group_browsing_explicit: test
|
||||
app::port_view_tests::filtered_active_view_cannot_hide_a_created_port_when_eligible_owner_view_is_folded: test
|
||||
app::process_canvas::direct_process_dirty_source_blocks_canvas_creation_without_losing_text: test
|
||||
app::process_canvas::tests::direct_process_app_open_source_and_back_preserve_local_reference_identity: test
|
||||
app::process_canvas::tests::direct_process_app_same_owner_selection_preserves_tool_but_owner_change_resets_it: test
|
||||
app::process_canvas::tests::direct_process_app_save_scroll_resize_and_passive_geometry_keep_drafts_and_current_origin: test
|
||||
app::process_canvas::tests::direct_process_app_source_failure_retains_form_then_commits_once_and_selects_occurrence: test
|
||||
app::process_canvas::tests::direct_process_app_stale_context_dirty_source_and_properties_never_mutate: test
|
||||
app::process_canvas::tests::direct_process_append_empty_first_second_exchange_has_exact_source_history: test
|
||||
app::process_canvas::tests::process_focus_retains_rejected_draft_and_guards_selection_until_panels_restore: test
|
||||
app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model: test
|
||||
app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority: test
|
||||
app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save: test
|
||||
app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close: test
|
||||
app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean: test
|
||||
app::review_navigation_tests::rejected_semantic_source_writeback_retains_review_camera_and_original_navigation: test
|
||||
app::review_navigation_tests::review_already_showing_the_target_keeps_its_camera_and_query: test
|
||||
app::review_navigation_tests::semantic_name_take_selects_the_counterpart_view_in_both_directions_with_one_exact_history_entry: test
|
||||
app::review_navigation_tests::semantic_review_without_a_destination_view_clears_the_old_layer_canvas_without_creating_a_view: test
|
||||
app::save_as_tests::save_as_late_receipt_preserves_newer_raw_source_draft_and_destination: test
|
||||
app::save_as_tests::save_as_preflight_rejects_historical_collision_before_starting_io: test
|
||||
app::save_as_tests::save_as_receipt_then_one_undo_restores_meaning_and_saving_preserves_redo: test
|
||||
app::source_project_tests::closed_detached_file_keeps_first_save_conflict_then_can_be_reloaded_fresh: test
|
||||
app::source_project_tests::inactive_invalid_draft_blocks_graphical_changes_and_diagnostic_switches_files: test
|
||||
app::source_project_tests::json_export_and_rejected_save_as_preserve_source_location_history_and_bytes: test
|
||||
app::source_project_tests::missing_include_open_keeps_old_model_and_can_be_repaired_and_saved: test
|
||||
app::source_project_tests::recovery_after_first_save_failure_retains_target_then_retries_without_reentering_path: test
|
||||
app::source_project_tests::recovery_of_previous_save_as_target_does_not_redirect_current_project: test
|
||||
app::source_project_tests::recovery_open_finds_first_save_journal_without_an_entry_file: test
|
||||
app::source_project_tests::recovery_target_survives_edit_lint_apply_and_rejected_recovery_until_success: test
|
||||
app::source_project_tests::source3_native_open_preserves_report_comments_nesting_and_save_reopen: test
|
||||
app::source_project_tests::two_file_apply_graphical_edit_exact_undo_save_as_and_reopen: test
|
||||
app::source_rename::alias_input::tests::effective_escape_reset_follows_child_after_early_returns: test
|
||||
app::source_rename::alias_input::tests::held_paste_cache_contains_only_previously_admitted_text: test
|
||||
app::source_rename::alias_input::tests::paste_refusal_matches_child_focus_enabled_and_stored_modifier_protocol: test
|
||||
app::source_rename::editor_patch::tests::all_preflight_refusals_leave_text_cursor_and_selection_unchanged: test
|
||||
app::source_rename::editor_patch::tests::already_laid_out_editor_notifies_highlighter_from_zero_after_later_line_patch: test
|
||||
app::source_rename::editor_patch::tests::exact_text_matrix_and_reverse_preserve_endings: test
|
||||
app::source_rename::editor_patch::tests::unchanged_content_preserves_selection_and_next_direct_edit_works: test
|
||||
app::source_rename::tests::actual_alias_clipboard_rejects_controls_without_normalizing_or_moving_selection: test
|
||||
app::source_rename::tests::actual_captured_escape_closes_only_its_priority_owner_and_retains_worker: test
|
||||
app::source_rename::tests::actual_dialog_enter_requests_preview_even_when_confirm_is_available: test
|
||||
app::source_rename::tests::actual_dialog_real_paragraph_geometry_keeps_input_preview_and_footer_reachable: test
|
||||
app::source_rename::tests::alias_editor_sync_fallback_restores_accepted_display_and_preserves_model_history: test
|
||||
app::source_rename::tests::close_and_reset_retain_worker_slot_until_exact_completion_without_reopening: test
|
||||
app::source_rename::tests::complete_alias_change_preserves_literals_and_last_comment_separated_origin_and_undo: test
|
||||
app::source_rename::tests::full_details_selection_survives_readonly_and_passive_messages_and_tracks_input: test
|
||||
app::source_rename::tests::genuine_save_receipts_preserve_same_destination_preview_but_invalidate_save_as: test
|
||||
app::source_rename::tests::invalid_open_retains_accepted_document_but_refuses_alias_rename: test
|
||||
app::source_rename::tests::last_same_line_use_beyond_reference_row_limit_and_selection_boundaries: test
|
||||
app::source_rename::tests::mounted_editor_f2_requires_focus_and_no_modifiers: test
|
||||
app::source_rename::tests::paging_all_utf8_fragments_preserves_exact_preview_and_approval: test
|
||||
app::source_rename::tests::preview_glyph_tests::actual_preview_source_glyphs_clear_scrollbar_and_all_long_fragments_are_reachable: test
|
||||
app::source_rename::tests::preview_scroll_tests::delayed_page_and_approval_operations_cannot_reset_a_new_destination: test
|
||||
app::source_rename::tests::preview_scroll_tests::explicit_navigation_resets_retained_scroll_but_id_change_alone_does_not: test
|
||||
app::source_rename::tests::preview_scroll_tests::repeated_page_visits_filters_and_fast_preview_completion_have_distinct_destinations: test
|
||||
app::source_rename::tests::property_draft_and_detached_buffer_refuse_without_hidden_apply: test
|
||||
app::source_rename::tests::replacement_generation_aba_and_modal_shortcuts_cannot_commit_stale_preview: test
|
||||
app::source_rename::tests::same_alias_invalid_and_cancel_keep_existing_redo_and_source_selection: test
|
||||
app::source_rename::tests::source_edit_undo_and_recovery_invalidation_do_not_revive_approval: test
|
||||
app::source_rename::tests::stale_dialog_envelopes_do_not_cancel_new_same_path_form_or_its_approval: test
|
||||
app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing: test
|
||||
app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight: test
|
||||
app::source_symbols::tests::back_after_origin_edit_uses_its_current_cursor_instead_of_the_old_range: test
|
||||
app::source_symbols::tests::back_keeps_the_latest_64_actual_locations_without_reusing_dropped_history: test
|
||||
app::source_symbols::tests::back_restores_exact_reversed_utf8_selection_and_crlf_source: test
|
||||
app::source_symbols::tests::captured_find_and_modal_escape_use_one_actual_subscription_and_preserve_pending_work: test
|
||||
app::source_symbols::tests::captured_subscription_does_not_duplicate_existing_behavior_or_architecture_routes: test
|
||||
app::source_symbols::tests::close_during_busy_retains_hidden_completion_without_reopening_or_navigation: test
|
||||
app::source_symbols::tests::closed_results_stay_closed_on_exact_back_and_reopen_only_for_a_return_notice: test
|
||||
app::source_symbols::tests::completion_retains_current_display_but_rejects_navigation_after_context_changes: test
|
||||
app::source_symbols::tests::delayed_definition_after_hide_or_tab_change_retains_data_without_reopening_or_focus: test
|
||||
app::source_symbols::tests::detached_duplicate_requires_an_explicit_choice_even_when_included_source_is_validated: test
|
||||
app::source_symbols::tests::escape_dismisses_modal_before_underlying_source_results: test
|
||||
app::source_symbols::tests::escape_hides_results_and_cancels_navigation_but_retains_latest_display: test
|
||||
app::source_symbols::tests::find_close_releases_removed_input_and_guarded_focus_respects_later_input: test
|
||||
app::source_symbols::tests::find_only_captured_escape_closes_once_and_preserves_raw_query_and_selection: test
|
||||
app::source_symbols::tests::hidden_completion_checks_exact_bytes_even_when_snapshot_key_was_not_advanced: test
|
||||
app::source_symbols::tests::invalid_unapplied_drafts_navigate_without_apply_or_losing_either_history: test
|
||||
app::source_symbols::tests::matching_old_worker_cannot_replace_a_newer_display_owner: test
|
||||
app::source_symbols::tests::matching_reveal_ticket_is_required_and_raw_input_invalidates_pending_reveal: test
|
||||
app::source_symbols::tests::old_find_close_cannot_cancel_a_new_file_session_or_reopened_find_intent: test
|
||||
app::source_symbols::tests::old_symbol_widget_envelopes_after_file_switch_preserve_same_session_intent: test
|
||||
app::source_symbols::tests::old_symbol_widget_envelopes_after_reset_preserve_new_same_path_intent: test
|
||||
app::source_symbols::tests::popup_escape_has_no_duplicate_bridge_and_dismissal_preserves_underlying_find_and_drawer: test
|
||||
app::source_symbols::tests::reset_retains_worker_slot_until_old_completion_then_admits_new_session_query: test
|
||||
app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references: test
|
||||
app::source_symbols::tests::same_worker_with_changed_request_envelope_cannot_publish_or_navigate: test
|
||||
app::source_symbols::tests::saturated_raw_clock_never_authorizes_completion_or_reveal: test
|
||||
app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses: test
|
||||
app::source_symbols::tests::unknown_job_cannot_release_current_worker_and_old_duplicate_cannot_replace_new_results: test
|
||||
app::source_symbols::tests::valid_definition_and_reference_choice_keep_whole_model_and_source_unchanged: test
|
||||
app::state_diagram_tests::all_context_dimensions_reject_stale_selection_camera_and_model_messages: test
|
||||
app::state_diagram_tests::create_view_places_only_its_machine_and_restores_exact_source_in_one_undo: test
|
||||
app::state_diagram_tests::direct_create_connect_select_and_move_keep_semantic_identity_and_atomic_history: test
|
||||
app::state_diagram_tests::fallback_owner_first_selection_keeps_the_captured_context_for_its_first_move: test
|
||||
app::state_diagram_tests::pending_drafts_block_every_direct_mutation_and_passive_camera_preserves_inputs: test
|
||||
app::state_diagram_tests::real_view_tool_and_history_changes_invalidate_old_release_events: test
|
||||
app::state_diagram_tests::rejected_creation_keeps_source_and_selection_then_valid_owner_can_retry: test
|
||||
app::state_diagram_tests::same_size_viewport_after_revision_or_tool_epoch_does_not_refit_the_camera: test
|
||||
app::state_diagram_tests::shared_semantic_states_keep_architecture_and_behavior_placements_independent: test
|
||||
app::state_diagram_tests::state_diagram_routes_constructor_and_source_open_to_the_existing_workspace_without_edits: test
|
||||
app::state_diagram_tests::state_diagram_routes_picker_and_reveal_but_explicit_architecture_does_not_bounce: test
|
||||
app::state_diagram_tests::state_diagram_routes_preserve_selected_raw_properties_and_pending_behavior_guards: test
|
||||
app::state_diagram_tests::state_navigation_catalog_selection_across_layers_resets_camera_and_tool: test
|
||||
app::state_diagram_tests::state_navigation_catalog_selection_of_another_machine_resets_camera_and_tool: test
|
||||
app::state_diagram_tests::state_navigation_layer_change_resets_the_new_machine_at_the_same_viewport_size: test
|
||||
app::state_diagram_tests::state_navigation_return_to_the_same_view_preserves_camera_tool_and_fit_mode: test
|
||||
app::state_diagram_tests::state_navigation_root_event_and_same_layer_keep_the_current_camera_and_tool: test
|
||||
app::text_workspace::lifecycle_tests::canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics: test
|
||||
app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker: test
|
||||
app::text_workspace::lifecycle_tests::saved_new_destination_does_not_revalidate_already_stale_warning_locations: test
|
||||
app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related: test
|
||||
app::text_workspace::tests::current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it: test
|
||||
app::text_workspace::tests::diagnostic_span_must_be_loaded_ordered_and_utf8_exact: test
|
||||
app::text_workspace::tests::disabled_entry_cannot_become_a_new_action_under_the_same_menu_token: test
|
||||
app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority: test
|
||||
app::text_workspace::tests::enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy: test
|
||||
app::text_workspace::tests::equal_diagnostic_republication_invalidates_primary_and_related_targets: test
|
||||
app::text_workspace::tests::menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once: test
|
||||
app::text_workspace::tests::menu_source_caret_document_path_and_interaction_changes_refuse_stale_find: test
|
||||
app::text_workspace::tests::old_dismiss_and_invoke_do_not_consume_a_newer_menu: test
|
||||
app::text_workspace::tests::only_valid_explicit_group_and_resize_intent_cancel_pending_navigation: test
|
||||
app::text_workspace::tests::queued_toolbar_request_cannot_retarget_after_source_change: test
|
||||
app::text_workspace::tests::reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries: test
|
||||
app::text_workspace::tests::reset_removes_ui_and_publication_authority_and_resize_rejects_nan: test
|
||||
app::text_workspace::tests::retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems: test
|
||||
app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application: test
|
||||
app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts: test
|
||||
app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view: test
|
||||
app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture: test
|
||||
app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera: test
|
||||
app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start: test
|
||||
app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions: test
|
||||
app::view_copy_tests::copying_architecture_keeps_architecture_even_with_a_retained_state_view: test
|
||||
app::view_copy_tests::copying_the_current_state_view_uses_its_own_identity_and_is_one_source_undo: test
|
||||
app::view_copy_tests::duplicate_rejection_preserves_an_incomplete_source_buffer: test
|
||||
app::view_copy_tests::duplicate_rejection_preserves_invalid_property_and_pending_behavior_drafts: test
|
||||
app::view_copy_tests::stale_copy_does_not_apply_an_unrelated_valid_property_draft: test
|
||||
behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption: test
|
||||
behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors: test
|
||||
behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source: test
|
||||
behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors: test
|
||||
behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event: test
|
||||
behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection: test
|
||||
behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback: test
|
||||
behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step: test
|
||||
behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency: test
|
||||
behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes: test
|
||||
behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking: test
|
||||
behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict: test
|
||||
behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry: test
|
||||
behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically: test
|
||||
behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll: test
|
||||
behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated: test
|
||||
behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning: test
|
||||
behavior::contextual_source_tests::contextual_source_old_empty_action_cannot_open_a_previous_owner_or_layer: test
|
||||
behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing: test
|
||||
behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source: test
|
||||
behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner: test
|
||||
behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback: test
|
||||
behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo: test
|
||||
behavior::creation::app_tests::app_choosing_another_behavior_or_layer_cannot_commit_a_creation_draft: test
|
||||
behavior::creation::app_tests::app_creation_opens_the_actual_new_owner_instead_of_first_or_previously_active_behavior: test
|
||||
behavior::creation::app_tests::app_first_captured_escape_dismisses_file_or_pending_overlay_before_creation: test
|
||||
behavior::creation::app_tests::app_lesson_request_cancel_retains_creation_then_escape_discards_only_the_draft: test
|
||||
behavior::creation::app_tests::app_machine_behavior_submit_opens_its_opted_in_view_as_one_undoable_transaction: test
|
||||
behavior::creation::app_tests::app_new_never_auto_applies_valid_or_invalid_property_and_source_drafts: test
|
||||
behavior::creation::app_tests::app_recovered_rootless_sa_creation_retains_layer_ids_and_other_raw_drafts: test
|
||||
behavior::creation::app_tests::app_stale_layer_open_never_starts_or_replaces_a_draft: test
|
||||
behavior::creation::tests::all_four_viewpoints_are_explicit_and_survive_source_history_reopen: test
|
||||
behavior::creation::tests::cancel_and_illegal_family_layer_switches_never_create_model_objects: test
|
||||
behavior::creation::tests::corrupted_recovery_and_reserved_identity_collision_refuse_without_repairing_raw_values: test
|
||||
behavior::creation::tests::creation_selection_rejects_changed_scenario_body_and_post_creation_operations: test
|
||||
behavior::creation::tests::machine_requires_valid_owner_and_first_view_adds_no_region_or_state: test
|
||||
behavior::creation::tests::mounted_creation_keeps_actions_visible_and_renders_only_six_owner_candidates: test
|
||||
behavior::creation::tests::oa_process_and_sa_chain_keep_exact_names_root_ownership_and_one_history_entry: test
|
||||
behavior::creation::tests::optional_context_collapses_without_losing_authored_reference_or_raw_search: test
|
||||
behavior::creation::tests::owner_search_is_name_ordered_filtered_and_page_sized_not_a_catalog: test
|
||||
behavior::creation::tests::post_commit_selection_is_correlated_with_exact_created_behavior_and_view: test
|
||||
behavior::creation::tests::recovery_preserves_exact_raw_inputs_reserved_ids_and_revalidates_stale_owner: test
|
||||
behavior::creation::tests::rejected_source_transaction_keeps_draft_and_every_accepted_source_byte: test
|
||||
behavior::creation::tests::repeated_owner_names_remain_distinguishable_by_searchable_parent_context_and_alias: test
|
||||
behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand: test
|
||||
behavior::direct_canvas_tests::direct_bounds_change_during_held_drag_never_commits_old_slot: test
|
||||
behavior::direct_canvas_tests::direct_clicked_occurrence_capture_cancels_on_view_and_context_changes: test
|
||||
behavior::direct_canvas_tests::direct_context_escape_unfocus_and_pending_form_cancel_gestures: test
|
||||
behavior::direct_canvas_tests::direct_drag_and_click_click_use_ordered_sources_and_publish_once: test
|
||||
behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call: test
|
||||
behavior::direct_canvas_tests::direct_scroll_resize_and_bounds_changes_cancel_captured_slots: test
|
||||
behavior::direct_canvas_tests::direct_scrolled_canvas_maps_raw_pointer_events_to_the_visible_slot: test
|
||||
behavior::direct_canvas_tests::direct_selected_handle_reorders_and_hits_keep_semantic_identity: test
|
||||
behavior::direct_canvas_tests::reused_exchange_messages_display_their_distinct_occurrence_names: test
|
||||
behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages: test
|
||||
behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit: test
|
||||
behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys: test
|
||||
behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange: test
|
||||
behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically: test
|
||||
behavior::scenario::direct_tests::direct_busy_save_keeps_observed_scroll_current_for_the_next_pointer_gesture: test
|
||||
behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts: test
|
||||
behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history: test
|
||||
behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation: test
|
||||
behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values: test
|
||||
behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe: test
|
||||
behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree: test
|
||||
behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo: test
|
||||
behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands: test
|
||||
behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts: test
|
||||
behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use: test
|
||||
behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values: test
|
||||
behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call: test
|
||||
behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values: test
|
||||
behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker: test
|
||||
behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent: test
|
||||
behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange: test
|
||||
behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract: test
|
||||
behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction: test
|
||||
behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings: test
|
||||
behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_allocates_remaining_height_and_pins_actions_at_minimum_and_wide_sizes: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_caller_restores_actual_mounted_canvas_and_shelf_with_camera: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_canvas_and_form_scroll_survive_disclosures_focus_width_and_resize: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_fit_reobserves_same_sized_owner_and_document_changes: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_scroll_after_preselection: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_scaled_and_scrolled_scene_keeps_clicked_slots_and_message_endpoints: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_whole_app_canvas_tree_survives_pending_shelves_and_focus: test
|
||||
behavior::scenario_scroll::tests::direct_scenario_caller_restores_mounted_scroll_once_with_clamping_and_app_receipt: test
|
||||
behavior::scenario_scroll::tests::direct_scenario_restore_cannot_scroll_another_document_owner_or_process_view: test
|
||||
behavior::scenario_scroll::tests::direct_scroll_mounted_identity_resets_navigation_but_preserves_edits_before_first_report: test
|
||||
behavior::scenario_scroll::tests::direct_scroll_observer_reports_actual_initial_clamped_and_remounted_offsets_once: test
|
||||
behavior::scenario_scroll::tests::independent_process_owner_change_resets_actual_scroll_offsets: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_initial_essentials_fit_short_composed_host_with_real_paragraphs: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_long_parent_wraps_after_visible_name_without_losing_raw_data: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_visible_kind_click_keeps_choice_explicit_and_name_input_works: test
|
||||
behavior::state_canvas::tests::context_menu_keeps_window_anchor_and_explicit_placement_identity: test
|
||||
behavior::state_canvas::tests::context_tool_and_pending_form_changes_cancel_mutating_gestures: test
|
||||
behavior::state_canvas::tests::creation_uses_the_explicit_deepest_owner_and_never_a_fallback_ancestor: test
|
||||
behavior::state_canvas::tests::drag_uses_ordered_release_at_each_zoom_and_moves_descendants_in_one_undo: test
|
||||
behavior::state_canvas::tests::escape_and_view_switch_discard_the_armed_transition_source: test
|
||||
behavior::state_canvas::tests::internal_rows_and_pseudostate_hits_use_shared_persisted_geometry: test
|
||||
behavior::state_canvas::tests::ordered_stationary_click_does_not_move_on_later_motion_in_the_same_batch: test
|
||||
behavior::state_canvas::tests::pan_is_button_scoped_read_only_and_hover_does_not_reproject_the_scene: test
|
||||
behavior::state_canvas::tests::pseudostate_names_avoid_rightward_and_downward_routes_and_share_hit_bounds: test
|
||||
behavior::state_canvas::tests::relayout_does_not_turn_a_transition_click_into_a_drag_or_pan: test
|
||||
behavior::state_canvas::tests::selected_endpoint_reconnect_preserves_identity_and_requires_handle_motion: test
|
||||
behavior::state_canvas::tests::selection_relayout_does_not_move_nodes_or_change_drag_distance: test
|
||||
behavior::state_canvas::tests::stacked_symbol_names_avoid_each_other_and_are_independent_of_input_order: test
|
||||
behavior::state_canvas::tests::transition_supports_click_click_and_drag_without_coalesced_accidental_edges: test
|
||||
behavior::state_canvas::tests::typed_state_actions_are_named_selectable_rows_before_internal_transitions_and_regions: test
|
||||
behavior::state_canvas::tests::viewport_uses_full_canvas_coordinates_and_republishes_for_a_new_context: test
|
||||
behavior::state_edit::tests::an_empty_machine_has_an_explicit_visible_owner_for_first_region_creation: test
|
||||
behavior::state_edit::tests::connect_preserves_self_loops_and_rejects_hidden_or_incompatible_vertices: test
|
||||
behavior::state_edit::tests::creation_places_missing_ancestry_and_unfolds_existing_owners_atomically: test
|
||||
behavior::state_edit::tests::every_context_component_and_invalid_ownership_are_checked_before_planning: test
|
||||
behavior::state_edit::tests::placing_existing_content_and_moving_a_folded_group_preserve_other_views_and_semantics: test
|
||||
behavior::state_edit::tests::reconnect_preserves_the_complete_record_and_replaces_cardinality_in_place: test
|
||||
behavior::state_edit::tests::view_initializes_only_its_machine_in_one_source_and_model_history_entry: test
|
||||
behavior::states::tests::internal_choice_targets_self_and_edit_preserves_identity_and_description: test
|
||||
behavior::states::tests::invalid_pseudo_trigger_keeps_draft_and_does_not_create_orphan_event: test
|
||||
behavior::states::tests::selected_composite_owns_new_region_and_history_uses_selected_region: test
|
||||
behavior::states::tests::timeout_and_work_trigger_commit_together_roundtrip_and_undo: test
|
||||
behavior::tests::failed_document_commit_retains_typed_transition_and_time_event_for_repair: test
|
||||
behavior::tests::legacy_process_and_chain_keep_their_ordered_exchange_scene: test
|
||||
behavior::tests::one_behavior_form_survives_start_edit_and_unrelated_cancel_until_commit: test
|
||||
behavior::tests::recovery_preserves_distinct_qualified_value_paths_and_rejects_invalid_payload_atomically: test
|
||||
behavior::tests::recovery_retains_each_incomplete_behavior_form_without_executing_it: test
|
||||
behavior::tests::selecting_state_transition_keeps_its_behavior_context: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_deleted_transient_selection_does_not_seed_or_hide_retained_authored_endpoint: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_nested_preview_folds_only_the_exact_reference_instance: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_rejected_endpoint_keeps_exact_raw_intent_after_recovery: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_repeated_sources_remain_distinct_and_apply_has_exact_source_history: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_scope_paging_and_search_reach_tail_beyond_512_without_losing_endpoints: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_native_x_to_first_b_keeps_visible_arrow_above_background_and_clear_of_other_references: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_nested_visible_hidden_and_parallel_paths_keep_exact_addresses_and_legacy_routes: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_shared_anchor_preserves_selected_direct_reconnect_at_fit_and_full_scale: test
|
||||
behavior::topology::direct_tests::direct_process_append_preserves_existing_order_and_rejects_incompatible_exchange: test
|
||||
behavior::topology::direct_tests::direct_process_controls_allow_incomplete_work_and_preserve_branch_semantics: test
|
||||
behavior::topology::direct_tests::direct_process_empty_first_and_second_exchange_keep_the_same_interactive_renderer: test
|
||||
behavior::topology::direct_tests::direct_process_imported_order_is_projected_without_mutation_and_first_canvas_edit_is_atomic: test
|
||||
behavior::topology::direct_tests::direct_process_incompatible_imported_order_rejects_conversion_without_losing_draft: test
|
||||
behavior::topology::direct_tests::direct_process_nested_source_reopen_and_api_command_use_one_transaction: test
|
||||
behavior::topology::direct_tests::direct_process_oa_sa_repeated_occurrences_share_sources_and_split_one_guarded_link: test
|
||||
behavior::topology::direct_tests::direct_process_palette_preserves_fit_and_manual_camera: test
|
||||
behavior::topology::direct_tests::direct_process_pending_form_diff_retains_the_canvas_scroll_state: test
|
||||
behavior::topology::direct_tests::direct_process_production_click_click_drag_insert_and_scroll_coordinates: test
|
||||
behavior::topology::direct_tests::direct_process_production_endpoint_and_peer_reorder_handles_publish_exact_identity: test
|
||||
behavior::topology::direct_tests::direct_process_production_stale_focus_scroll_bounds_and_pending_cancel: test
|
||||
behavior::topology::direct_tests::direct_process_readable_default_fit_expansion_and_bounded_choices: test
|
||||
behavior::topology::direct_tests::direct_process_real_picker_stays_bounded_and_search_keeps_selection: test
|
||||
behavior::topology::direct_tests::direct_process_reconnect_delete_and_reorder_preserve_other_paths_and_sources: test
|
||||
behavior::topology::direct_tests::direct_process_reuse_preview_is_local_expandable_and_recursive_sources_are_rejected: test
|
||||
behavior::topology::direct_tests::direct_process_scaled_control_and_link_gestures_use_visible_positions: test
|
||||
behavior::topology::direct_tests::direct_process_specific_parallel_link_and_incompatible_adjacency: test
|
||||
behavior::topology::direct_tests::direct_process_three_ordered_exchanges_preserve_outer_paths_on_insertion: test
|
||||
behavior::topology::tests::cycle_projection_terminates_and_retains_actual_links: test
|
||||
behavior::topology::tests::empty_process_can_start_through_normal_authoring_events: test
|
||||
behavior::topology::tests::fitting_a_branch_keeps_all_nodes_visible_and_selection_uses_scaled_coordinates: test
|
||||
behavior::topology::tests::guarded_branch_is_one_transaction_with_distinct_source_identities: test
|
||||
behavior::topology::tests::insertion_picker_only_offers_work_matching_adjacent_exchanges: test
|
||||
behavior::topology::tests::legacy_branch_insertion_replaces_only_the_selected_implied_link: test
|
||||
behavior::topology::tests::legacy_edit_preserves_order_and_new_work_in_one_undo: test
|
||||
behavior::topology::tests::long_engineering_identifiers_stay_inside_label_width: test
|
||||
behavior::topology::tests::process_fit_canvas_selection_ignores_retained_ordered_page_scroll: test
|
||||
behavior::topology::tests::process_fit_disclosures_and_focus_preserve_rejected_raw_draft_and_accepted_source: test
|
||||
behavior::topology::tests::process_fit_uses_measured_height_and_reports_minimum_without_changing_manual_zoom: test
|
||||
behavior::topology::tests::reusable_preview_preserves_identity_and_filters_recursive_sources: test
|
||||
behavior::topology::tests::stale_or_invalid_submit_preserves_inputs_and_creates_nothing: test
|
||||
behavior::topology::tests::unlinked_contributions_do_not_gain_fictional_edges: test
|
||||
behavior::topology::view::layout_tests::direct_process_pending_editor_uses_available_height_and_keeps_actions_visible: test
|
||||
behavior::topology::view::layout_tests::process_fit_layout_disclosures_and_pending_editor_keep_real_manual_canvas_scroll: test
|
||||
behavior::topology::view::layout_tests::process_fit_layout_measures_remaining_canvas_with_details_forms_and_window_resize: test
|
||||
behavior::topology::view::layout_tests::process_fit_whole_app_focus_and_disclosures_retain_canvas_tree_with_pending_raw_form: test
|
||||
connection_edit::tests::cancel_navigation_revision_and_dirty_drafts_cannot_commit_a_stale_connection: test
|
||||
connection_edit::tests::visible_endpoint_drawing_commits_ports_and_exchange_once_with_exact_history: test
|
||||
connection_tool::tests::boundary_candidates_match_core_orientation_and_reject_same_owner_or_mixed_kind: test
|
||||
connection_tool::tests::boundary_feasibility_keeps_interface_warnings_and_final_carried_item_checks: test
|
||||
connection_tool::tests::boundary_feasibility_rejects_dangling_identity_in_a_malformed_element_map: test
|
||||
connection_tool::tests::direct_connections_share_exact_source_history_and_model_parity: test
|
||||
connection_tool::tests::explicit_function_ports_keep_owners_contracts_and_do_not_invent_carried_items: test
|
||||
connection_tool::tests::final_command_validation_rejects_invalid_models_without_mutation: test
|
||||
connection_tool::tests::function_cards_use_unique_reuse_and_atomic_generation_when_ambiguous: test
|
||||
connection_tool::tests::mismatched_port_owners_layers_and_contract_kinds_are_not_candidates: test
|
||||
connection_tool::tests::operational_communication_uses_participants_without_creating_ports: test
|
||||
connection_tool::tests::operational_interaction_targets_only_distinct_oa_activities: test
|
||||
context_menu::tests::a_new_context_token_cannot_reuse_the_previous_mouse_press_or_scroll: test
|
||||
context_menu::tests::actions_area_does_not_swallow_first_independent_click_after_overlay_consumed_its_release: test
|
||||
context_menu::tests::anchors_outside_the_window_and_nonfinite_input_stay_bounded: test
|
||||
context_menu::tests::clicking_disabled_or_dragging_off_an_action_never_executes_it: test
|
||||
context_menu::tests::coalesced_dismissal_release_does_not_swallow_the_next_independent_click: test
|
||||
context_menu::tests::empty_and_disabled_only_menus_still_capture_keys_and_escape_closes: test
|
||||
context_menu::tests::keyboard_skips_headers_separators_and_disabled_actions_and_invokes_once: test
|
||||
context_menu::tests::outside_dismissal_consumes_press_and_release_across_controlled_close: test
|
||||
context_menu::tests::reconstructed_overlay_uses_retained_layout_for_rows_and_hit_testing: test
|
||||
context_menu::tests::retained_overlay_layout_keeps_measured_width_and_scrollbar_after_reconstruction: test
|
||||
context_menu::tests::tall_menu_clamps_to_viewport_and_keyboard_wheel_and_scrollbar_reach_the_end: test
|
||||
data_values::tests::phase_choices_keep_reused_record_addresses_distinct: test
|
||||
data_values::tests::recursive_picker_starts_with_distinct_leaf_names_and_sorts_them: test
|
||||
data_values::tests::recursive_records_can_be_drilled_into_and_valid_imported_paths_resolve: test
|
||||
data_values::tests::reference_parameter_stops_descent_and_unspecified_direction_remains_visible: test
|
||||
data_values::tests::roots_and_one_hop_children_do_not_expand_unrelated_payload_branches: test
|
||||
data_view::tests::allocation_rows_edit_relationship_identity_and_remove_only_that_allocation: test
|
||||
data_view::tests::association_creation_is_a_separate_relation_with_editable_end_contracts: test
|
||||
data_view::tests::browsing_pages_preserves_invalid_numeric_draft_and_inherited_allocation_identity: test
|
||||
data_view::tests::contextual_data_actions_use_typed_defaults_and_one_undo: test
|
||||
data_view::tests::large_inherited_dictionary_has_bounded_widgets_and_every_original_field_is_reachable: test
|
||||
diagnostic_input::tests::already_captured_terminal_cancels_child_without_activation_or_lingering_press: test
|
||||
diagnostic_input::tests::captured_terminal_cancellation_preserves_same_publication_focusable_child_state: test
|
||||
diagnostic_input::tests::current_primary_and_related_mouse_clicks_survive_same_publication_diff: test
|
||||
diagnostic_input::tests::current_touch_activates_primary_and_related_and_cancel_does_not_activate: test
|
||||
diagnostic_input::tests::fresh_mouse_press_after_missing_stale_release_can_activate_current_row: test
|
||||
diagnostic_input::tests::hidden_zero_height_scroller_delivers_cancelled_mouse_and_touch_terminals_to_guard: test
|
||||
diagnostic_input::tests::hidden_zero_size_list_consumes_release_outside_old_bounds_once: test
|
||||
diagnostic_input::tests::missed_press_is_ignored_and_dragging_release_outside_does_not_activate: test
|
||||
diagnostic_input::tests::negative_control_iced_button_retargets_a_press_after_plain_tree_diff: test
|
||||
diagnostic_input::tests::negative_control_plain_focusable_row_migrates_activation_to_replacement: test
|
||||
diagnostic_input::tests::negative_control_removing_unguarded_rows_exposes_background_release: test
|
||||
diagnostic_input::tests::outer_scroll_offset_survives_same_and_changed_publications: test
|
||||
diagnostic_input::tests::replaced_primary_and_related_rows_consume_stale_release_then_accept_new_click: test
|
||||
diagnostic_input::tests::replaced_touch_consumes_lift_or_cancel_even_when_hidden: test
|
||||
diagnostic_input::tests::same_publication_missing_terminal_recovers_on_fresh_mouse_or_touch_down: test
|
||||
diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame: test
|
||||
diagnostic_input::tests::same_publication_preserves_focus_but_replacement_never_inherits_activation: test
|
||||
diagnostic_input::tests::stale_release_does_not_bubble_to_real_background_controls: test
|
||||
diagnostic_input::tests::stale_touch_release_does_not_disarm_a_new_current_gesture: test
|
||||
diagnostic_input::tests::unrelated_finger_or_mouse_release_cannot_complete_another_fingers_press: test
|
||||
diagram::lifecycle_tests::menu_reset_and_draw_use_fresh_open_context: test
|
||||
diagram::lifecycle_tests::middle_and_arrow_panning_preserve_source_and_history: test
|
||||
diagram::lifecycle_tests::motion_after_release_must_not_move_clicked_port: test
|
||||
diagram::lifecycle_tests::motion_after_source_click_release_must_not_create_connection: test
|
||||
diagram::pointer_tests::coalesced_fe_ports_commit_once_through_app_and_source_history: test
|
||||
diagram::pointer_tests::coalesced_port_drag_commits_once_through_app_and_source_history: test
|
||||
diagram::pointer_tests::drag_from_already_selected_stationary_port_keeps_source_between_batches: test
|
||||
diagram::pointer_tests::menu_captured_motion_must_not_turn_following_click_into_old_port_drag: test
|
||||
diagram::pointer_tests::modal_and_stale_epoch_block_queued_connection_and_port_commits: test
|
||||
diagram::port_hit_tests::coincident_ports_keep_selection_then_use_stable_identity: test
|
||||
diagram::port_hit_tests::nearest_port_center_wins_on_all_borders_and_zoom_levels: test
|
||||
diagram::port_hit_tests::nested_owner_palette_selection_drag_and_context_menu_pick_the_same_port: test
|
||||
diagram::port_labels::tests::leaving_and_reentering_keeps_suppression_until_each_held_button_releases: test
|
||||
diagram::port_labels::tests::menu_epoch_clears_suppression_when_the_overlay_consumes_release: test
|
||||
diagram::port_labels::tests::outside_presses_do_not_suppress_and_cancel_or_focus_loss_clear_held_buttons: test
|
||||
diagram::port_labels::tests::passive_layer_leaves_port_drag_selection_and_commit_with_the_interactive_canvas: test
|
||||
diagram::tests::association_end_contracts_share_svg_geometry_and_select_without_moving_name_label: test
|
||||
diagram::tests::bend_gestures_use_screen_hit_radius_and_commit_one_undo_at_three_zooms: test
|
||||
diagram::tests::coincident_line_hit_retains_the_selected_connection: test
|
||||
diagram::tests::connection_gestures_pick_real_ports_and_commit_coalesced_drag_at_every_zoom: test
|
||||
diagram::tests::detached_label_selects_connection_and_occluding_card_owns_its_hit: test
|
||||
diagram::tests::dragging_a_child_previews_the_same_enclosure_and_ports_as_commit: test
|
||||
diagram::tests::fast_drags_commit_the_release_cursor_without_a_final_motion_event: test
|
||||
diagram::tests::implicit_port_click_selects_semantics_and_drag_preview_svg_share_anchors: test
|
||||
diagram::tests::route_cache_ignores_pan_zoom_and_cancelled_drag_cannot_commit: test
|
||||
diagram::tests::routed_svg_has_same_polyline_label_and_bounds_as_canvas_scene: test
|
||||
diagram::tests::svg_distinguishes_inferred_work_allocation_from_direct_allocation: test
|
||||
diagram::tests::svg_preserves_visible_exchange_labels_and_capability_stereotypes: test
|
||||
diagram::tests::typed_function_glyphs_and_unoriented_standard_connections_have_distinct_svg: test
|
||||
diagram::view_options_tests::communication_svg_uses_saved_visibility_labels_and_direction: test
|
||||
document::alias_rename::tests::each_identity_family_changes_only_authored_alias_roles_and_one_history_entry: test
|
||||
document::alias_rename::tests::equal_bytes_undo_replay_cross_document_and_exhausted_revision_refuse: test
|
||||
document::alias_rename::tests::exact_history_capacity_admits_immediate_undo_and_rejects_larger_candidate: test
|
||||
document::alias_rename::tests::highlighted_keyword_alias_is_valid_without_normalizing_input: test
|
||||
document::alias_rename::tests::invalid_and_identical_aliases_preserve_live_state_and_redo: test
|
||||
document::alias_rename::tests::mint_and_commit_refuse_exhausted_or_inconsistent_live_history_estimate: test
|
||||
document::alias_rename::tests::mutable_public_preview_copies_cannot_change_prepared_authority: test
|
||||
document::alias_rename::tests::preview_retains_latest_saved_baseline_and_recovery_state: test
|
||||
document::save_as_tests::save_as_preserves_explicit_source_entry_changes_in_history: test
|
||||
document::save_as_tests::save_as_rebases_uniform_history_without_an_undo_step_or_lost_redo: test
|
||||
document::save_as_tests::save_as_rejects_included_filename_collisions_in_past_and_future_without_mutation: test
|
||||
document::save_as_tests::save_as_rejects_stale_or_content_changing_receipt_atomically: test
|
||||
document::tests::accepted_history_keeps_the_latest_hundred_complete_snapshots: test
|
||||
document::tests::altered_compiled_model_or_index_is_rejected_without_mutation: test
|
||||
document::tests::asynchronous_save_marks_its_snapshot_without_cleaning_later_edits: test
|
||||
document::tests::byte_budget_trims_oldest_history_without_discarding_a_large_current: test
|
||||
document::tests::cached_view_index_tracks_accepted_creation_undo_and_redo: test
|
||||
document::tests::comment_and_semantic_history_restore_exact_bytes_and_branch_together: test
|
||||
document::tests::creation_selects_the_single_uuid_persisted_in_source: test
|
||||
document::tests::invalid_project_is_rejected_before_format_can_normalize_it: test
|
||||
document::tests::nested_cross_file_reparent_and_source_edit_share_exact_history: test
|
||||
document::tests::no_op_command_or_source_apply_preserves_history_revision_and_redo: test
|
||||
document::tests::omitted_id_stabilization_remains_dirty_until_exact_source_is_saved: test
|
||||
document::tests::recreated_equal_record_does_not_inherit_deleted_source_ownership: test
|
||||
document::tests::rejected_compile_command_and_writeback_preserve_state_and_redo: test
|
||||
explorer::tests::collapse_and_search_retain_context_without_changing_collapse_state: test
|
||||
explorer::tests::deep_containment_and_search_keep_the_full_path_without_recursion: test
|
||||
explorer::tests::equal_names_have_stable_alias_and_identity_tie_breakers: test
|
||||
explorer::tests::perspective_isolation_and_allocations_do_not_change_containment: test
|
||||
explorer::tests::prefix_names_cannot_separate_a_parent_from_its_children: test
|
||||
forms::data_fields::tests::defaults_distinguish_absent_empty_and_typed_literals_with_escaped_unicode: test
|
||||
forms::data_fields::tests::field_browser_pages_every_direct_field_without_flattening_other_records: test
|
||||
forms::data_fields::tests::independent_review_combined_take_type_informs_actual_default_form_in_both_directions: test
|
||||
forms::data_fields::tests::numeric_bound_drafts_keep_partial_and_full_precision_values_out_of_accepted_state: test
|
||||
forms::data_fields::tests::selecting_qualified_path_preserves_expression_typed_before_the_next_render: test
|
||||
forms::data_fields::tests::semantic_reference_choices_follow_selected_mechanism_and_revert_on_keep: test
|
||||
forms::data_fields::tests::supertype_picker_excludes_descendants_and_keeps_original_inherited_field_identity: test
|
||||
forms::history_fields::tests::history_absent_baseline_and_empty_history_use_explicit_facts_and_exact_document_history: test
|
||||
forms::history_fields::tests::history_clear_discards_inactive_invalid_constructors_before_reusing_the_same_row: test
|
||||
forms::history_fields::tests::history_compound_value_and_constructor_variants_are_editable_without_live_context: test
|
||||
forms::history_fields::tests::history_deleted_keys_and_observation_uuids_remain_exact_and_duplicate_history_rejects: test
|
||||
forms::history_fields::tests::history_every_descriptor_fact_choice_matches_actual_closed_types_and_source_contract: test
|
||||
forms::history_fields::tests::history_exact_strings_do_not_confuse_uuid_shaped_prose_or_literal_keys_with_references: test
|
||||
forms::history_fields::tests::history_invalid_numbers_survive_constructor_switch_reorder_removal_and_recovery: test
|
||||
forms::history_fields::tests::history_missing_semantic_field_can_be_added_and_removed_without_touching_prose_or_live_objects: test
|
||||
forms::history_fields::tests::history_nested_optional_number_events_switch_absent_present_and_recover_invalid_raw: test
|
||||
forms::history_fields::tests::history_nested_uuid_and_list_events_preserve_present_values_and_tagged_item_branches: test
|
||||
forms::history_fields::tests::history_optional_uuid_and_text_seed_absence_without_inventing_observations: test
|
||||
forms::history_fields::tests::history_primitive_type_choices_remain_visible_inside_the_tagged_union: test
|
||||
forms::history_fields::tests::history_retained_text_constructors_follow_exact_mode_without_changing_the_observation: test
|
||||
forms::port_fields::tests::all_demo_records_roundtrip_through_graphical_and_escaped_string_drafts: test
|
||||
forms::port_fields::tests::boundary_choices_honor_draft_direction_same_kind_and_direct_interface_items: test
|
||||
forms::port_fields::tests::contract_choices_follow_owner_and_never_offer_legacy_or_oa_typed_ports: test
|
||||
forms::port_fields::tests::failed_shape_keeps_incomplete_text_and_saved_contract_payloads: test
|
||||
forms::port_fields::tests::functional_endpoints_require_owner_direction_and_items_but_retain_bad_current_choice: test
|
||||
forms::port_fields::tests::interface_roles_offer_participants_and_component_ports_independent_of_orientation: test
|
||||
forms::port_fields::tests::port_allocation_choices_use_actual_owner_direction_and_ignore_edited_relation: test
|
||||
forms::port_fields::tests::standard_switch_retains_incompatible_orientation_until_explicit_repair: test
|
||||
forms::port_fields::tests::switching_function_direction_preserves_invalid_items_and_each_authored_payload: test
|
||||
forms::tests::data_and_port_choices_are_typed_but_retain_invalid_current_values: test
|
||||
forms::tests::editing_allocation_offers_other_performers_without_counting_itself_twice: test
|
||||
forms::tests::moving_placement_and_changing_identity_is_one_lossless_undoable_edit: test
|
||||
forms::tests::parent_choices_reject_cycles_without_removing_clear_or_current_choice: test
|
||||
forms::tests::reply_and_reuse_forms_offer_semantically_compatible_references: test
|
||||
forms::tests::scenario_choices_respect_owner_and_exchange_layer: test
|
||||
forms::tests::semantic_port_group_choices_use_combined_owner_and_retain_invalid_transferred_items: test
|
||||
forms::tests::shared_perspective_change_keeps_payload_and_rejects_incompatible_dependencies: test
|
||||
forms::tests::state_observation_picker_keeps_work_lifelines_allocated_to_machine_owner: test
|
||||
forms::tests::state_placement_form_uses_draft_destination_membership_without_changing_other_views: test
|
||||
forms::tests::state_projection_form_keeps_string_variants_and_requires_a_typed_context: test
|
||||
forms::view_fields::tests::category_family_change_retains_members_until_explicit_correction: test
|
||||
forms::view_fields::tests::selective_view_property_apply_recovery_and_undo_preserve_semantics_and_empty_choices: test
|
||||
guide::tests::filtering_and_related_navigation_keep_selection_visible: test
|
||||
guide::tests::guide_topic_navigation_resets_only_article_and_same_topic_search_keeps_scroll: test
|
||||
guide::tests::search_finds_concepts_in_walkthroughs_and_api_reference: test
|
||||
home::tests::corrupt_future_and_oversized_history_are_preserved_with_usable_session_history: test
|
||||
home::tests::failed_metadata_replace_keeps_previous_history_and_reports_memory_only_entry: test
|
||||
home::tests::first_and_replaced_metadata_are_parseable_and_contain_no_model_bytes: test
|
||||
home::tests::forgotten_and_missing_files_never_change_the_model_or_other_entries: test
|
||||
home::tests::loading_missing_history_does_not_create_files_or_directories: test
|
||||
home::tests::malformed_entries_and_unknown_fields_never_become_open_requests: test
|
||||
home::tests::successful_local_history_is_bounded_ordered_deduplicated_and_durable: test
|
||||
home::tests::unavailable_location_can_reappear_on_refresh_without_losing_identity: test
|
||||
home::tests::walkthrough_uses_packaged_bundle_before_development_and_reports_missing_assets: test
|
||||
hosted::client::tests::hosted_endpoint_validation_redacts_secrets_and_preserves_proxy_paths: test
|
||||
hosted::client::tests::hosted_lost_publication_response_is_uncertain_without_retry: test
|
||||
hosted::client::tests::hosted_open_rejects_incoherent_envelopes_missing_etags_and_unstable_ids: test
|
||||
hosted::client::tests::hosted_oversized_local_bundle_is_rejected_before_network_admission: test
|
||||
hosted::client::tests::hosted_production_auth_proxy_prefix_and_located_rejection: test
|
||||
hosted::client::tests::hosted_production_roundtrip_preserves_comments_noops_and_conflicts: test
|
||||
hosted::client::tests::hosted_publication_race_keeps_receipt_identity_for_review: test
|
||||
hosted::client::tests::hosted_publication_retains_known_resource_after_failed_followup: test
|
||||
hosted::client::tests::hosted_put_preserves_an_opaque_etag_and_compiles_the_accepted_bundle: test
|
||||
hosted::client::tests::hosted_redirect_is_not_followed_or_retried_and_problem_tokens_are_redacted: test
|
||||
hosted::client::tests::hosted_response_limits_cover_declared_and_chunked_bodies: test
|
||||
hosted::client::tests::hosted_structured_mutation_failures_distinguish_precommit_rejections: test
|
||||
hosted::client::tests::hosted_timeout_and_disconnect_leave_mutation_outcomes_explicit: test
|
||||
model_menu::tests::add_bend_here_uses_context_point_and_one_source_aware_history_change: test
|
||||
model_menu::tests::late_menu_actions_do_not_dismiss_new_menu_or_cross_view_context: test
|
||||
model_menu::tests::menu_preserves_pending_properties_and_rejects_delayed_mutations: test
|
||||
model_menu::tests::pending_source_allows_file_navigation_but_disables_model_actions: test
|
||||
model_menu::tests::right_click_targets_actor_without_changing_selection_until_action: test
|
||||
model_menu::tests::show_from_explorer_places_unfolds_and_keeps_semantic_selection: test
|
||||
model_menu::tests::state_menu_folds_and_hides_only_its_captured_placement_and_rejects_stale_views: test
|
||||
model_menu::tests::state_menu_keeps_typed_creation_reachable_and_preserves_pending_properties: test
|
||||
navigation::tests::semantic_browser_finds_behavior_users_without_confusing_containment: test
|
||||
port_edit::tests::all_border_drags_commit_exact_preview_and_restore_automatic_anchors_in_history: test
|
||||
port_edit::tests::graphical_port_reparent_clears_old_anchors_in_the_same_history_operation: test
|
||||
port_preview::tests::functional_creation_identifies_new_and_reused_endpoints_and_owners: test
|
||||
port_preview::tests::legacy_split_discloses_endpoint_routing_item_origins_and_retained_evidence: test
|
||||
port_preview::tests::reused_boundary_shows_item_union_and_existing_allocating_facts: test
|
||||
port_preview::tests::synchronization_preview_exposes_contract_shrinkage_and_current_declaration_origin: test
|
||||
port_workflow::recovery_tests::port_recovery_retains_authored_contract_and_identity_but_rebuilds_preview: test
|
||||
port_workflow::tests::creating_typed_port_and_rejecting_stale_preview_preserve_drafts_and_identity: test
|
||||
port_workflow::tests::graphical_function_exchange_and_component_generation_commit_and_undo_whole_contracts: test
|
||||
port_workflow::tests::legacy_resolution_preserves_original_record_and_applies_as_one_undo: test
|
||||
port_workflow::tests::port_creation_keeps_owner_diagram_and_unfolds_in_the_same_undo: test
|
||||
port_workflow::tests::synchronization_uses_active_contract_instead_of_preserved_direction: test
|
||||
recovery::source5::tests::source5_fingerprint_preserves_historical_field_order_and_diagram_shape: test
|
||||
recovery::source5_tests::source4_checkpoint_remains_explicitly_unsupported_without_touching_disk: test
|
||||
recovery::source5_tests::source5_checkpoint_does_not_refresh_unrelated_clean_buffer_baseline: test
|
||||
recovery::source5_tests::source5_checkpoint_missing_identity_is_not_a_lossless_upgrade: test
|
||||
recovery::source5_tests::source5_checkpoint_old_diagram_property_shape_remains_editable: test
|
||||
recovery::source5_tests::source5_checkpoint_port_draft_replans_and_rejects_stale_base: test
|
||||
recovery::source5_tests::source5_checkpoint_preserves_dirty_invalid_text_and_baseline_exactly: test
|
||||
recovery::source5_tests::source5_checkpoint_preserves_distinct_unapplied_open_workspace: test
|
||||
recovery::source5_tests::source5_checkpoint_property_preserves_invalid_raw_input: test
|
||||
recovery::source5_tests::source5_checkpoint_upgrade_never_rewrites_checkpoint_or_origin: test
|
||||
recovery::source5_tests::source5_checkpoint_upgrades_only_header_and_clean_editor_baseline: test
|
||||
recovery::source5_tests::source5_checkpoint_workflow_rebinds_only_the_proven_old_revision: test
|
||||
recovery::source7_tests::source7_current_combined_contextual_and_operation_drafts_survive_without_execution: test
|
||||
recovery::source7_tests::source7_explicit_new_fields_cannot_enter_frozen_old_model_profiles: test
|
||||
recovery::source7_tests::source7_legacy_inactive_constructor_path_is_structural_but_raw_prose_is_not: test
|
||||
recovery::source7_tests::source7_legacy_profile_workflow_and_semantic_drafts_replan_with_exact_base: test
|
||||
recovery::source7_tests::source7_legacy_profiles_preserve_dirty_source_property_and_behavior_raw_fields: test
|
||||
recovery::source7_tests::source7_legacy_structural_intent_rejects_even_null_but_never_scans_raw_strings: test
|
||||
recovery::source7_tests::source7_legacy_view_selector_refuses_new_relation_kind_without_rewriting_checkpoint: test
|
||||
recovery::source7_tests::source7_recovers_nonempty_frozen_5_and_6_profiles_with_exact_historical_binding: test
|
||||
recovery::tests::altered_accepted_identity_and_unrecognized_raw_property_fields_reject: test
|
||||
recovery::tests::exact_source_and_unfinished_invalid_buffers_restore_without_model_overwrite: test
|
||||
recovery::tests::excess_retained_buffers_cannot_replace_the_last_recoverable_checkpoint: test
|
||||
recovery::tests::invalid_open_retains_distinct_accepted_model_and_repair_workspace: test
|
||||
recovery::tests::missing_includes_remain_reachable_repair_targets_without_fabricated_buffers: test
|
||||
recovery::tests::multiple_sessions_replace_only_their_own_checkpoint_and_corruption_is_retained: test
|
||||
recovery::tests::raw_invalid_property_number_survives_and_stays_rejected_until_repaired: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_draft_cannot_target_an_unreserved_or_non_artifact_identity: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_raw_variants_duplicate_addresses_and_unknown_fields_are_refused: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_reservations_cannot_duplicate_or_claim_an_existing_identity_or_another_owner: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::legitimate_invalid_artifact_checkpoint_round_trips_and_prepares_only_after_explicit_repair: test
|
||||
semantic_review::artifacts_tests::artifact_candidate_is_a_complete_record_not_a_tombstone_or_unattached_creation_shortcut: test
|
||||
semantic_review::artifacts_tests::artifact_creation_and_identified_source_deletion_follow_core_metadata_and_history_boundary_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_gui_reserves_recovers_and_creates_only_after_all_seven_metadata_reviews_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_metadata_apply_and_exact_history_reset_are_one_source_preserving_undo_redo: test
|
||||
semantic_review::artifacts_tests::artifact_move_metadata_none_empty_and_invalid_raw_recovery_are_independent_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_moved_source_absence_deletes_but_destination_only_take_retains_both_directions: test
|
||||
semantic_review::attachments::tests::absent_attachment_payloads_migrate_v1_and_v2_and_source5_upgrade_requires_exact_legacy_base: test
|
||||
semantic_review::attachments::tests::addressed_attachment_candidates_equal_direct_core_oracle_both_directions: test
|
||||
semantic_review::attachments::tests::attachment_apply_is_one_exact_source_and_history_undo_redo: test
|
||||
semantic_review::attachments::tests::attachment_candidate_and_direct_record_keep_conflict_on_actual_slot_without_losing_drafts: test
|
||||
semantic_review::attachments::tests::attachment_pair_drafts_survive_family_switch_and_restore_without_mutating_model: test
|
||||
semantic_review::attachments::tests::functional_incident_source_requires_explicit_matching_port_review_in_one_atomic_candidate: test
|
||||
semantic_review::attachments::tests::parent_and_each_endpoint_candidate_preserve_other_fields_and_match_core_both_directions: test
|
||||
semantic_review::attachments::tests::raw_rejected_attachment_reference_survives_recovery_and_wrong_scope_is_rejected: test
|
||||
semantic_review::attachments::tests::source_only_absence_and_explicit_absent_endpoint_are_different: test
|
||||
semantic_review::attachments::tests::two_incident_endpoint_candidates_form_one_complete_record_and_recover_invalid_excluded_draft: test
|
||||
semantic_review::batch_tests::batch_apply_is_one_exact_source_and_history_undo_redo_roundtrip: test
|
||||
semantic_review::batch_tests::batch_candidate_conflict_keeps_both_raw_values_and_keep_is_a_real_constraint: test
|
||||
semantic_review::batch_tests::batch_complete_constructor_cannot_erase_another_rows_new_literal: test
|
||||
semantic_review::batch_tests::batch_constructor_retirement_conflicts_with_another_rows_kept_bound_in_both_orders: test
|
||||
semantic_review::batch_tests::batch_delayed_text_targets_its_original_row_and_facet_without_switching_focus: test
|
||||
semantic_review::batch_tests::batch_excluded_invalid_row_survives_focus_reopen_and_v2_recovery: test
|
||||
semantic_review::batch_tests::batch_first_equal_constructor_acknowledgement_allows_an_independent_bound: test
|
||||
semantic_review::batch_tests::batch_joint_bounds_use_one_candidate_and_match_an_independent_atomic_core_oracle: test
|
||||
semantic_review::batch_tests::batch_reverse_distinct_targets_work_and_reverse_convergence_is_explicit: test
|
||||
semantic_review::batch_tests::batch_v2_rejects_duplicate_included_sources_bad_addresses_and_stale_model: test
|
||||
semantic_review::batch_tests::category_family_and_members_are_independent_core_checked_facets_both_directions: test
|
||||
semantic_review::batch_tests::recovered_trace_picker_names_existing_trace_instead_of_deleted_reference: test
|
||||
semantic_review::batch_tests::rejected_direction_switch_at_row_limit_preserves_every_recoverable_draft: test
|
||||
semantic_review::compose::diagnostic_tests::distinct_review_conflict_keeps_trace_aliases_even_when_names_are_equal: test
|
||||
semantic_review::compose::diagnostic_tests::reserved_creation_conflict_uses_its_rows_seed_instead_of_a_deleted_reference: test
|
||||
semantic_review::compose::diagnostic_tests::same_review_presence_and_owner_conflict_names_both_facets_and_owners_and_retains_drafts: test
|
||||
semantic_review::compose::diagnostic_tests::typed_owner_display_does_not_reinterpret_uuid_shaped_artifact_text: test
|
||||
semantic_review::constructor_tests::closed_data_and_event_take_composition_matches_core_across_every_kind_pair_and_direction: test
|
||||
semantic_review::constructor_tests::data_group_candidates_cover_every_definition_and_companion_default_both_directions: test
|
||||
semantic_review::constructor_tests::data_group_retains_invalid_sibling_drafts_companion_default_and_variant_editor_buffers: test
|
||||
semantic_review::constructor_tests::exchange_constructor_takes_qualified_annotation_addresses_without_remapping_expression_text: test
|
||||
semantic_review::constructor_tests::existing_fragment_and_branch_group_candidates_edit_complete_owned_order_without_deletion: test
|
||||
semantic_review::constructor_tests::group_take_reference_payload_and_scalar_candidate_match_core_and_one_document_batch: test
|
||||
semantic_review::constructor_tests::historical_event_keep_retires_only_obsolete_branch_and_unchanged_kind_acknowledges_no_payload: test
|
||||
semantic_review::constructor_tests::historical_same_kind_take_preserves_target_only_literals_when_composed_with_candidate: test
|
||||
semantic_review::constructor_tests::occurrence_and_event_candidate_variants_cover_closed_families_without_touching_headers: test
|
||||
semantic_review::constructor_tests::outer_and_nested_constructor_candidates_require_explicit_resolution_and_retain_both_drafts: test
|
||||
semantic_review::constructor_tests::port_group_companions_typed_owner_context_and_direction_restrictions_are_explicit: test
|
||||
semantic_review::constructor_tests::reverse_existing_typed_port_reviews_keep_or_candidate_legacy_without_permitting_typed_oa_write: test
|
||||
semantic_review::constructor_tests::scenario_use_group_takes_typed_binding_references_and_preserves_source_text_both_directions: test
|
||||
semantic_review::keyed_rows_tests::annotation_address_browser_descends_qualified_fields_without_changing_rows: test
|
||||
semantic_review::keyed_rows_tests::annotation_observations_keep_uuid_shaped_expression_text_in_both_sides_and_history: test
|
||||
semantic_review::keyed_rows_tests::batch_keyed_rows_compare_exact_target_slots_and_retain_independent_values: test
|
||||
semantic_review::keyed_rows_tests::binding_choices_separate_reused_keys_from_local_lifelines: test
|
||||
semantic_review::keyed_rows_tests::binding_local_picker_follows_a_candidate_parent_before_the_review_is_valid: test
|
||||
semantic_review::keyed_rows_tests::binding_take_requires_local_correspondence_and_candidate_rejects_wrong_scenario: test
|
||||
semantic_review::keyed_rows_tests::independent_rows_keep_take_candidate_match_core_and_preserve_siblings_both_directions: test
|
||||
semantic_review::keyed_rows_tests::keyed_recovery_retains_raw_rows_and_staged_pairs_both_directions_without_applying: test
|
||||
semantic_review::keyed_rows_tests::keyed_row_drafts_retain_expression_local_and_presence_across_decisions_and_staging: test
|
||||
semantic_review::keyed_rows_tests::keyed_rows_distinguish_unpaired_source_from_explicit_absence_and_require_exact_reset: test
|
||||
semantic_review::keyed_rows_tests::multiple_new_rows_compose_in_empty_collections_using_destination_key_order: test
|
||||
semantic_review::keyed_rows_tests::row_review_apply_preserves_exact_source_and_semantic_history_through_undo_redo: test
|
||||
semantic_review::keyed_tests::deleted_member_source_observation_removes_only_mapped_membership_both_directions: test
|
||||
semantic_review::keyed_tests::exact_literal_new_rows_and_removals_commit_both_directions_without_default_loss: test
|
||||
semantic_review::keyed_tests::exact_reset_only_is_one_history_source_transaction_and_undo_redo_both_directions: test
|
||||
semantic_review::keyed_tests::function_port_members_use_existing_typed_choices_and_preserve_oa_legacy: test
|
||||
semantic_review::keyed_tests::historical_one_sided_pair_migration_requires_exact_reset_and_explicit_overlap_resolution: test
|
||||
semantic_review::keyed_tests::invalid_literal_removal_and_unselected_scalar_buffers_are_retained_and_repairable: test
|
||||
semantic_review::keyed_tests::member_identity_labels_and_new_tabs_preserve_exact_names_and_deleted_keys: test
|
||||
semantic_review::keyed_tests::reset_precedes_equal_constructor_candidate_and_preserves_independent_literal_draft: test
|
||||
semantic_review::keyed_tests::staging_removal_and_obsolete_reset_recovery_keep_other_decisions_and_raw_presence: test
|
||||
semantic_review::keyed_tests::stale_or_source_failed_reset_and_membership_apply_retain_exact_choices: test
|
||||
semantic_review::keyed_tests::unordered_members_keep_take_candidate_preserve_other_rows_both_directions: test
|
||||
semantic_review::keyed_tests::unsupported_independent_families_and_missing_identities_do_not_gain_edit_authority: test
|
||||
semantic_review::message_kind_tests::message_group_candidate_closed_kinds_are_core_validated_in_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_candidate_timer_switches_preserve_both_drafts_and_overlap_is_explicit: test
|
||||
semantic_review::message_kind_tests::message_group_initial_equal_take_acknowledges_only_kind_and_checks_authored_timer_agreement: test
|
||||
semantic_review::message_kind_tests::message_group_keep_historical_switch_retires_timer_and_completed_no_switch_rejects: test
|
||||
semantic_review::message_kind_tests::message_group_rejects_protected_edits_stale_plan_and_source_failure_without_losing_timer: test
|
||||
semantic_review::message_kind_tests::message_group_reply_and_reference_take_require_explicit_call_mapping_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_take_full_timer_and_scalar_candidate_are_one_source_history_change_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_timer_does_not_erase_exchange_without_its_own_selected_decision: test
|
||||
semantic_review::ordered_tests::ambiguous_order_preserves_local_member_and_requires_explicit_candidate_positions: test
|
||||
semantic_review::ordered_tests::historical_pair_restore_uses_exact_member_keys_and_never_zips_order_observations: test
|
||||
semantic_review::ordered_tests::order_take_preserves_destination_only_positions_and_order_alone_cannot_add_members: test
|
||||
semantic_review::ordered_tests::ordered_membership_choices_stage_exact_pairs_in_all_owner_shapes: test
|
||||
semantic_review::ordered_tests::ordered_presence_keep_take_candidate_remove_only_selected_entry_and_order_take_reorders_only: test
|
||||
semantic_review::ordered_tests::ordered_review_apply_is_exact_source_history_transaction_with_reopen_and_undo_redo: test
|
||||
semantic_review::ordered_tests::ordered_take_uses_unique_anchors_and_matches_core_with_unrelated_candidate_both_directions: test
|
||||
semantic_review::ordered_tests::raw_order_survives_membership_changes_decisions_and_recovery_until_explicit_reconcile: test
|
||||
semantic_review::ordered_tests::several_incoming_members_follow_source_order_despite_independent_identity_sorting: test
|
||||
semantic_review::recovery::tests::raw_scalar_and_closed_constructor_drafts_recover_against_exact_model_only: test
|
||||
semantic_review::recovery::tests::version_one_without_orders_restores_raw_intent_and_replans_without_execution: test
|
||||
semantic_review::source7_tests::contextual_incident_leaf_keep_allows_path_change_but_conflicts_with_changed_leaf_both_directions: test
|
||||
semantic_review::source7_tests::reverse_operation_omission_gui_requires_raw_rationale_and_matches_one_core_batch_after_recovery: test
|
||||
semantic_review::source7_tests::semantic_operation_virtual_none_candidate_uses_exact_allocation_and_preserves_accepted_bytes: test
|
||||
semantic_review::tests::candidate_mixed_with_reference_take_uses_typed_correspondence_not_text_guessing: test
|
||||
semantic_review::tests::deselected_invalid_candidate_is_retained_but_does_not_poison_another_selected_scalar: test
|
||||
semantic_review::tests::explicit_trace_selection_updates_only_that_history: test
|
||||
semantic_review::tests::first_equal_constructor_acknowledges_only_kind_and_allows_independent_leaves: test
|
||||
semantic_review::tests::independent_review_clear_bound_ignores_retained_invalid_other_facet: test
|
||||
semantic_review::tests::independent_review_keyed_fact_titles_keep_live_deleted_and_qualified_identity: test
|
||||
semantic_review::tests::inherited_annotation_impact_requires_exact_acceptance_and_edits_clear_approval: test
|
||||
semantic_review::tests::invalid_numeric_draft_and_protected_edits_retain_workflow_and_source: test
|
||||
semantic_review::tests::read_only_structured_facts_and_partial_rollup_are_honest: test
|
||||
semantic_review::tests::relation_candidates_preserve_endpoints_and_combine_selected_roles_and_bounds: test
|
||||
semantic_review::tests::scalar_keep_take_candidate_commit_exact_source_and_history_in_both_directions: test
|
||||
semantic_review::tests::scoped_literal_list_edits_preserve_unfinished_values_and_other_facet_buffers: test
|
||||
semantic_review::tests::stale_plan_and_source_writeback_failure_do_not_lose_decisions_or_history: test
|
||||
semantic_review::tests::state_kind_scalar_uses_typed_candidate_and_core_validation: test
|
||||
semantic_review::view::reserved_artifact_tests::reserved_artifact_facet_and_reference_labels_survive_recovery_without_calling_it_deleted: test
|
||||
source_navigation::interaction::tests::captured_find_click_invalidates_without_app_message_and_preserves_focus: test
|
||||
source_navigation::interaction::tests::focus_rechecks_clock_between_inspection_and_application_and_missing_target_is_inert: test
|
||||
source_navigation::interaction::tests::raw_navigation_inputs_advance_but_passive_geometry_does_not_and_exhaustion_refuses: test
|
||||
source_navigation::query::tests::comments_strings_and_comment_gap_are_not_navigation_hits: test
|
||||
source_navigation::query::tests::detached_alias_and_identity_collisions_never_auto_select: test
|
||||
source_navigation::query::tests::dirty_but_parseable_text_has_current_names_and_no_validated_fallback: test
|
||||
source_navigation::query::tests::exact_multifile_unicode_crlf_definition_and_repeated_lexical_references: test
|
||||
source_navigation::query::tests::exact_snapshot_readback_rejects_same_key_byte_membership_and_evidence_changes: test
|
||||
source_navigation::query::tests::include_cycle_depth_and_aggregate_edges_are_explicit_partial_outcomes: test
|
||||
source_navigation::query::tests::invalid_include_syntax_never_borrows_the_old_reachable_file_set: test
|
||||
source_navigation::query::tests::keyword_alias_and_loaded_path_case_collisions_use_reviewed_index_rules: test
|
||||
source_navigation::query::tests::large_display_name_cannot_escape_the_owned_row_string_budget: test
|
||||
source_navigation::query::tests::missing_and_noncanonical_authored_ids_remain_draft_spans_without_generated_anchors: test
|
||||
source_navigation::query::tests::missing_include_partial_scope_does_not_resurrect_witness_text: test
|
||||
source_navigation::query::tests::omitted_rows_are_counted_before_result_allocation_and_never_confer_uniqueness: test
|
||||
source_navigation::query::tests::origin_keeps_exact_hit_when_display_rows_are_omitted: test
|
||||
source_navigation::query::tests::owned_request_checks_raw_limits_immediately_and_extracts_only_on_worker: test
|
||||
source_navigation::query::tests::owned_request_moves_exact_text_into_worker_snapshot_and_matches_sync_results: test
|
||||
source_navigation::query::tests::owned_validation_proof_preserves_full_witness_count_and_partial_scope: test
|
||||
source_navigation::query::tests::raw_aggregate_limits_refuse_before_outline_or_copied_snapshot: test
|
||||
source_navigation::query::tests::sole_detached_candidate_and_unapplied_equal_bytes_require_choice: test
|
||||
source_navigation::query::tests::token_declaration_and_live_reference_limits_are_aggregate_not_per_file: test
|
||||
source_navigation::query::tests::validation_witness_must_match_entry_and_complete_included_file_set: test
|
||||
source_navigation::symbols::tests::admitted_unicode_path_budget_keeps_original_policy_after_single_fold: test
|
||||
source_navigation::symbols::tests::comment_separated_reference_keeps_crlf_unicode_and_disjoint_hit_spans: test
|
||||
source_navigation::symbols::tests::declaration_order_and_duplicate_roles_refuse_instead_of_corrupting_hit_search: test
|
||||
source_navigation::symbols::tests::detached_uuid_clone_disables_anchor_even_for_included_query: test
|
||||
source_navigation::symbols::tests::duplicate_aliases_are_candidates_without_false_reference_attribution: test
|
||||
source_navigation::symbols::tests::every_budget_admits_boundary_and_returns_no_index_one_below: test
|
||||
source_navigation::symbols::tests::header_metadata_must_match_current_token_boundaries_and_authored_id: test
|
||||
source_navigation::symbols::tests::incomplete_draft_is_lexical_and_error_token_does_not_leak_references: test
|
||||
source_navigation::symbols::tests::legal_keyword_classified_alias_is_not_discarded: test
|
||||
source_navigation::symbols::tests::missing_ids_produce_only_current_snapshot_locations_without_stabilization: test
|
||||
source_navigation::symbols::tests::nested_declaration_extents_do_not_turn_body_text_into_definition_hits: test
|
||||
source_navigation::symbols::tests::noncanonical_header_identity_cannot_enter_through_query_metadata: test
|
||||
source_navigation::symbols::tests::path_identity_rejects_normalization_and_case_collisions: test
|
||||
source_navigation::symbols::tests::query_header_admission_preserves_uppercase_and_json_escape_bytes: test
|
||||
source_navigation::symbols::tests::repeated_live_uses_are_distinct_and_strings_comments_history_are_excluded: test
|
||||
source_navigation::symbols::tests::reused_alias_cannot_steal_old_identity_and_old_locations_are_stale: test
|
||||
source_navigation::symbols::tests::scope_provenance_and_detached_alias_collision_are_explicit: test
|
||||
source_navigation::symbols::tests::stopped_outline_is_not_a_successful_empty_query: test
|
||||
source_navigation::symbols::tests::truncated_or_gapped_tokens_refuse_even_when_project_scope_is_partial: test
|
||||
source_navigation::symbols::tests::unicode_path_collisions_match_core_lowercase_policy: test
|
||||
source_navigation::tests::search_uses_utf8_columns_wraps_and_refreshes_after_edits: test
|
||||
source_rename::origin::tests::maps_last_repeated_reference_with_unicode_crlf_and_comment_separator: test
|
||||
source_rename::origin::tests::permits_identifier_keyword_transitions_in_alias_roles: test
|
||||
source_rename::origin::tests::preserves_final_same_line_occurrence_not_first_or_prose: test
|
||||
source_rename::origin::tests::rejects_changed_trivia_non_alias_words_and_wrong_marker: test
|
||||
source_rename::preview::tests::each_bound_is_exact_and_overflow_never_returns_a_partial_preview: test
|
||||
source_rename::preview::tests::first_and_last_lines_form_complete_separate_hunks_and_pages: test
|
||||
source_rename::preview::tests::limits_apply_to_the_whole_preview_not_each_file: test
|
||||
source_rename::preview::tests::long_unicode_lines_are_fully_reachable_as_bounded_fragments: test
|
||||
source_rename::preview::tests::nearby_changes_merge_and_all_changed_files_are_reachable: test
|
||||
source_rename::preview::tests::preserves_unicode_mixed_endings_and_counts_lines_not_repeated_uses: test
|
||||
source_rename::preview::tests::refuses_membership_entry_line_count_and_line_ending_changes: test
|
||||
source_rename::preview::tests::unchanged_and_empty_sources_have_no_preview: test
|
||||
source_tree::tests::active_scroll_offset_uses_the_visible_order_and_retains_ancestor_context: test
|
||||
source_tree::tests::collapsed_folders_retain_active_dirty_and_diagnostic_markers: test
|
||||
source_tree::tests::deep_paths_build_expand_and_drop_on_a_small_stack: test
|
||||
source_tree::tests::detached_buffers_keep_paths_and_only_clean_buffers_are_closable: test
|
||||
source_tree::tests::exact_unicode_spaces_and_file_folder_name_collisions_are_not_normalized: test
|
||||
source_tree::tests::folders_are_compact_and_sorted_before_files_without_losing_duplicate_basenames: test
|
||||
source_workspace::tests::draft_history_budget_covers_inactive_files_without_discarding_drafts: test
|
||||
source_workspace::tests::fresh_session_cannot_reuse_a_retained_buffer_generation: test
|
||||
source_workspace::tests::navigation_revision_wrap_cannot_reuse_an_old_workspace_key: test
|
||||
source_workspace::tests::navigation_scope_changes_invalidate_without_changing_unchanged_positions: test
|
||||
source_workspace::tests::navigation_versions_distinguish_reopened_recovered_and_changed_drafts: test
|
||||
source_workspace::tests::switching_retains_invalid_drafts_and_independent_history: test
|
||||
tests::actor_port_creation_updates_containment_and_locate_reveals_its_owner: test
|
||||
tests::adding_bend_between_close_ports_stays_outside_owner_clearance: test
|
||||
tests::behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views: test
|
||||
tests::bidirectional_transition_ui_commits_once_and_preserves_other_diagrams: test
|
||||
tests::counterpart_creation_focuses_visible_target_and_reuse_keeps_views: test
|
||||
tests::creation_from_capabilities_routes_work_to_architecture_and_folded_allocation_inserts_below_existing_work: test
|
||||
tests::dragging_keeps_semantic_selection_and_same_node_remains_editable: test
|
||||
tests::escaped_string_mode_preserves_exact_control_characters: test
|
||||
tests::every_demo_record_has_a_lossless_graphical_draft: test
|
||||
tests::explicit_relationship_builder_never_mutates_on_preview: test
|
||||
tests::explorer_and_creation_selection_follow_their_own_placement: test
|
||||
tests::fit_adapts_to_canvas_returning_after_help_but_preserves_manual_navigation: test
|
||||
tests::fit_uses_measured_canvas_bounds_and_preserves_them_on_open: test
|
||||
tests::focused_explorer_follows_reparenting_without_changing_identity: test
|
||||
tests::graphical_rename_keeps_aliases_and_references_and_undo: test
|
||||
tests::identity_property_change_is_atomic_and_rewrites_all_live_references: test
|
||||
tests::invalid_numeric_draft_survives_navigation_save_and_help: test
|
||||
tests::invalid_save_and_continue_returns_to_repairable_draft: test
|
||||
tests::malformed_source_preserves_model_and_is_recoverable: test
|
||||
tests::manual_trace_requires_target_and_selection_normalizes_creation_kind: test
|
||||
tests::mission_capability_authoring_is_contextual_atomic_and_text_equivalent: test
|
||||
tests::modal_owns_background_commands_and_shortcuts: test
|
||||
tests::nested_allocation_insertion_reflows_sibling_subtrees_and_preserves_fold_state: test
|
||||
tests::opening_and_creating_models_preserve_the_actual_window_size_for_fit: test
|
||||
tests::opening_legacy_source_surfaces_report_without_modifying_original_bytes: test
|
||||
tests::pending_source_prevents_property_draft_collision_and_preserves_both_if_present: test
|
||||
tests::placement_identity_edit_then_drag_and_diagram_identity_then_arrange: test
|
||||
tests::placement_relocation_follows_cross_layer_traceability_view: test
|
||||
tests::property_enum_and_optional_reference_roundtrip: test
|
||||
tests::reopening_canvas_for_a_modal_preserves_viewport_after_route_edits: test
|
||||
tests::revealing_an_implicit_function_port_unfolds_its_visible_architecture_owner: test
|
||||
tests::routing_actions_are_atomic_guarded_and_fit_the_authored_detour: test
|
||||
tests::selecting_current_constructors_preserves_payloads: test
|
||||
tests::source_find_navigates_an_invalid_draft_without_applying_or_losing_it: test
|
||||
tests::source_navigation_waits_for_editor_layout_and_cancels_on_edit: test
|
||||
tests::system_only_models_open_the_populated_perspective: test
|
||||
tests::transition_resolutions_belong_to_the_effective_target_and_kind: test
|
||||
view_copy::tests::duplicate_retains_ports_routes_options_and_artifact_claims_with_exact_undo_redo: test
|
||||
view_copy::tests::duplicate_state_view_preserves_machine_nesting_and_collapse_with_unique_aliases: test
|
||||
view_copy::tests::missing_view_does_not_propose_an_empty_replacement: test
|
||||
views::source_symbols::tests::suffixes_distinguish_nested_duplicate_basenames_without_changing_unicode: test
|
||||
views::source_tests::source_editor_windows_menu_payload_is_inert_but_space_and_altgr_still_edit: test
|
||||
views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests: test
|
||||
views::text_workspace::tests::five_slots_keep_editor_state_and_selection_through_explicit_and_passive_changes: test
|
||||
views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds: test
|
||||
views::text_workspace::tests::keyboard_resize_uses_effective_height_and_only_exact_open_drawer_shortcut: test
|
||||
views::traceability::tests::traceability_browsing_retains_invalid_property_draft_and_existing_select_guard: test
|
||||
views::traceability::tests::traceability_filter_reaches_artifacts_after_68_traces_and_searches_all_metadata: test
|
||||
workflow::communication::tests::communication_requires_two_explicit_ports_and_recovers_the_partial_choice: test
|
||||
workflow::port_authoring_tests::boundary_picker_matches_exact_commands_across_contracts_and_ownership: test
|
||||
workflow::port_authoring_tests::boundary_picker_recomputes_for_unoriented_reverse_endpoints_without_relaxing_contracts: test
|
||||
workflow::port_authoring_tests::duplicate_port_names_show_owner_contract_and_unique_alias: test
|
||||
workflow::port_authoring_tests::fresh_functions_are_actual_picker_targets_and_plan_enables_apply: test
|
||||
workflow::port_authoring_tests::generic_component_port_connection_keeps_its_endpoint_and_direction: test
|
||||
workflow::port_authoring_tests::ordinary_standard_connections_default_unoriented_and_new_roles_exclude_legacy: test
|
||||
workflow::recovery::tests::incomplete_relationship_and_trace_recover_raw_fields_and_reject_changed_model: test
|
||||
workflow::recovery::tests::transition_recovery_replans_typed_request_without_persisted_commands: test
|
||||
workflow::transition_tests::basic_transition_boundary_choice_is_required_without_an_inferred_system: test
|
||||
workflow::transition_tests::basic_transition_creates_overview_when_existing_views_cannot_show_result: test
|
||||
workflow::transition_tests::basic_transition_explicit_destination_appends_below_existing_bounds_and_is_one_source_edit: test
|
||||
workflow::transition_tests::basic_transition_invalid_explicit_destination_retains_choice_and_refuses: test
|
||||
workflow::transition_tests::basic_transition_reconcile_keeps_existing_selected_view_placement_and_route_exact: test
|
||||
workflow::transition_tests::basic_transition_skips_lowest_uuid_state_view_and_preserves_oa: test
|
||||
|
||||
857 tests, 0 benchmarks
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T02:05:06.654255+00:00",
|
||||
"finished": "2026-09-13T02:12:23.514763+00:00",
|
||||
"seconds": 436.85842480000065,
|
||||
"exitCode": 101,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "6fdccf0a6c302f9b04ff6a64d38eb9cbc010d56f978349086055937c6e86333f",
|
||||
"stderrSha256": "b01b054ef4d002426be823d05362d121ae494bcad224a4d457aba266f013ff8a"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Finished `test` profile [unoptimized] target(s) in 4.21s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
error: test failed, to rerun pass `-p oa-desktop --bin arcadia-studio`
|
||||
@@ -0,0 +1,874 @@
|
||||
|
||||
running 857 tests
|
||||
test app::architecture_authoring::tests::architecture_allocated_work_is_root_owned_and_one_exact_history_change ... ok
|
||||
test app::architecture_authoring::tests::architecture_blank_names_and_escape_never_accept_placeholder_or_rename ... ok
|
||||
test app::architecture_authoring::tests::architecture_captured_escape_does_not_cancel_other_controls_or_placement ... ok
|
||||
test app::architecture_authoring::tests::architecture_f2_routes_selected_node_to_inline_rename_and_exact_undo ... ok
|
||||
test app::architecture_authoring::tests::architecture_first_focused_input_escape_cancels_create_and_rename ... ok
|
||||
test app::architecture_authoring::tests::architecture_invalid_click_cannot_poison_inline_or_checkpoint_geometry ... ok
|
||||
test app::architecture_authoring::tests::architecture_stale_submit_keeps_create_and_rename_visible_and_exact ... ok
|
||||
test app::architecture_authoring_tests::architecture_cancelled_gesture_cannot_commit_a_later_named_draft ... ok
|
||||
test app::architecture_authoring_tests::architecture_canvas_left_click_uses_world_coordinate_once_at_zoom_and_pan ... ok
|
||||
test app::architecture_authoring_tests::architecture_checkpoint_retains_exact_name_point_and_fresh_binding_without_commands ... ok
|
||||
test app::architecture_authoring_tests::architecture_context_choices_are_small_and_system_is_singleton ... ok
|
||||
test app::architecture_authoring_tests::architecture_contextual_allocation_creates_work_relation_and_node_in_one_undo ... ok
|
||||
test app::architecture_authoring_tests::architecture_creation_names_before_commit_preserves_camera_and_undoes_once ... ok
|
||||
test app::architecture_authoring_tests::architecture_existing_inventory_is_contextual_and_placement_never_implies_allocation ... ok
|
||||
test app::architecture_authoring_tests::architecture_f2_rename_preserves_identity_placement_and_atomic_history ... ok
|
||||
test app::architecture_authoring_tests::architecture_name_survives_rejected_click_resize_navigation_and_escape_is_explicit ... ok
|
||||
test app::architecture_authoring_tests::architecture_rejected_submission_keeps_inline_name_visible_and_invalid_click_is_ignored ... ok
|
||||
test app::architecture_authoring_tests::basic_transition_explicit_overview_focus_wins_over_an_already_populated_architecture ... ok
|
||||
test app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching ... ok
|
||||
test app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts ... ok
|
||||
test app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history ... ok
|
||||
test app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay ... ok
|
||||
test app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo ... ok
|
||||
test app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo ... ok
|
||||
test app::checkpoints::tests::checkpoint_completion_releases_the_writer_while_a_context_menu_is_open ... ok
|
||||
test app::checkpoints::tests::checkpoint_inline_create_and_rename_restore_focus_without_changing_drafts_or_history ... ok
|
||||
test app::checkpoints::tests::checkpoint_noninline_contexts_keep_other_focus_and_still_lint ... ok
|
||||
test app::checkpoints::tests::discard_and_close_waits_for_the_late_checkpoint_then_retires_it ... ok
|
||||
test app::checkpoints::tests::home_resume_keeps_state_view_while_explicit_architecture_remains_reachable ... ok
|
||||
test app::checkpoints::tests::home_resume_retains_invalid_source_and_property_drafts ... ok
|
||||
test app::checkpoints::tests::home_resume_returns_to_each_actual_workspace_without_model_edits ... ok
|
||||
test app::checkpoints::tests::malformed_checkpoint_does_not_replace_the_current_model ... ok
|
||||
test app::checkpoints::tests::recent_and_recovery_navigation_respect_unsaved_decision ... ok
|
||||
test app::checkpoints::tests::restored_copy_keeps_raw_property_and_requires_save_without_local_or_hosted_binding ... ok
|
||||
test app::checkpoints::tests::saving_an_older_snapshot_keeps_recovery_for_newer_unsaved_work ... ok
|
||||
test app::checkpoints::tests::stale_write_completion_cannot_recover_a_discarded_document ... ok
|
||||
test app::checkpoints::tests::walkthrough_request_keeps_unfinished_source_behind_the_normal_pending_guard ... ok
|
||||
test app::data_paging_lifecycle_tests::paging_preserves_same_context_and_resets_on_layer_or_document_replacement ... ok
|
||||
test app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit ... ok
|
||||
test app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection ... ok
|
||||
test app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target ... ok
|
||||
test app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input ... ok
|
||||
test app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft ... ok
|
||||
test app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_scroll_and_real_resize_invalidate_only_pointer_context ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success ... ok
|
||||
test app::hosted::tests::hosted_actual_app_tasks_publish_edit_conflict_correct_credentials_reload_and_open ... ok
|
||||
test app::hosted::tests::hosted_catalog_invalidation_follows_service_writes_and_observed_revision_changes ... ok
|
||||
test app::hosted::tests::hosted_catalog_search_credentials_and_failed_refresh_never_mix_result_scopes ... ok
|
||||
test app::hosted::tests::hosted_changed_bound_head_does_not_invalidate_another_services_empty_filter ... ok
|
||||
test app::hosted::tests::hosted_conflict_fetches_review_without_adoption_and_reload_is_undoable ... ok
|
||||
test app::hosted::tests::hosted_detached_drafts_and_recovery_remain_available_after_rejected_publish ... ok
|
||||
test app::hosted::tests::hosted_failed_cross_service_publication_checks_and_reloads_its_own_resource ... ok
|
||||
test app::hosted::tests::hosted_failed_or_cancelled_local_open_keeps_the_existing_document_and_destination ... ok
|
||||
test app::hosted::tests::hosted_invalid_and_detached_source_drafts_never_start_network_writes ... ok
|
||||
test app::hosted::tests::hosted_invalid_local_open_repair_saves_locally_and_never_replaces_old_resource ... ok
|
||||
test app::hosted::tests::hosted_modal_blocks_underlying_edits_and_credentials_are_redacted ... ok
|
||||
test app::hosted::tests::hosted_new_revision_invalidates_filtered_catalog_even_without_a_displayed_row ... ok
|
||||
test app::hosted::tests::hosted_only_successful_source_save_as_changes_the_active_destination ... ok
|
||||
test app::hosted::tests::hosted_open_waits_for_unsaved_guard_and_failed_open_preserves_current_document ... ok
|
||||
test app::hosted::tests::hosted_publish_acknowledges_only_the_sent_snapshot_and_retains_undo ... ok
|
||||
test app::hosted::tests::hosted_stale_completions_do_not_clear_current_busy_or_adopt_another_document ... ok
|
||||
test app::hosted::tests::hosted_unknown_save_is_acknowledged_by_exact_readback_without_retry ... ok
|
||||
test app::lint_tests::committed_check_cache_follows_edit_and_undo_while_drafts_stay_separate ... ok
|
||||
test app::lint_tests::lint_coalesces_work_and_rejects_obsolete_results ... ok
|
||||
test app::lint_tests::prior_document_lint_cannot_enter_reopened_model_or_block_next_checks ... ok
|
||||
test app::port_view_tests::catalog_creation_follows_the_new_port_and_keeps_group_browsing_explicit ... ok
|
||||
test app::port_view_tests::filtered_active_view_cannot_hide_a_created_port_when_eligible_owner_view_is_folded ... ok
|
||||
test app::process_canvas::direct_process_dirty_source_blocks_canvas_creation_without_losing_text ... ok
|
||||
test app::process_canvas::tests::direct_process_app_open_source_and_back_preserve_local_reference_identity ... ok
|
||||
test app::process_canvas::tests::direct_process_app_same_owner_selection_preserves_tool_but_owner_change_resets_it ... ok
|
||||
test app::process_canvas::tests::direct_process_app_save_scroll_resize_and_passive_geometry_keep_drafts_and_current_origin ... ok
|
||||
test app::process_canvas::tests::direct_process_app_source_failure_retains_form_then_commits_once_and_selects_occurrence ... ok
|
||||
test app::process_canvas::tests::direct_process_app_stale_context_dirty_source_and_properties_never_mutate ... ok
|
||||
test app::process_canvas::tests::direct_process_append_empty_first_second_exchange_has_exact_source_history ... ok
|
||||
test app::process_canvas::tests::process_focus_retains_rejected_draft_and_guards_selection_until_panels_restore ... ok
|
||||
test app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model ... ok
|
||||
test app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority ... ok
|
||||
test app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save ... ok
|
||||
test app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close ... ok
|
||||
test app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean ... ok
|
||||
test app::review_navigation_tests::rejected_semantic_source_writeback_retains_review_camera_and_original_navigation ... ok
|
||||
test app::review_navigation_tests::review_already_showing_the_target_keeps_its_camera_and_query ... ok
|
||||
test app::review_navigation_tests::semantic_name_take_selects_the_counterpart_view_in_both_directions_with_one_exact_history_entry ... ok
|
||||
test app::review_navigation_tests::semantic_review_without_a_destination_view_clears_the_old_layer_canvas_without_creating_a_view ... ok
|
||||
test app::save_as_tests::save_as_late_receipt_preserves_newer_raw_source_draft_and_destination ... ok
|
||||
test app::save_as_tests::save_as_preflight_rejects_historical_collision_before_starting_io ... ok
|
||||
test app::save_as_tests::save_as_receipt_then_one_undo_restores_meaning_and_saving_preserves_redo ... ok
|
||||
test app::source_project_tests::closed_detached_file_keeps_first_save_conflict_then_can_be_reloaded_fresh ... ok
|
||||
test app::source_project_tests::inactive_invalid_draft_blocks_graphical_changes_and_diagnostic_switches_files ... ok
|
||||
test app::source_project_tests::json_export_and_rejected_save_as_preserve_source_location_history_and_bytes ... ok
|
||||
test app::source_project_tests::missing_include_open_keeps_old_model_and_can_be_repaired_and_saved ... ok
|
||||
test app::source_project_tests::recovery_after_first_save_failure_retains_target_then_retries_without_reentering_path ... ok
|
||||
test app::source_project_tests::recovery_of_previous_save_as_target_does_not_redirect_current_project ... ok
|
||||
test app::source_project_tests::recovery_open_finds_first_save_journal_without_an_entry_file ... ok
|
||||
test app::source_project_tests::recovery_target_survives_edit_lint_apply_and_rejected_recovery_until_success ... ok
|
||||
test app::source_project_tests::source3_native_open_preserves_report_comments_nesting_and_save_reopen ... ok
|
||||
test app::source_project_tests::two_file_apply_graphical_edit_exact_undo_save_as_and_reopen ... ok
|
||||
test app::source_rename::alias_input::tests::effective_escape_reset_follows_child_after_early_returns ... ok
|
||||
test app::source_rename::alias_input::tests::held_paste_cache_contains_only_previously_admitted_text ... ok
|
||||
test app::source_rename::alias_input::tests::paste_refusal_matches_child_focus_enabled_and_stored_modifier_protocol ... ok
|
||||
test app::source_rename::editor_patch::tests::all_preflight_refusals_leave_text_cursor_and_selection_unchanged ... ok
|
||||
test app::source_rename::editor_patch::tests::already_laid_out_editor_notifies_highlighter_from_zero_after_later_line_patch ... ok
|
||||
test app::source_rename::editor_patch::tests::exact_text_matrix_and_reverse_preserve_endings ... ok
|
||||
test app::source_rename::editor_patch::tests::unchanged_content_preserves_selection_and_next_direct_edit_works ... ok
|
||||
test app::source_rename::tests::actual_alias_clipboard_rejects_controls_without_normalizing_or_moving_selection ... ok
|
||||
test app::source_rename::tests::actual_captured_escape_closes_only_its_priority_owner_and_retains_worker ... ok
|
||||
test app::source_rename::tests::actual_dialog_enter_requests_preview_even_when_confirm_is_available ... ok
|
||||
test app::source_rename::tests::actual_dialog_real_paragraph_geometry_keeps_input_preview_and_footer_reachable ... ok
|
||||
test app::source_rename::tests::alias_editor_sync_fallback_restores_accepted_display_and_preserves_model_history ... ok
|
||||
test app::source_rename::tests::close_and_reset_retain_worker_slot_until_exact_completion_without_reopening ... ok
|
||||
test app::source_rename::tests::complete_alias_change_preserves_literals_and_last_comment_separated_origin_and_undo ... ok
|
||||
test app::source_rename::tests::full_details_selection_survives_readonly_and_passive_messages_and_tracks_input ... ok
|
||||
test app::source_rename::tests::genuine_save_receipts_preserve_same_destination_preview_but_invalidate_save_as ... ok
|
||||
test app::source_rename::tests::invalid_open_retains_accepted_document_but_refuses_alias_rename ... ok
|
||||
test app::source_rename::tests::last_same_line_use_beyond_reference_row_limit_and_selection_boundaries ... ok
|
||||
test app::source_rename::tests::mounted_editor_f2_requires_focus_and_no_modifiers ... ok
|
||||
test app::source_rename::tests::paging_all_utf8_fragments_preserves_exact_preview_and_approval ... ok
|
||||
test app::source_rename::tests::preview_glyph_tests::actual_preview_source_glyphs_clear_scrollbar_and_all_long_fragments_are_reachable ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::delayed_page_and_approval_operations_cannot_reset_a_new_destination ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::explicit_navigation_resets_retained_scroll_but_id_change_alone_does_not ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::repeated_page_visits_filters_and_fast_preview_completion_have_distinct_destinations ... ok
|
||||
test app::source_rename::tests::property_draft_and_detached_buffer_refuse_without_hidden_apply ... ok
|
||||
test app::source_rename::tests::replacement_generation_aba_and_modal_shortcuts_cannot_commit_stale_preview ... ok
|
||||
test app::source_rename::tests::same_alias_invalid_and_cancel_keep_existing_redo_and_source_selection ... ok
|
||||
test app::source_rename::tests::source_edit_undo_and_recovery_invalidation_do_not_revive_approval ... ok
|
||||
test app::source_rename::tests::stale_dialog_envelopes_do_not_cancel_new_same_path_form_or_its_approval ... ok
|
||||
test app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing ... ignored, manual Windows dev/debug rename latency trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight ... ignored, manual Windows dev/debug editor replacement + layout/highlight trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_symbols::tests::back_after_origin_edit_uses_its_current_cursor_instead_of_the_old_range ... ok
|
||||
test app::source_symbols::tests::back_keeps_the_latest_64_actual_locations_without_reusing_dropped_history ... ok
|
||||
test app::source_symbols::tests::back_restores_exact_reversed_utf8_selection_and_crlf_source ... ok
|
||||
test app::source_symbols::tests::captured_find_and_modal_escape_use_one_actual_subscription_and_preserve_pending_work ... ok
|
||||
test app::source_symbols::tests::captured_subscription_does_not_duplicate_existing_behavior_or_architecture_routes ... ok
|
||||
test app::source_symbols::tests::close_during_busy_retains_hidden_completion_without_reopening_or_navigation ... ok
|
||||
test app::source_symbols::tests::closed_results_stay_closed_on_exact_back_and_reopen_only_for_a_return_notice ... ok
|
||||
test app::source_symbols::tests::completion_retains_current_display_but_rejects_navigation_after_context_changes ... ok
|
||||
test app::source_symbols::tests::delayed_definition_after_hide_or_tab_change_retains_data_without_reopening_or_focus ... ok
|
||||
test app::source_symbols::tests::detached_duplicate_requires_an_explicit_choice_even_when_included_source_is_validated ... ok
|
||||
test app::source_symbols::tests::escape_dismisses_modal_before_underlying_source_results ... ok
|
||||
test app::source_symbols::tests::escape_hides_results_and_cancels_navigation_but_retains_latest_display ... ok
|
||||
test app::source_symbols::tests::find_close_releases_removed_input_and_guarded_focus_respects_later_input ... ok
|
||||
test app::source_symbols::tests::find_only_captured_escape_closes_once_and_preserves_raw_query_and_selection ... ok
|
||||
test app::source_symbols::tests::hidden_completion_checks_exact_bytes_even_when_snapshot_key_was_not_advanced ... ok
|
||||
test app::source_symbols::tests::invalid_unapplied_drafts_navigate_without_apply_or_losing_either_history ... ok
|
||||
test app::source_symbols::tests::matching_old_worker_cannot_replace_a_newer_display_owner ... ok
|
||||
test app::source_symbols::tests::matching_reveal_ticket_is_required_and_raw_input_invalidates_pending_reveal ... ok
|
||||
test app::source_symbols::tests::old_find_close_cannot_cancel_a_new_file_session_or_reopened_find_intent ... ok
|
||||
test app::source_symbols::tests::old_symbol_widget_envelopes_after_file_switch_preserve_same_session_intent ... ok
|
||||
test app::source_symbols::tests::old_symbol_widget_envelopes_after_reset_preserve_new_same_path_intent ... ok
|
||||
test app::source_symbols::tests::popup_escape_has_no_duplicate_bridge_and_dismissal_preserves_underlying_find_and_drawer ... ok
|
||||
test app::source_symbols::tests::reset_retains_worker_slot_until_old_completion_then_admits_new_session_query ... ok
|
||||
test app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references ... ok
|
||||
test app::source_symbols::tests::same_worker_with_changed_request_envelope_cannot_publish_or_navigate ... ok
|
||||
test app::source_symbols::tests::saturated_raw_clock_never_authorizes_completion_or_reveal ... ok
|
||||
test app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses ... ignored, manual 100-module latency/process-memory trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_symbols::tests::unknown_job_cannot_release_current_worker_and_old_duplicate_cannot_replace_new_results ... ok
|
||||
test app::source_symbols::tests::valid_definition_and_reference_choice_keep_whole_model_and_source_unchanged ... ok
|
||||
test app::state_diagram_tests::all_context_dimensions_reject_stale_selection_camera_and_model_messages ... ok
|
||||
test app::state_diagram_tests::create_view_places_only_its_machine_and_restores_exact_source_in_one_undo ... ok
|
||||
test app::state_diagram_tests::direct_create_connect_select_and_move_keep_semantic_identity_and_atomic_history ... ok
|
||||
test app::state_diagram_tests::fallback_owner_first_selection_keeps_the_captured_context_for_its_first_move ... ok
|
||||
test app::state_diagram_tests::pending_drafts_block_every_direct_mutation_and_passive_camera_preserves_inputs ... ok
|
||||
test app::state_diagram_tests::real_view_tool_and_history_changes_invalidate_old_release_events ... ok
|
||||
test app::state_diagram_tests::rejected_creation_keeps_source_and_selection_then_valid_owner_can_retry ... ok
|
||||
test app::state_diagram_tests::same_size_viewport_after_revision_or_tool_epoch_does_not_refit_the_camera ... ok
|
||||
test app::state_diagram_tests::shared_semantic_states_keep_architecture_and_behavior_placements_independent ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_constructor_and_source_open_to_the_existing_workspace_without_edits ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_picker_and_reveal_but_explicit_architecture_does_not_bounce ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_preserve_selected_raw_properties_and_pending_behavior_guards ... ok
|
||||
test app::state_diagram_tests::state_navigation_catalog_selection_across_layers_resets_camera_and_tool ... ok
|
||||
test app::state_diagram_tests::state_navigation_catalog_selection_of_another_machine_resets_camera_and_tool ... ok
|
||||
test app::state_diagram_tests::state_navigation_layer_change_resets_the_new_machine_at_the_same_viewport_size ... ok
|
||||
test app::state_diagram_tests::state_navigation_return_to_the_same_view_preserves_camera_tool_and_fit_mode ... ok
|
||||
test app::state_diagram_tests::state_navigation_root_event_and_same_layer_keep_the_current_camera_and_tool ... ok
|
||||
test app::text_workspace::lifecycle_tests::canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics ... ok
|
||||
test app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_does_not_revalidate_already_stale_warning_locations ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related ... ok
|
||||
test app::text_workspace::tests::current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it ... ok
|
||||
test app::text_workspace::tests::diagnostic_span_must_be_loaded_ordered_and_utf8_exact ... ok
|
||||
test app::text_workspace::tests::disabled_entry_cannot_become_a_new_action_under_the_same_menu_token ... ok
|
||||
test app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority ... ok
|
||||
test app::text_workspace::tests::enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy ... ok
|
||||
test app::text_workspace::tests::equal_diagnostic_republication_invalidates_primary_and_related_targets ... ok
|
||||
test app::text_workspace::tests::menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once ... ok
|
||||
test app::text_workspace::tests::menu_source_caret_document_path_and_interaction_changes_refuse_stale_find ... ok
|
||||
test app::text_workspace::tests::old_dismiss_and_invoke_do_not_consume_a_newer_menu ... ok
|
||||
test app::text_workspace::tests::only_valid_explicit_group_and_resize_intent_cancel_pending_navigation ... ok
|
||||
test app::text_workspace::tests::queued_toolbar_request_cannot_retarget_after_source_change ... ok
|
||||
test app::text_workspace::tests::reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries ... ok
|
||||
test app::text_workspace::tests::reset_removes_ui_and_publication_authority_and_resize_rejects_nan ... ok
|
||||
test app::text_workspace::tests::retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems ... ok
|
||||
test app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application ... FAILED
|
||||
test app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts ... ok
|
||||
test app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view ... ok
|
||||
test app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture ... ok
|
||||
test app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera ... ok
|
||||
test app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start ... ok
|
||||
test app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions ... ok
|
||||
test app::view_copy_tests::copying_architecture_keeps_architecture_even_with_a_retained_state_view ... ok
|
||||
test app::view_copy_tests::copying_the_current_state_view_uses_its_own_identity_and_is_one_source_undo ... ok
|
||||
test app::view_copy_tests::duplicate_rejection_preserves_an_incomplete_source_buffer ... ok
|
||||
test app::view_copy_tests::duplicate_rejection_preserves_invalid_property_and_pending_behavior_drafts ... ok
|
||||
test app::view_copy_tests::stale_copy_does_not_apply_an_unrelated_valid_property_draft ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_old_empty_action_cannot_open_a_previous_owner_or_layer ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo ... ok
|
||||
test behavior::creation::app_tests::app_choosing_another_behavior_or_layer_cannot_commit_a_creation_draft ... ok
|
||||
test behavior::creation::app_tests::app_creation_opens_the_actual_new_owner_instead_of_first_or_previously_active_behavior ... ok
|
||||
test behavior::creation::app_tests::app_first_captured_escape_dismisses_file_or_pending_overlay_before_creation ... ok
|
||||
test behavior::creation::app_tests::app_lesson_request_cancel_retains_creation_then_escape_discards_only_the_draft ... ok
|
||||
test behavior::creation::app_tests::app_machine_behavior_submit_opens_its_opted_in_view_as_one_undoable_transaction ... ok
|
||||
test behavior::creation::app_tests::app_new_never_auto_applies_valid_or_invalid_property_and_source_drafts ... ok
|
||||
test behavior::creation::app_tests::app_recovered_rootless_sa_creation_retains_layer_ids_and_other_raw_drafts ... ok
|
||||
test behavior::creation::app_tests::app_stale_layer_open_never_starts_or_replaces_a_draft ... ok
|
||||
test behavior::creation::tests::all_four_viewpoints_are_explicit_and_survive_source_history_reopen ... ok
|
||||
test behavior::creation::tests::cancel_and_illegal_family_layer_switches_never_create_model_objects ... ok
|
||||
test behavior::creation::tests::corrupted_recovery_and_reserved_identity_collision_refuse_without_repairing_raw_values ... ok
|
||||
test behavior::creation::tests::creation_selection_rejects_changed_scenario_body_and_post_creation_operations ... ok
|
||||
test behavior::creation::tests::machine_requires_valid_owner_and_first_view_adds_no_region_or_state ... ok
|
||||
test behavior::creation::tests::mounted_creation_keeps_actions_visible_and_renders_only_six_owner_candidates ... ok
|
||||
test behavior::creation::tests::oa_process_and_sa_chain_keep_exact_names_root_ownership_and_one_history_entry ... ok
|
||||
test behavior::creation::tests::optional_context_collapses_without_losing_authored_reference_or_raw_search ... ok
|
||||
test behavior::creation::tests::owner_search_is_name_ordered_filtered_and_page_sized_not_a_catalog ... ok
|
||||
test behavior::creation::tests::post_commit_selection_is_correlated_with_exact_created_behavior_and_view ... ok
|
||||
test behavior::creation::tests::recovery_preserves_exact_raw_inputs_reserved_ids_and_revalidates_stale_owner ... ok
|
||||
test behavior::creation::tests::rejected_source_transaction_keeps_draft_and_every_accepted_source_byte ... ok
|
||||
test behavior::creation::tests::repeated_owner_names_remain_distinguishable_by_searchable_parent_context_and_alias ... ok
|
||||
test behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand ... ok
|
||||
test behavior::direct_canvas_tests::direct_bounds_change_during_held_drag_never_commits_old_slot ... ok
|
||||
test behavior::direct_canvas_tests::direct_clicked_occurrence_capture_cancels_on_view_and_context_changes ... ok
|
||||
test behavior::direct_canvas_tests::direct_context_escape_unfocus_and_pending_form_cancel_gestures ... ok
|
||||
test behavior::direct_canvas_tests::direct_drag_and_click_click_use_ordered_sources_and_publish_once ... ok
|
||||
test behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call ... ok
|
||||
test behavior::direct_canvas_tests::direct_scroll_resize_and_bounds_changes_cancel_captured_slots ... ok
|
||||
test behavior::direct_canvas_tests::direct_scrolled_canvas_maps_raw_pointer_events_to_the_visible_slot ... ok
|
||||
test behavior::direct_canvas_tests::direct_selected_handle_reorders_and_hits_keep_semantic_identity ... ok
|
||||
test behavior::direct_canvas_tests::reused_exchange_messages_display_their_distinct_occurrence_names ... ok
|
||||
test behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages ... ok
|
||||
test behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit ... ok
|
||||
test behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys ... ok
|
||||
test behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange ... ok
|
||||
test behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically ... ok
|
||||
test behavior::scenario::direct_tests::direct_busy_save_keeps_observed_scroll_current_for_the_next_pointer_gesture ... ok
|
||||
test behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts ... ok
|
||||
test behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history ... ok
|
||||
test behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation ... ok
|
||||
test behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values ... ok
|
||||
test behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe ... ok
|
||||
test behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree ... ok
|
||||
test behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo ... ok
|
||||
test behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands ... ok
|
||||
test behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts ... ok
|
||||
test behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values ... ok
|
||||
test behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker ... ok
|
||||
test behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent ... ok
|
||||
test behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange ... ok
|
||||
test behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract ... ok
|
||||
test behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction ... ok
|
||||
test behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings ... ok
|
||||
test behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_allocates_remaining_height_and_pins_actions_at_minimum_and_wide_sizes ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_caller_restores_actual_mounted_canvas_and_shelf_with_camera ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_canvas_and_form_scroll_survive_disclosures_focus_width_and_resize ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_fit_reobserves_same_sized_owner_and_document_changes ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_scroll_after_preselection ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_scaled_and_scrolled_scene_keeps_clicked_slots_and_message_endpoints ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_whole_app_canvas_tree_survives_pending_shelves_and_focus ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scenario_caller_restores_mounted_scroll_once_with_clamping_and_app_receipt ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scenario_restore_cannot_scroll_another_document_owner_or_process_view ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scroll_mounted_identity_resets_navigation_but_preserves_edits_before_first_report ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scroll_observer_reports_actual_initial_clamped_and_remounted_offsets_once ... ok
|
||||
test behavior::scenario_scroll::tests::independent_process_owner_change_resets_actual_scroll_offsets ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_initial_essentials_fit_short_composed_host_with_real_paragraphs ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_long_parent_wraps_after_visible_name_without_losing_raw_data ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_visible_kind_click_keeps_choice_explicit_and_name_input_works ... ok
|
||||
test behavior::state_canvas::tests::context_menu_keeps_window_anchor_and_explicit_placement_identity ... ok
|
||||
test behavior::state_canvas::tests::context_tool_and_pending_form_changes_cancel_mutating_gestures ... ok
|
||||
test behavior::state_canvas::tests::creation_uses_the_explicit_deepest_owner_and_never_a_fallback_ancestor ... ok
|
||||
test behavior::state_canvas::tests::drag_uses_ordered_release_at_each_zoom_and_moves_descendants_in_one_undo ... ok
|
||||
test behavior::state_canvas::tests::escape_and_view_switch_discard_the_armed_transition_source ... ok
|
||||
test behavior::state_canvas::tests::internal_rows_and_pseudostate_hits_use_shared_persisted_geometry ... ok
|
||||
test behavior::state_canvas::tests::ordered_stationary_click_does_not_move_on_later_motion_in_the_same_batch ... ok
|
||||
test behavior::state_canvas::tests::pan_is_button_scoped_read_only_and_hover_does_not_reproject_the_scene ... ok
|
||||
test behavior::state_canvas::tests::pseudostate_names_avoid_rightward_and_downward_routes_and_share_hit_bounds ... ok
|
||||
test behavior::state_canvas::tests::relayout_does_not_turn_a_transition_click_into_a_drag_or_pan ... ok
|
||||
test behavior::state_canvas::tests::selected_endpoint_reconnect_preserves_identity_and_requires_handle_motion ... ok
|
||||
test behavior::state_canvas::tests::selection_relayout_does_not_move_nodes_or_change_drag_distance ... ok
|
||||
test behavior::state_canvas::tests::stacked_symbol_names_avoid_each_other_and_are_independent_of_input_order ... ok
|
||||
test behavior::state_canvas::tests::transition_supports_click_click_and_drag_without_coalesced_accidental_edges ... ok
|
||||
test behavior::state_canvas::tests::typed_state_actions_are_named_selectable_rows_before_internal_transitions_and_regions ... ok
|
||||
test behavior::state_canvas::tests::viewport_uses_full_canvas_coordinates_and_republishes_for_a_new_context ... ok
|
||||
test behavior::state_edit::tests::an_empty_machine_has_an_explicit_visible_owner_for_first_region_creation ... ok
|
||||
test behavior::state_edit::tests::connect_preserves_self_loops_and_rejects_hidden_or_incompatible_vertices ... ok
|
||||
test behavior::state_edit::tests::creation_places_missing_ancestry_and_unfolds_existing_owners_atomically ... ok
|
||||
test behavior::state_edit::tests::every_context_component_and_invalid_ownership_are_checked_before_planning ... ok
|
||||
test behavior::state_edit::tests::placing_existing_content_and_moving_a_folded_group_preserve_other_views_and_semantics ... ok
|
||||
test behavior::state_edit::tests::reconnect_preserves_the_complete_record_and_replaces_cardinality_in_place ... ok
|
||||
test behavior::state_edit::tests::view_initializes_only_its_machine_in_one_source_and_model_history_entry ... ok
|
||||
test behavior::states::tests::internal_choice_targets_self_and_edit_preserves_identity_and_description ... ok
|
||||
test behavior::states::tests::invalid_pseudo_trigger_keeps_draft_and_does_not_create_orphan_event ... ok
|
||||
test behavior::states::tests::selected_composite_owns_new_region_and_history_uses_selected_region ... ok
|
||||
test behavior::states::tests::timeout_and_work_trigger_commit_together_roundtrip_and_undo ... ok
|
||||
test behavior::tests::failed_document_commit_retains_typed_transition_and_time_event_for_repair ... ok
|
||||
test behavior::tests::legacy_process_and_chain_keep_their_ordered_exchange_scene ... ok
|
||||
test behavior::tests::one_behavior_form_survives_start_edit_and_unrelated_cancel_until_commit ... ok
|
||||
test behavior::tests::recovery_preserves_distinct_qualified_value_paths_and_rejects_invalid_payload_atomically ... ok
|
||||
test behavior::tests::recovery_retains_each_incomplete_behavior_form_without_executing_it ... ok
|
||||
test behavior::tests::selecting_state_transition_keeps_its_behavior_context ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_deleted_transient_selection_does_not_seed_or_hide_retained_authored_endpoint ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_nested_preview_folds_only_the_exact_reference_instance ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_rejected_endpoint_keeps_exact_raw_intent_after_recovery ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_repeated_sources_remain_distinct_and_apply_has_exact_source_history ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_scope_paging_and_search_reach_tail_beyond_512_without_losing_endpoints ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_native_x_to_first_b_keeps_visible_arrow_above_background_and_clear_of_other_references ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_nested_visible_hidden_and_parallel_paths_keep_exact_addresses_and_legacy_routes ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_shared_anchor_preserves_selected_direct_reconnect_at_fit_and_full_scale ... ok
|
||||
test behavior::topology::direct_tests::direct_process_append_preserves_existing_order_and_rejects_incompatible_exchange ... ok
|
||||
test behavior::topology::direct_tests::direct_process_controls_allow_incomplete_work_and_preserve_branch_semantics ... ok
|
||||
test behavior::topology::direct_tests::direct_process_empty_first_and_second_exchange_keep_the_same_interactive_renderer ... ok
|
||||
test behavior::topology::direct_tests::direct_process_imported_order_is_projected_without_mutation_and_first_canvas_edit_is_atomic ... ok
|
||||
test behavior::topology::direct_tests::direct_process_incompatible_imported_order_rejects_conversion_without_losing_draft ... ok
|
||||
test behavior::topology::direct_tests::direct_process_nested_source_reopen_and_api_command_use_one_transaction ... ok
|
||||
test behavior::topology::direct_tests::direct_process_oa_sa_repeated_occurrences_share_sources_and_split_one_guarded_link ... ok
|
||||
test behavior::topology::direct_tests::direct_process_palette_preserves_fit_and_manual_camera ... ok
|
||||
test behavior::topology::direct_tests::direct_process_pending_form_diff_retains_the_canvas_scroll_state ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_click_click_drag_insert_and_scroll_coordinates ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_endpoint_and_peer_reorder_handles_publish_exact_identity ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_stale_focus_scroll_bounds_and_pending_cancel ... ok
|
||||
test behavior::topology::direct_tests::direct_process_readable_default_fit_expansion_and_bounded_choices ... ok
|
||||
test behavior::topology::direct_tests::direct_process_real_picker_stays_bounded_and_search_keeps_selection ... ok
|
||||
test behavior::topology::direct_tests::direct_process_reconnect_delete_and_reorder_preserve_other_paths_and_sources ... ok
|
||||
test behavior::topology::direct_tests::direct_process_reuse_preview_is_local_expandable_and_recursive_sources_are_rejected ... ok
|
||||
test behavior::topology::direct_tests::direct_process_scaled_control_and_link_gestures_use_visible_positions ... ok
|
||||
test behavior::topology::direct_tests::direct_process_specific_parallel_link_and_incompatible_adjacency ... ok
|
||||
test behavior::topology::direct_tests::direct_process_three_ordered_exchanges_preserve_outer_paths_on_insertion ... ok
|
||||
test behavior::topology::tests::cycle_projection_terminates_and_retains_actual_links ... ok
|
||||
test behavior::topology::tests::empty_process_can_start_through_normal_authoring_events ... ok
|
||||
test behavior::topology::tests::fitting_a_branch_keeps_all_nodes_visible_and_selection_uses_scaled_coordinates ... ok
|
||||
test behavior::topology::tests::guarded_branch_is_one_transaction_with_distinct_source_identities ... ok
|
||||
test behavior::topology::tests::insertion_picker_only_offers_work_matching_adjacent_exchanges ... ok
|
||||
test behavior::topology::tests::legacy_branch_insertion_replaces_only_the_selected_implied_link ... ok
|
||||
test behavior::topology::tests::legacy_edit_preserves_order_and_new_work_in_one_undo ... ok
|
||||
test behavior::topology::tests::long_engineering_identifiers_stay_inside_label_width ... ok
|
||||
test behavior::topology::tests::process_fit_canvas_selection_ignores_retained_ordered_page_scroll ... ok
|
||||
test behavior::topology::tests::process_fit_disclosures_and_focus_preserve_rejected_raw_draft_and_accepted_source ... ok
|
||||
test behavior::topology::tests::process_fit_uses_measured_height_and_reports_minimum_without_changing_manual_zoom ... ok
|
||||
test behavior::topology::tests::reusable_preview_preserves_identity_and_filters_recursive_sources ... ok
|
||||
test behavior::topology::tests::stale_or_invalid_submit_preserves_inputs_and_creates_nothing ... ok
|
||||
test behavior::topology::tests::unlinked_contributions_do_not_gain_fictional_edges ... ok
|
||||
test behavior::topology::view::layout_tests::direct_process_pending_editor_uses_available_height_and_keeps_actions_visible ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_layout_disclosures_and_pending_editor_keep_real_manual_canvas_scroll ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_layout_measures_remaining_canvas_with_details_forms_and_window_resize ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_whole_app_focus_and_disclosures_retain_canvas_tree_with_pending_raw_form ... ok
|
||||
test connection_edit::tests::cancel_navigation_revision_and_dirty_drafts_cannot_commit_a_stale_connection ... ok
|
||||
test connection_edit::tests::visible_endpoint_drawing_commits_ports_and_exchange_once_with_exact_history ... ok
|
||||
test connection_tool::tests::boundary_candidates_match_core_orientation_and_reject_same_owner_or_mixed_kind ... ok
|
||||
test connection_tool::tests::boundary_feasibility_keeps_interface_warnings_and_final_carried_item_checks ... ok
|
||||
test connection_tool::tests::boundary_feasibility_rejects_dangling_identity_in_a_malformed_element_map ... ok
|
||||
test connection_tool::tests::direct_connections_share_exact_source_history_and_model_parity ... ok
|
||||
test connection_tool::tests::explicit_function_ports_keep_owners_contracts_and_do_not_invent_carried_items ... ok
|
||||
test connection_tool::tests::final_command_validation_rejects_invalid_models_without_mutation ... ok
|
||||
test connection_tool::tests::function_cards_use_unique_reuse_and_atomic_generation_when_ambiguous ... ok
|
||||
test connection_tool::tests::mismatched_port_owners_layers_and_contract_kinds_are_not_candidates ... ok
|
||||
test connection_tool::tests::operational_communication_uses_participants_without_creating_ports ... ok
|
||||
test connection_tool::tests::operational_interaction_targets_only_distinct_oa_activities ... ok
|
||||
test context_menu::tests::a_new_context_token_cannot_reuse_the_previous_mouse_press_or_scroll ... ok
|
||||
test context_menu::tests::actions_area_does_not_swallow_first_independent_click_after_overlay_consumed_its_release ... ok
|
||||
test context_menu::tests::anchors_outside_the_window_and_nonfinite_input_stay_bounded ... ok
|
||||
test context_menu::tests::clicking_disabled_or_dragging_off_an_action_never_executes_it ... ok
|
||||
test context_menu::tests::coalesced_dismissal_release_does_not_swallow_the_next_independent_click ... ok
|
||||
test context_menu::tests::empty_and_disabled_only_menus_still_capture_keys_and_escape_closes ... ok
|
||||
test context_menu::tests::keyboard_skips_headers_separators_and_disabled_actions_and_invokes_once ... ok
|
||||
test context_menu::tests::outside_dismissal_consumes_press_and_release_across_controlled_close ... ok
|
||||
test context_menu::tests::reconstructed_overlay_uses_retained_layout_for_rows_and_hit_testing ... ok
|
||||
test context_menu::tests::retained_overlay_layout_keeps_measured_width_and_scrollbar_after_reconstruction ... ok
|
||||
test context_menu::tests::tall_menu_clamps_to_viewport_and_keyboard_wheel_and_scrollbar_reach_the_end ... ok
|
||||
test data_values::tests::phase_choices_keep_reused_record_addresses_distinct ... ok
|
||||
test data_values::tests::recursive_picker_starts_with_distinct_leaf_names_and_sorts_them ... ok
|
||||
test data_values::tests::recursive_records_can_be_drilled_into_and_valid_imported_paths_resolve ... ok
|
||||
test data_values::tests::reference_parameter_stops_descent_and_unspecified_direction_remains_visible ... ok
|
||||
test data_values::tests::roots_and_one_hop_children_do_not_expand_unrelated_payload_branches ... ok
|
||||
test data_view::tests::allocation_rows_edit_relationship_identity_and_remove_only_that_allocation ... ok
|
||||
test data_view::tests::association_creation_is_a_separate_relation_with_editable_end_contracts ... ok
|
||||
test data_view::tests::browsing_pages_preserves_invalid_numeric_draft_and_inherited_allocation_identity ... ok
|
||||
test data_view::tests::contextual_data_actions_use_typed_defaults_and_one_undo ... ok
|
||||
test data_view::tests::large_inherited_dictionary_has_bounded_widgets_and_every_original_field_is_reachable ... ok
|
||||
test diagnostic_input::tests::already_captured_terminal_cancels_child_without_activation_or_lingering_press ... ok
|
||||
test diagnostic_input::tests::captured_terminal_cancellation_preserves_same_publication_focusable_child_state ... ok
|
||||
test diagnostic_input::tests::current_primary_and_related_mouse_clicks_survive_same_publication_diff ... ok
|
||||
test diagnostic_input::tests::current_touch_activates_primary_and_related_and_cancel_does_not_activate ... ok
|
||||
test diagnostic_input::tests::fresh_mouse_press_after_missing_stale_release_can_activate_current_row ... ok
|
||||
test diagnostic_input::tests::hidden_zero_height_scroller_delivers_cancelled_mouse_and_touch_terminals_to_guard ... ok
|
||||
test diagnostic_input::tests::hidden_zero_size_list_consumes_release_outside_old_bounds_once ... ok
|
||||
test diagnostic_input::tests::missed_press_is_ignored_and_dragging_release_outside_does_not_activate ... ok
|
||||
test diagnostic_input::tests::negative_control_iced_button_retargets_a_press_after_plain_tree_diff ... ok
|
||||
test diagnostic_input::tests::negative_control_plain_focusable_row_migrates_activation_to_replacement ... ok
|
||||
test diagnostic_input::tests::negative_control_removing_unguarded_rows_exposes_background_release ... ok
|
||||
test diagnostic_input::tests::outer_scroll_offset_survives_same_and_changed_publications ... ok
|
||||
test diagnostic_input::tests::replaced_primary_and_related_rows_consume_stale_release_then_accept_new_click ... ok
|
||||
test diagnostic_input::tests::replaced_touch_consumes_lift_or_cancel_even_when_hidden ... ok
|
||||
test diagnostic_input::tests::same_publication_missing_terminal_recovers_on_fresh_mouse_or_touch_down ... ok
|
||||
test diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame ... ok
|
||||
test diagnostic_input::tests::same_publication_preserves_focus_but_replacement_never_inherits_activation ... ok
|
||||
test diagnostic_input::tests::stale_release_does_not_bubble_to_real_background_controls ... ok
|
||||
test diagnostic_input::tests::stale_touch_release_does_not_disarm_a_new_current_gesture ... ok
|
||||
test diagnostic_input::tests::unrelated_finger_or_mouse_release_cannot_complete_another_fingers_press ... ok
|
||||
test diagram::lifecycle_tests::menu_reset_and_draw_use_fresh_open_context ... ok
|
||||
test diagram::lifecycle_tests::middle_and_arrow_panning_preserve_source_and_history ... ok
|
||||
test diagram::lifecycle_tests::motion_after_release_must_not_move_clicked_port ... ok
|
||||
test diagram::lifecycle_tests::motion_after_source_click_release_must_not_create_connection ... ok
|
||||
test diagram::pointer_tests::coalesced_fe_ports_commit_once_through_app_and_source_history ... ok
|
||||
test diagram::pointer_tests::coalesced_port_drag_commits_once_through_app_and_source_history ... ok
|
||||
test diagram::pointer_tests::drag_from_already_selected_stationary_port_keeps_source_between_batches ... ok
|
||||
test diagram::pointer_tests::menu_captured_motion_must_not_turn_following_click_into_old_port_drag ... ok
|
||||
test diagram::pointer_tests::modal_and_stale_epoch_block_queued_connection_and_port_commits ... ok
|
||||
test diagram::port_hit_tests::coincident_ports_keep_selection_then_use_stable_identity ... ok
|
||||
test diagram::port_hit_tests::nearest_port_center_wins_on_all_borders_and_zoom_levels ... ok
|
||||
test diagram::port_hit_tests::nested_owner_palette_selection_drag_and_context_menu_pick_the_same_port ... ok
|
||||
test diagram::port_labels::tests::leaving_and_reentering_keeps_suppression_until_each_held_button_releases ... ok
|
||||
test diagram::port_labels::tests::menu_epoch_clears_suppression_when_the_overlay_consumes_release ... ok
|
||||
test diagram::port_labels::tests::outside_presses_do_not_suppress_and_cancel_or_focus_loss_clear_held_buttons ... ok
|
||||
test diagram::port_labels::tests::passive_layer_leaves_port_drag_selection_and_commit_with_the_interactive_canvas ... ok
|
||||
test diagram::tests::association_end_contracts_share_svg_geometry_and_select_without_moving_name_label ... ok
|
||||
test diagram::tests::bend_gestures_use_screen_hit_radius_and_commit_one_undo_at_three_zooms ... ok
|
||||
test diagram::tests::coincident_line_hit_retains_the_selected_connection ... ok
|
||||
test diagram::tests::connection_gestures_pick_real_ports_and_commit_coalesced_drag_at_every_zoom ... ok
|
||||
test diagram::tests::detached_label_selects_connection_and_occluding_card_owns_its_hit ... ok
|
||||
test diagram::tests::dragging_a_child_previews_the_same_enclosure_and_ports_as_commit ... ok
|
||||
test diagram::tests::fast_drags_commit_the_release_cursor_without_a_final_motion_event ... ok
|
||||
test diagram::tests::implicit_port_click_selects_semantics_and_drag_preview_svg_share_anchors ... ok
|
||||
test diagram::tests::route_cache_ignores_pan_zoom_and_cancelled_drag_cannot_commit ... ok
|
||||
test diagram::tests::routed_svg_has_same_polyline_label_and_bounds_as_canvas_scene ... ok
|
||||
test diagram::tests::svg_distinguishes_inferred_work_allocation_from_direct_allocation ... ok
|
||||
test diagram::tests::svg_preserves_visible_exchange_labels_and_capability_stereotypes ... ok
|
||||
test diagram::tests::typed_function_glyphs_and_unoriented_standard_connections_have_distinct_svg ... ok
|
||||
test diagram::view_options_tests::communication_svg_uses_saved_visibility_labels_and_direction ... ok
|
||||
test document::alias_rename::tests::each_identity_family_changes_only_authored_alias_roles_and_one_history_entry ... ok
|
||||
test document::alias_rename::tests::equal_bytes_undo_replay_cross_document_and_exhausted_revision_refuse ... ok
|
||||
test document::alias_rename::tests::exact_history_capacity_admits_immediate_undo_and_rejects_larger_candidate ... ok
|
||||
test document::alias_rename::tests::highlighted_keyword_alias_is_valid_without_normalizing_input ... ok
|
||||
test document::alias_rename::tests::invalid_and_identical_aliases_preserve_live_state_and_redo ... ok
|
||||
test document::alias_rename::tests::mint_and_commit_refuse_exhausted_or_inconsistent_live_history_estimate ... ok
|
||||
test document::alias_rename::tests::mutable_public_preview_copies_cannot_change_prepared_authority ... ok
|
||||
test document::alias_rename::tests::preview_retains_latest_saved_baseline_and_recovery_state ... ok
|
||||
test document::save_as_tests::save_as_preserves_explicit_source_entry_changes_in_history ... ok
|
||||
test document::save_as_tests::save_as_rebases_uniform_history_without_an_undo_step_or_lost_redo ... ok
|
||||
test document::save_as_tests::save_as_rejects_included_filename_collisions_in_past_and_future_without_mutation ... ok
|
||||
test document::save_as_tests::save_as_rejects_stale_or_content_changing_receipt_atomically ... ok
|
||||
test document::tests::accepted_history_keeps_the_latest_hundred_complete_snapshots ... ok
|
||||
test document::tests::altered_compiled_model_or_index_is_rejected_without_mutation ... ok
|
||||
test document::tests::asynchronous_save_marks_its_snapshot_without_cleaning_later_edits ... ok
|
||||
test document::tests::byte_budget_trims_oldest_history_without_discarding_a_large_current ... ok
|
||||
test document::tests::cached_view_index_tracks_accepted_creation_undo_and_redo ... ok
|
||||
test document::tests::comment_and_semantic_history_restore_exact_bytes_and_branch_together ... ok
|
||||
test document::tests::creation_selects_the_single_uuid_persisted_in_source ... ok
|
||||
test document::tests::invalid_project_is_rejected_before_format_can_normalize_it ... ok
|
||||
test document::tests::nested_cross_file_reparent_and_source_edit_share_exact_history ... ok
|
||||
test document::tests::no_op_command_or_source_apply_preserves_history_revision_and_redo ... ok
|
||||
test document::tests::omitted_id_stabilization_remains_dirty_until_exact_source_is_saved ... ok
|
||||
test document::tests::recreated_equal_record_does_not_inherit_deleted_source_ownership ... ok
|
||||
test document::tests::rejected_compile_command_and_writeback_preserve_state_and_redo ... ok
|
||||
test explorer::tests::collapse_and_search_retain_context_without_changing_collapse_state ... ok
|
||||
test explorer::tests::deep_containment_and_search_keep_the_full_path_without_recursion ... ok
|
||||
test explorer::tests::equal_names_have_stable_alias_and_identity_tie_breakers ... ok
|
||||
test explorer::tests::perspective_isolation_and_allocations_do_not_change_containment ... ok
|
||||
test explorer::tests::prefix_names_cannot_separate_a_parent_from_its_children ... ok
|
||||
test forms::data_fields::tests::defaults_distinguish_absent_empty_and_typed_literals_with_escaped_unicode ... ok
|
||||
test forms::data_fields::tests::field_browser_pages_every_direct_field_without_flattening_other_records ... ok
|
||||
test forms::data_fields::tests::independent_review_combined_take_type_informs_actual_default_form_in_both_directions ... ok
|
||||
test forms::data_fields::tests::numeric_bound_drafts_keep_partial_and_full_precision_values_out_of_accepted_state ... ok
|
||||
test forms::data_fields::tests::selecting_qualified_path_preserves_expression_typed_before_the_next_render ... ok
|
||||
test forms::data_fields::tests::semantic_reference_choices_follow_selected_mechanism_and_revert_on_keep ... ok
|
||||
test forms::data_fields::tests::supertype_picker_excludes_descendants_and_keeps_original_inherited_field_identity ... ok
|
||||
test forms::history_fields::tests::history_absent_baseline_and_empty_history_use_explicit_facts_and_exact_document_history ... ok
|
||||
test forms::history_fields::tests::history_clear_discards_inactive_invalid_constructors_before_reusing_the_same_row ... ok
|
||||
test forms::history_fields::tests::history_compound_value_and_constructor_variants_are_editable_without_live_context ... ok
|
||||
test forms::history_fields::tests::history_deleted_keys_and_observation_uuids_remain_exact_and_duplicate_history_rejects ... ok
|
||||
test forms::history_fields::tests::history_every_descriptor_fact_choice_matches_actual_closed_types_and_source_contract ... ok
|
||||
test forms::history_fields::tests::history_exact_strings_do_not_confuse_uuid_shaped_prose_or_literal_keys_with_references ... ok
|
||||
test forms::history_fields::tests::history_invalid_numbers_survive_constructor_switch_reorder_removal_and_recovery ... ok
|
||||
test forms::history_fields::tests::history_missing_semantic_field_can_be_added_and_removed_without_touching_prose_or_live_objects ... ok
|
||||
test forms::history_fields::tests::history_nested_optional_number_events_switch_absent_present_and_recover_invalid_raw ... ok
|
||||
test forms::history_fields::tests::history_nested_uuid_and_list_events_preserve_present_values_and_tagged_item_branches ... ok
|
||||
test forms::history_fields::tests::history_optional_uuid_and_text_seed_absence_without_inventing_observations ... ok
|
||||
test forms::history_fields::tests::history_primitive_type_choices_remain_visible_inside_the_tagged_union ... ok
|
||||
test forms::history_fields::tests::history_retained_text_constructors_follow_exact_mode_without_changing_the_observation ... ok
|
||||
test forms::port_fields::tests::all_demo_records_roundtrip_through_graphical_and_escaped_string_drafts ... ok
|
||||
test forms::port_fields::tests::boundary_choices_honor_draft_direction_same_kind_and_direct_interface_items ... ok
|
||||
test forms::port_fields::tests::contract_choices_follow_owner_and_never_offer_legacy_or_oa_typed_ports ... ok
|
||||
test forms::port_fields::tests::failed_shape_keeps_incomplete_text_and_saved_contract_payloads ... ok
|
||||
test forms::port_fields::tests::functional_endpoints_require_owner_direction_and_items_but_retain_bad_current_choice ... ok
|
||||
test forms::port_fields::tests::interface_roles_offer_participants_and_component_ports_independent_of_orientation ... ok
|
||||
test forms::port_fields::tests::port_allocation_choices_use_actual_owner_direction_and_ignore_edited_relation ... ok
|
||||
test forms::port_fields::tests::standard_switch_retains_incompatible_orientation_until_explicit_repair ... ok
|
||||
test forms::port_fields::tests::switching_function_direction_preserves_invalid_items_and_each_authored_payload ... ok
|
||||
test forms::tests::data_and_port_choices_are_typed_but_retain_invalid_current_values ... ok
|
||||
test forms::tests::editing_allocation_offers_other_performers_without_counting_itself_twice ... ok
|
||||
test forms::tests::moving_placement_and_changing_identity_is_one_lossless_undoable_edit ... ok
|
||||
test forms::tests::parent_choices_reject_cycles_without_removing_clear_or_current_choice ... ok
|
||||
test forms::tests::reply_and_reuse_forms_offer_semantically_compatible_references ... ok
|
||||
test forms::tests::scenario_choices_respect_owner_and_exchange_layer ... ok
|
||||
test forms::tests::semantic_port_group_choices_use_combined_owner_and_retain_invalid_transferred_items ... ok
|
||||
test forms::tests::shared_perspective_change_keeps_payload_and_rejects_incompatible_dependencies ... ok
|
||||
test forms::tests::state_observation_picker_keeps_work_lifelines_allocated_to_machine_owner ... ok
|
||||
test forms::tests::state_placement_form_uses_draft_destination_membership_without_changing_other_views ... ok
|
||||
test forms::tests::state_projection_form_keeps_string_variants_and_requires_a_typed_context ... ok
|
||||
test forms::view_fields::tests::category_family_change_retains_members_until_explicit_correction ... ok
|
||||
test forms::view_fields::tests::selective_view_property_apply_recovery_and_undo_preserve_semantics_and_empty_choices ... ok
|
||||
test guide::tests::filtering_and_related_navigation_keep_selection_visible ... ok
|
||||
test guide::tests::guide_topic_navigation_resets_only_article_and_same_topic_search_keeps_scroll ... ok
|
||||
test guide::tests::search_finds_concepts_in_walkthroughs_and_api_reference ... ok
|
||||
test home::tests::corrupt_future_and_oversized_history_are_preserved_with_usable_session_history ... ok
|
||||
test home::tests::failed_metadata_replace_keeps_previous_history_and_reports_memory_only_entry ... ok
|
||||
test home::tests::first_and_replaced_metadata_are_parseable_and_contain_no_model_bytes ... ok
|
||||
test home::tests::forgotten_and_missing_files_never_change_the_model_or_other_entries ... ok
|
||||
test home::tests::loading_missing_history_does_not_create_files_or_directories ... ok
|
||||
test home::tests::malformed_entries_and_unknown_fields_never_become_open_requests ... ok
|
||||
test home::tests::successful_local_history_is_bounded_ordered_deduplicated_and_durable ... ok
|
||||
test home::tests::unavailable_location_can_reappear_on_refresh_without_losing_identity ... ok
|
||||
test home::tests::walkthrough_uses_packaged_bundle_before_development_and_reports_missing_assets ... ok
|
||||
test hosted::client::tests::hosted_endpoint_validation_redacts_secrets_and_preserves_proxy_paths ... ok
|
||||
test hosted::client::tests::hosted_lost_publication_response_is_uncertain_without_retry ... ok
|
||||
test hosted::client::tests::hosted_open_rejects_incoherent_envelopes_missing_etags_and_unstable_ids ... ok
|
||||
test hosted::client::tests::hosted_oversized_local_bundle_is_rejected_before_network_admission ... ok
|
||||
test hosted::client::tests::hosted_production_auth_proxy_prefix_and_located_rejection ... ok
|
||||
test hosted::client::tests::hosted_production_roundtrip_preserves_comments_noops_and_conflicts ... ok
|
||||
test hosted::client::tests::hosted_publication_race_keeps_receipt_identity_for_review ... ok
|
||||
test hosted::client::tests::hosted_publication_retains_known_resource_after_failed_followup ... ok
|
||||
test hosted::client::tests::hosted_put_preserves_an_opaque_etag_and_compiles_the_accepted_bundle ... ok
|
||||
test hosted::client::tests::hosted_redirect_is_not_followed_or_retried_and_problem_tokens_are_redacted ... ok
|
||||
test hosted::client::tests::hosted_response_limits_cover_declared_and_chunked_bodies ... ok
|
||||
test hosted::client::tests::hosted_structured_mutation_failures_distinguish_precommit_rejections ... ok
|
||||
test hosted::client::tests::hosted_timeout_and_disconnect_leave_mutation_outcomes_explicit ... ok
|
||||
test model_menu::tests::add_bend_here_uses_context_point_and_one_source_aware_history_change ... ok
|
||||
test model_menu::tests::late_menu_actions_do_not_dismiss_new_menu_or_cross_view_context ... ok
|
||||
test model_menu::tests::menu_preserves_pending_properties_and_rejects_delayed_mutations ... ok
|
||||
test model_menu::tests::pending_source_allows_file_navigation_but_disables_model_actions ... ok
|
||||
test model_menu::tests::right_click_targets_actor_without_changing_selection_until_action ... ok
|
||||
test model_menu::tests::show_from_explorer_places_unfolds_and_keeps_semantic_selection ... ok
|
||||
test model_menu::tests::state_menu_folds_and_hides_only_its_captured_placement_and_rejects_stale_views ... ok
|
||||
test model_menu::tests::state_menu_keeps_typed_creation_reachable_and_preserves_pending_properties ... ok
|
||||
test navigation::tests::semantic_browser_finds_behavior_users_without_confusing_containment ... ok
|
||||
test port_edit::tests::all_border_drags_commit_exact_preview_and_restore_automatic_anchors_in_history ... ok
|
||||
test port_edit::tests::graphical_port_reparent_clears_old_anchors_in_the_same_history_operation ... ok
|
||||
test port_preview::tests::functional_creation_identifies_new_and_reused_endpoints_and_owners ... ok
|
||||
test port_preview::tests::legacy_split_discloses_endpoint_routing_item_origins_and_retained_evidence ... ok
|
||||
test port_preview::tests::reused_boundary_shows_item_union_and_existing_allocating_facts ... ok
|
||||
test port_preview::tests::synchronization_preview_exposes_contract_shrinkage_and_current_declaration_origin ... ok
|
||||
test port_workflow::recovery_tests::port_recovery_retains_authored_contract_and_identity_but_rebuilds_preview ... ok
|
||||
test port_workflow::tests::creating_typed_port_and_rejecting_stale_preview_preserve_drafts_and_identity ... ok
|
||||
test port_workflow::tests::graphical_function_exchange_and_component_generation_commit_and_undo_whole_contracts ... ok
|
||||
test port_workflow::tests::legacy_resolution_preserves_original_record_and_applies_as_one_undo ... ok
|
||||
test port_workflow::tests::port_creation_keeps_owner_diagram_and_unfolds_in_the_same_undo ... ok
|
||||
test port_workflow::tests::synchronization_uses_active_contract_instead_of_preserved_direction ... ok
|
||||
test recovery::source5::tests::source5_fingerprint_preserves_historical_field_order_and_diagram_shape ... ok
|
||||
test recovery::source5_tests::source4_checkpoint_remains_explicitly_unsupported_without_touching_disk ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_does_not_refresh_unrelated_clean_buffer_baseline ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_missing_identity_is_not_a_lossless_upgrade ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_old_diagram_property_shape_remains_editable ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_port_draft_replans_and_rejects_stale_base ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_preserves_dirty_invalid_text_and_baseline_exactly ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_preserves_distinct_unapplied_open_workspace ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_property_preserves_invalid_raw_input ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_upgrade_never_rewrites_checkpoint_or_origin ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_upgrades_only_header_and_clean_editor_baseline ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_workflow_rebinds_only_the_proven_old_revision ... ok
|
||||
test recovery::source7_tests::source7_current_combined_contextual_and_operation_drafts_survive_without_execution ... ok
|
||||
test recovery::source7_tests::source7_explicit_new_fields_cannot_enter_frozen_old_model_profiles ... ok
|
||||
test recovery::source7_tests::source7_legacy_inactive_constructor_path_is_structural_but_raw_prose_is_not ... ok
|
||||
test recovery::source7_tests::source7_legacy_profile_workflow_and_semantic_drafts_replan_with_exact_base ... ok
|
||||
test recovery::source7_tests::source7_legacy_profiles_preserve_dirty_source_property_and_behavior_raw_fields ... ok
|
||||
test recovery::source7_tests::source7_legacy_structural_intent_rejects_even_null_but_never_scans_raw_strings ... ok
|
||||
test recovery::source7_tests::source7_legacy_view_selector_refuses_new_relation_kind_without_rewriting_checkpoint ... ok
|
||||
test recovery::source7_tests::source7_recovers_nonempty_frozen_5_and_6_profiles_with_exact_historical_binding ... ok
|
||||
test recovery::tests::altered_accepted_identity_and_unrecognized_raw_property_fields_reject ... ok
|
||||
test recovery::tests::exact_source_and_unfinished_invalid_buffers_restore_without_model_overwrite ... ok
|
||||
test recovery::tests::excess_retained_buffers_cannot_replace_the_last_recoverable_checkpoint ... ok
|
||||
test recovery::tests::invalid_open_retains_distinct_accepted_model_and_repair_workspace ... ok
|
||||
test recovery::tests::missing_includes_remain_reachable_repair_targets_without_fabricated_buffers ... ok
|
||||
test recovery::tests::multiple_sessions_replace_only_their_own_checkpoint_and_corruption_is_retained ... ok
|
||||
test recovery::tests::raw_invalid_property_number_survives_and_stays_rejected_until_repaired ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_draft_cannot_target_an_unreserved_or_non_artifact_identity ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_raw_variants_duplicate_addresses_and_unknown_fields_are_refused ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_reservations_cannot_duplicate_or_claim_an_existing_identity_or_another_owner ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::legitimate_invalid_artifact_checkpoint_round_trips_and_prepares_only_after_explicit_repair ... ok
|
||||
test semantic_review::artifacts_tests::artifact_candidate_is_a_complete_record_not_a_tombstone_or_unattached_creation_shortcut ... ok
|
||||
test semantic_review::artifacts_tests::artifact_creation_and_identified_source_deletion_follow_core_metadata_and_history_boundary_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_gui_reserves_recovers_and_creates_only_after_all_seven_metadata_reviews_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_metadata_apply_and_exact_history_reset_are_one_source_preserving_undo_redo ... ok
|
||||
test semantic_review::artifacts_tests::artifact_move_metadata_none_empty_and_invalid_raw_recovery_are_independent_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_moved_source_absence_deletes_but_destination_only_take_retains_both_directions ... ok
|
||||
test semantic_review::attachments::tests::absent_attachment_payloads_migrate_v1_and_v2_and_source5_upgrade_requires_exact_legacy_base ... ok
|
||||
test semantic_review::attachments::tests::addressed_attachment_candidates_equal_direct_core_oracle_both_directions ... ok
|
||||
test semantic_review::attachments::tests::attachment_apply_is_one_exact_source_and_history_undo_redo ... ok
|
||||
test semantic_review::attachments::tests::attachment_candidate_and_direct_record_keep_conflict_on_actual_slot_without_losing_drafts ... ok
|
||||
test semantic_review::attachments::tests::attachment_pair_drafts_survive_family_switch_and_restore_without_mutating_model ... ok
|
||||
test semantic_review::attachments::tests::functional_incident_source_requires_explicit_matching_port_review_in_one_atomic_candidate ... ok
|
||||
test semantic_review::attachments::tests::parent_and_each_endpoint_candidate_preserve_other_fields_and_match_core_both_directions ... ok
|
||||
test semantic_review::attachments::tests::raw_rejected_attachment_reference_survives_recovery_and_wrong_scope_is_rejected ... ok
|
||||
test semantic_review::attachments::tests::source_only_absence_and_explicit_absent_endpoint_are_different ... ok
|
||||
test semantic_review::attachments::tests::two_incident_endpoint_candidates_form_one_complete_record_and_recover_invalid_excluded_draft ... ok
|
||||
test semantic_review::batch_tests::batch_apply_is_one_exact_source_and_history_undo_redo_roundtrip ... ok
|
||||
test semantic_review::batch_tests::batch_candidate_conflict_keeps_both_raw_values_and_keep_is_a_real_constraint ... ok
|
||||
test semantic_review::batch_tests::batch_complete_constructor_cannot_erase_another_rows_new_literal ... ok
|
||||
test semantic_review::batch_tests::batch_constructor_retirement_conflicts_with_another_rows_kept_bound_in_both_orders ... ok
|
||||
test semantic_review::batch_tests::batch_delayed_text_targets_its_original_row_and_facet_without_switching_focus ... ok
|
||||
test semantic_review::batch_tests::batch_excluded_invalid_row_survives_focus_reopen_and_v2_recovery ... ok
|
||||
test semantic_review::batch_tests::batch_first_equal_constructor_acknowledgement_allows_an_independent_bound ... ok
|
||||
test semantic_review::batch_tests::batch_joint_bounds_use_one_candidate_and_match_an_independent_atomic_core_oracle ... ok
|
||||
test semantic_review::batch_tests::batch_reverse_distinct_targets_work_and_reverse_convergence_is_explicit ... ok
|
||||
test semantic_review::batch_tests::batch_v2_rejects_duplicate_included_sources_bad_addresses_and_stale_model ... ok
|
||||
test semantic_review::batch_tests::category_family_and_members_are_independent_core_checked_facets_both_directions ... ok
|
||||
test semantic_review::batch_tests::recovered_trace_picker_names_existing_trace_instead_of_deleted_reference ... ok
|
||||
test semantic_review::batch_tests::rejected_direction_switch_at_row_limit_preserves_every_recoverable_draft ... ok
|
||||
test semantic_review::compose::diagnostic_tests::distinct_review_conflict_keeps_trace_aliases_even_when_names_are_equal ... ok
|
||||
test semantic_review::compose::diagnostic_tests::reserved_creation_conflict_uses_its_rows_seed_instead_of_a_deleted_reference ... ok
|
||||
test semantic_review::compose::diagnostic_tests::same_review_presence_and_owner_conflict_names_both_facets_and_owners_and_retains_drafts ... ok
|
||||
test semantic_review::compose::diagnostic_tests::typed_owner_display_does_not_reinterpret_uuid_shaped_artifact_text ... ok
|
||||
test semantic_review::constructor_tests::closed_data_and_event_take_composition_matches_core_across_every_kind_pair_and_direction ... ok
|
||||
test semantic_review::constructor_tests::data_group_candidates_cover_every_definition_and_companion_default_both_directions ... ok
|
||||
test semantic_review::constructor_tests::data_group_retains_invalid_sibling_drafts_companion_default_and_variant_editor_buffers ... ok
|
||||
test semantic_review::constructor_tests::exchange_constructor_takes_qualified_annotation_addresses_without_remapping_expression_text ... ok
|
||||
test semantic_review::constructor_tests::existing_fragment_and_branch_group_candidates_edit_complete_owned_order_without_deletion ... ok
|
||||
test semantic_review::constructor_tests::group_take_reference_payload_and_scalar_candidate_match_core_and_one_document_batch ... ok
|
||||
test semantic_review::constructor_tests::historical_event_keep_retires_only_obsolete_branch_and_unchanged_kind_acknowledges_no_payload ... ok
|
||||
test semantic_review::constructor_tests::historical_same_kind_take_preserves_target_only_literals_when_composed_with_candidate ... ok
|
||||
test semantic_review::constructor_tests::occurrence_and_event_candidate_variants_cover_closed_families_without_touching_headers ... ok
|
||||
test semantic_review::constructor_tests::outer_and_nested_constructor_candidates_require_explicit_resolution_and_retain_both_drafts ... ok
|
||||
test semantic_review::constructor_tests::port_group_companions_typed_owner_context_and_direction_restrictions_are_explicit ... ok
|
||||
test semantic_review::constructor_tests::reverse_existing_typed_port_reviews_keep_or_candidate_legacy_without_permitting_typed_oa_write ... ok
|
||||
test semantic_review::constructor_tests::scenario_use_group_takes_typed_binding_references_and_preserves_source_text_both_directions ... ok
|
||||
test semantic_review::keyed_rows_tests::annotation_address_browser_descends_qualified_fields_without_changing_rows ... ok
|
||||
test semantic_review::keyed_rows_tests::annotation_observations_keep_uuid_shaped_expression_text_in_both_sides_and_history ... ok
|
||||
test semantic_review::keyed_rows_tests::batch_keyed_rows_compare_exact_target_slots_and_retain_independent_values ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_choices_separate_reused_keys_from_local_lifelines ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_local_picker_follows_a_candidate_parent_before_the_review_is_valid ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_take_requires_local_correspondence_and_candidate_rejects_wrong_scenario ... ok
|
||||
test semantic_review::keyed_rows_tests::independent_rows_keep_take_candidate_match_core_and_preserve_siblings_both_directions ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_recovery_retains_raw_rows_and_staged_pairs_both_directions_without_applying ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_row_drafts_retain_expression_local_and_presence_across_decisions_and_staging ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_rows_distinguish_unpaired_source_from_explicit_absence_and_require_exact_reset ... ok
|
||||
test semantic_review::keyed_rows_tests::multiple_new_rows_compose_in_empty_collections_using_destination_key_order ... ok
|
||||
test semantic_review::keyed_rows_tests::row_review_apply_preserves_exact_source_and_semantic_history_through_undo_redo ... ok
|
||||
test semantic_review::keyed_tests::deleted_member_source_observation_removes_only_mapped_membership_both_directions ... ok
|
||||
test semantic_review::keyed_tests::exact_literal_new_rows_and_removals_commit_both_directions_without_default_loss ... ok
|
||||
test semantic_review::keyed_tests::exact_reset_only_is_one_history_source_transaction_and_undo_redo_both_directions ... ok
|
||||
test semantic_review::keyed_tests::function_port_members_use_existing_typed_choices_and_preserve_oa_legacy ... ok
|
||||
test semantic_review::keyed_tests::historical_one_sided_pair_migration_requires_exact_reset_and_explicit_overlap_resolution ... ok
|
||||
test semantic_review::keyed_tests::invalid_literal_removal_and_unselected_scalar_buffers_are_retained_and_repairable ... ok
|
||||
test semantic_review::keyed_tests::member_identity_labels_and_new_tabs_preserve_exact_names_and_deleted_keys ... ok
|
||||
test semantic_review::keyed_tests::reset_precedes_equal_constructor_candidate_and_preserves_independent_literal_draft ... ok
|
||||
test semantic_review::keyed_tests::staging_removal_and_obsolete_reset_recovery_keep_other_decisions_and_raw_presence ... ok
|
||||
test semantic_review::keyed_tests::stale_or_source_failed_reset_and_membership_apply_retain_exact_choices ... ok
|
||||
test semantic_review::keyed_tests::unordered_members_keep_take_candidate_preserve_other_rows_both_directions ... ok
|
||||
test semantic_review::keyed_tests::unsupported_independent_families_and_missing_identities_do_not_gain_edit_authority ... ok
|
||||
test semantic_review::message_kind_tests::message_group_candidate_closed_kinds_are_core_validated_in_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_candidate_timer_switches_preserve_both_drafts_and_overlap_is_explicit ... ok
|
||||
test semantic_review::message_kind_tests::message_group_initial_equal_take_acknowledges_only_kind_and_checks_authored_timer_agreement ... ok
|
||||
test semantic_review::message_kind_tests::message_group_keep_historical_switch_retires_timer_and_completed_no_switch_rejects ... ok
|
||||
test semantic_review::message_kind_tests::message_group_rejects_protected_edits_stale_plan_and_source_failure_without_losing_timer ... ok
|
||||
test semantic_review::message_kind_tests::message_group_reply_and_reference_take_require_explicit_call_mapping_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_take_full_timer_and_scalar_candidate_are_one_source_history_change_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_timer_does_not_erase_exchange_without_its_own_selected_decision ... ok
|
||||
test semantic_review::ordered_tests::ambiguous_order_preserves_local_member_and_requires_explicit_candidate_positions ... ok
|
||||
test semantic_review::ordered_tests::historical_pair_restore_uses_exact_member_keys_and_never_zips_order_observations ... ok
|
||||
test semantic_review::ordered_tests::order_take_preserves_destination_only_positions_and_order_alone_cannot_add_members ... ok
|
||||
test semantic_review::ordered_tests::ordered_membership_choices_stage_exact_pairs_in_all_owner_shapes ... ok
|
||||
test semantic_review::ordered_tests::ordered_presence_keep_take_candidate_remove_only_selected_entry_and_order_take_reorders_only ... ok
|
||||
test semantic_review::ordered_tests::ordered_review_apply_is_exact_source_history_transaction_with_reopen_and_undo_redo ... ok
|
||||
test semantic_review::ordered_tests::ordered_take_uses_unique_anchors_and_matches_core_with_unrelated_candidate_both_directions ... ok
|
||||
test semantic_review::ordered_tests::raw_order_survives_membership_changes_decisions_and_recovery_until_explicit_reconcile ... ok
|
||||
test semantic_review::ordered_tests::several_incoming_members_follow_source_order_despite_independent_identity_sorting ... ok
|
||||
test semantic_review::recovery::tests::raw_scalar_and_closed_constructor_drafts_recover_against_exact_model_only ... ok
|
||||
test semantic_review::recovery::tests::version_one_without_orders_restores_raw_intent_and_replans_without_execution ... ok
|
||||
test semantic_review::source7_tests::contextual_incident_leaf_keep_allows_path_change_but_conflicts_with_changed_leaf_both_directions ... ok
|
||||
test semantic_review::source7_tests::reverse_operation_omission_gui_requires_raw_rationale_and_matches_one_core_batch_after_recovery ... ok
|
||||
test semantic_review::source7_tests::semantic_operation_virtual_none_candidate_uses_exact_allocation_and_preserves_accepted_bytes ... ok
|
||||
test semantic_review::tests::candidate_mixed_with_reference_take_uses_typed_correspondence_not_text_guessing ... ok
|
||||
test semantic_review::tests::deselected_invalid_candidate_is_retained_but_does_not_poison_another_selected_scalar ... ok
|
||||
test semantic_review::tests::explicit_trace_selection_updates_only_that_history ... ok
|
||||
test semantic_review::tests::first_equal_constructor_acknowledges_only_kind_and_allows_independent_leaves ... ok
|
||||
test semantic_review::tests::independent_review_clear_bound_ignores_retained_invalid_other_facet ... ok
|
||||
test semantic_review::tests::independent_review_keyed_fact_titles_keep_live_deleted_and_qualified_identity ... ok
|
||||
test semantic_review::tests::inherited_annotation_impact_requires_exact_acceptance_and_edits_clear_approval ... ok
|
||||
test semantic_review::tests::invalid_numeric_draft_and_protected_edits_retain_workflow_and_source ... ok
|
||||
test semantic_review::tests::read_only_structured_facts_and_partial_rollup_are_honest ... ok
|
||||
test semantic_review::tests::relation_candidates_preserve_endpoints_and_combine_selected_roles_and_bounds ... ok
|
||||
test semantic_review::tests::scalar_keep_take_candidate_commit_exact_source_and_history_in_both_directions ... ok
|
||||
test semantic_review::tests::scoped_literal_list_edits_preserve_unfinished_values_and_other_facet_buffers ... ok
|
||||
test semantic_review::tests::stale_plan_and_source_writeback_failure_do_not_lose_decisions_or_history ... ok
|
||||
test semantic_review::tests::state_kind_scalar_uses_typed_candidate_and_core_validation ... ok
|
||||
test semantic_review::view::reserved_artifact_tests::reserved_artifact_facet_and_reference_labels_survive_recovery_without_calling_it_deleted ... ok
|
||||
test source_navigation::interaction::tests::captured_find_click_invalidates_without_app_message_and_preserves_focus ... ok
|
||||
test source_navigation::interaction::tests::focus_rechecks_clock_between_inspection_and_application_and_missing_target_is_inert ... ok
|
||||
test source_navigation::interaction::tests::raw_navigation_inputs_advance_but_passive_geometry_does_not_and_exhaustion_refuses ... ok
|
||||
test source_navigation::query::tests::comments_strings_and_comment_gap_are_not_navigation_hits ... ok
|
||||
test source_navigation::query::tests::detached_alias_and_identity_collisions_never_auto_select ... ok
|
||||
test source_navigation::query::tests::dirty_but_parseable_text_has_current_names_and_no_validated_fallback ... ok
|
||||
test source_navigation::query::tests::exact_multifile_unicode_crlf_definition_and_repeated_lexical_references ... ok
|
||||
test source_navigation::query::tests::exact_snapshot_readback_rejects_same_key_byte_membership_and_evidence_changes ... ok
|
||||
test source_navigation::query::tests::include_cycle_depth_and_aggregate_edges_are_explicit_partial_outcomes ... ok
|
||||
test source_navigation::query::tests::invalid_include_syntax_never_borrows_the_old_reachable_file_set ... ok
|
||||
test source_navigation::query::tests::keyword_alias_and_loaded_path_case_collisions_use_reviewed_index_rules ... ok
|
||||
test source_navigation::query::tests::large_display_name_cannot_escape_the_owned_row_string_budget ... ok
|
||||
test source_navigation::query::tests::missing_and_noncanonical_authored_ids_remain_draft_spans_without_generated_anchors ... ok
|
||||
test source_navigation::query::tests::missing_include_partial_scope_does_not_resurrect_witness_text ... ok
|
||||
test source_navigation::query::tests::omitted_rows_are_counted_before_result_allocation_and_never_confer_uniqueness ... ok
|
||||
test source_navigation::query::tests::origin_keeps_exact_hit_when_display_rows_are_omitted ... ok
|
||||
test source_navigation::query::tests::owned_request_checks_raw_limits_immediately_and_extracts_only_on_worker ... ok
|
||||
test source_navigation::query::tests::owned_request_moves_exact_text_into_worker_snapshot_and_matches_sync_results ... ok
|
||||
test source_navigation::query::tests::owned_validation_proof_preserves_full_witness_count_and_partial_scope ... ok
|
||||
test source_navigation::query::tests::raw_aggregate_limits_refuse_before_outline_or_copied_snapshot ... ok
|
||||
test source_navigation::query::tests::sole_detached_candidate_and_unapplied_equal_bytes_require_choice ... ok
|
||||
test source_navigation::query::tests::token_declaration_and_live_reference_limits_are_aggregate_not_per_file ... ok
|
||||
test source_navigation::query::tests::validation_witness_must_match_entry_and_complete_included_file_set ... ok
|
||||
test source_navigation::symbols::tests::admitted_unicode_path_budget_keeps_original_policy_after_single_fold ... ok
|
||||
test source_navigation::symbols::tests::comment_separated_reference_keeps_crlf_unicode_and_disjoint_hit_spans ... ok
|
||||
test source_navigation::symbols::tests::declaration_order_and_duplicate_roles_refuse_instead_of_corrupting_hit_search ... ok
|
||||
test source_navigation::symbols::tests::detached_uuid_clone_disables_anchor_even_for_included_query ... ok
|
||||
test source_navigation::symbols::tests::duplicate_aliases_are_candidates_without_false_reference_attribution ... ok
|
||||
test source_navigation::symbols::tests::every_budget_admits_boundary_and_returns_no_index_one_below ... ok
|
||||
test source_navigation::symbols::tests::header_metadata_must_match_current_token_boundaries_and_authored_id ... ok
|
||||
test source_navigation::symbols::tests::incomplete_draft_is_lexical_and_error_token_does_not_leak_references ... ok
|
||||
test source_navigation::symbols::tests::legal_keyword_classified_alias_is_not_discarded ... ok
|
||||
test source_navigation::symbols::tests::missing_ids_produce_only_current_snapshot_locations_without_stabilization ... ok
|
||||
test source_navigation::symbols::tests::nested_declaration_extents_do_not_turn_body_text_into_definition_hits ... ok
|
||||
test source_navigation::symbols::tests::noncanonical_header_identity_cannot_enter_through_query_metadata ... ok
|
||||
test source_navigation::symbols::tests::path_identity_rejects_normalization_and_case_collisions ... ok
|
||||
test source_navigation::symbols::tests::query_header_admission_preserves_uppercase_and_json_escape_bytes ... ok
|
||||
test source_navigation::symbols::tests::repeated_live_uses_are_distinct_and_strings_comments_history_are_excluded ... ok
|
||||
test source_navigation::symbols::tests::reused_alias_cannot_steal_old_identity_and_old_locations_are_stale ... ok
|
||||
test source_navigation::symbols::tests::scope_provenance_and_detached_alias_collision_are_explicit ... ok
|
||||
test source_navigation::symbols::tests::stopped_outline_is_not_a_successful_empty_query ... ok
|
||||
test source_navigation::symbols::tests::truncated_or_gapped_tokens_refuse_even_when_project_scope_is_partial ... ok
|
||||
test source_navigation::symbols::tests::unicode_path_collisions_match_core_lowercase_policy ... ok
|
||||
test source_navigation::tests::search_uses_utf8_columns_wraps_and_refreshes_after_edits ... ok
|
||||
test source_rename::origin::tests::maps_last_repeated_reference_with_unicode_crlf_and_comment_separator ... ok
|
||||
test source_rename::origin::tests::permits_identifier_keyword_transitions_in_alias_roles ... ok
|
||||
test source_rename::origin::tests::preserves_final_same_line_occurrence_not_first_or_prose ... ok
|
||||
test source_rename::origin::tests::rejects_changed_trivia_non_alias_words_and_wrong_marker ... ok
|
||||
test source_rename::preview::tests::each_bound_is_exact_and_overflow_never_returns_a_partial_preview ... ok
|
||||
test source_rename::preview::tests::first_and_last_lines_form_complete_separate_hunks_and_pages ... ok
|
||||
test source_rename::preview::tests::limits_apply_to_the_whole_preview_not_each_file ... ok
|
||||
test source_rename::preview::tests::long_unicode_lines_are_fully_reachable_as_bounded_fragments ... ok
|
||||
test source_rename::preview::tests::nearby_changes_merge_and_all_changed_files_are_reachable ... ok
|
||||
test source_rename::preview::tests::preserves_unicode_mixed_endings_and_counts_lines_not_repeated_uses ... ok
|
||||
test source_rename::preview::tests::refuses_membership_entry_line_count_and_line_ending_changes ... ok
|
||||
test source_rename::preview::tests::unchanged_and_empty_sources_have_no_preview ... ok
|
||||
test source_tree::tests::active_scroll_offset_uses_the_visible_order_and_retains_ancestor_context ... ok
|
||||
test source_tree::tests::collapsed_folders_retain_active_dirty_and_diagnostic_markers ... ok
|
||||
test source_tree::tests::deep_paths_build_expand_and_drop_on_a_small_stack ... ok
|
||||
test source_tree::tests::detached_buffers_keep_paths_and_only_clean_buffers_are_closable ... ok
|
||||
test source_tree::tests::exact_unicode_spaces_and_file_folder_name_collisions_are_not_normalized ... ok
|
||||
test source_tree::tests::folders_are_compact_and_sorted_before_files_without_losing_duplicate_basenames ... ok
|
||||
test source_workspace::tests::draft_history_budget_covers_inactive_files_without_discarding_drafts ... ok
|
||||
test source_workspace::tests::fresh_session_cannot_reuse_a_retained_buffer_generation ... ok
|
||||
test source_workspace::tests::navigation_revision_wrap_cannot_reuse_an_old_workspace_key ... ok
|
||||
test source_workspace::tests::navigation_scope_changes_invalidate_without_changing_unchanged_positions ... ok
|
||||
test source_workspace::tests::navigation_versions_distinguish_reopened_recovered_and_changed_drafts ... ok
|
||||
test source_workspace::tests::switching_retains_invalid_drafts_and_independent_history ... ok
|
||||
test tests::actor_port_creation_updates_containment_and_locate_reveals_its_owner ... ok
|
||||
test tests::adding_bend_between_close_ports_stays_outside_owner_clearance ... ok
|
||||
test tests::behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views ... ok
|
||||
test tests::bidirectional_transition_ui_commits_once_and_preserves_other_diagrams ... ok
|
||||
test tests::counterpart_creation_focuses_visible_target_and_reuse_keeps_views ... ok
|
||||
test tests::creation_from_capabilities_routes_work_to_architecture_and_folded_allocation_inserts_below_existing_work ... ok
|
||||
test tests::dragging_keeps_semantic_selection_and_same_node_remains_editable ... ok
|
||||
test tests::escaped_string_mode_preserves_exact_control_characters ... ok
|
||||
test tests::every_demo_record_has_a_lossless_graphical_draft ... ok
|
||||
test tests::explicit_relationship_builder_never_mutates_on_preview ... ok
|
||||
test tests::explorer_and_creation_selection_follow_their_own_placement ... ok
|
||||
test tests::fit_adapts_to_canvas_returning_after_help_but_preserves_manual_navigation ... ok
|
||||
test tests::fit_uses_measured_canvas_bounds_and_preserves_them_on_open ... ok
|
||||
test tests::focused_explorer_follows_reparenting_without_changing_identity ... ok
|
||||
test tests::graphical_rename_keeps_aliases_and_references_and_undo ... ok
|
||||
test tests::identity_property_change_is_atomic_and_rewrites_all_live_references ... ok
|
||||
test tests::invalid_numeric_draft_survives_navigation_save_and_help ... ok
|
||||
test tests::invalid_save_and_continue_returns_to_repairable_draft ... ok
|
||||
test tests::malformed_source_preserves_model_and_is_recoverable ... ok
|
||||
test tests::manual_trace_requires_target_and_selection_normalizes_creation_kind ... ok
|
||||
test tests::mission_capability_authoring_is_contextual_atomic_and_text_equivalent ... ok
|
||||
test tests::modal_owns_background_commands_and_shortcuts ... ok
|
||||
test tests::nested_allocation_insertion_reflows_sibling_subtrees_and_preserves_fold_state ... ok
|
||||
test tests::opening_and_creating_models_preserve_the_actual_window_size_for_fit ... ok
|
||||
test tests::opening_legacy_source_surfaces_report_without_modifying_original_bytes ... ok
|
||||
test tests::pending_source_prevents_property_draft_collision_and_preserves_both_if_present ... ok
|
||||
test tests::placement_identity_edit_then_drag_and_diagram_identity_then_arrange ... ok
|
||||
test tests::placement_relocation_follows_cross_layer_traceability_view ... ok
|
||||
test tests::property_enum_and_optional_reference_roundtrip ... ok
|
||||
test tests::reopening_canvas_for_a_modal_preserves_viewport_after_route_edits ... ok
|
||||
test tests::revealing_an_implicit_function_port_unfolds_its_visible_architecture_owner ... ok
|
||||
test tests::routing_actions_are_atomic_guarded_and_fit_the_authored_detour ... ok
|
||||
test tests::selecting_current_constructors_preserves_payloads ... ok
|
||||
test tests::source_find_navigates_an_invalid_draft_without_applying_or_losing_it ... ok
|
||||
test tests::source_navigation_waits_for_editor_layout_and_cancels_on_edit ... ok
|
||||
test tests::system_only_models_open_the_populated_perspective ... ok
|
||||
test tests::transition_resolutions_belong_to_the_effective_target_and_kind ... ok
|
||||
test view_copy::tests::duplicate_retains_ports_routes_options_and_artifact_claims_with_exact_undo_redo ... ok
|
||||
test view_copy::tests::duplicate_state_view_preserves_machine_nesting_and_collapse_with_unique_aliases ... ok
|
||||
test view_copy::tests::missing_view_does_not_propose_an_empty_replacement ... ok
|
||||
test views::source_symbols::tests::suffixes_distinguish_nested_duplicate_basenames_without_changing_unicode ... ok
|
||||
test views::source_tests::source_editor_windows_menu_payload_is_inert_but_space_and_altgr_still_edit ... ok
|
||||
test views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests ... ok
|
||||
test views::text_workspace::tests::five_slots_keep_editor_state_and_selection_through_explicit_and_passive_changes ... ok
|
||||
test views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds ... ok
|
||||
test views::text_workspace::tests::keyboard_resize_uses_effective_height_and_only_exact_open_drawer_shortcut ... ok
|
||||
test views::traceability::tests::traceability_browsing_retains_invalid_property_draft_and_existing_select_guard ... ok
|
||||
test views::traceability::tests::traceability_filter_reaches_artifacts_after_68_traces_and_searches_all_metadata ... ok
|
||||
test workflow::communication::tests::communication_requires_two_explicit_ports_and_recovers_the_partial_choice ... ok
|
||||
test workflow::port_authoring_tests::boundary_picker_matches_exact_commands_across_contracts_and_ownership ... ok
|
||||
test workflow::port_authoring_tests::boundary_picker_recomputes_for_unoriented_reverse_endpoints_without_relaxing_contracts ... ok
|
||||
test workflow::port_authoring_tests::duplicate_port_names_show_owner_contract_and_unique_alias ... ok
|
||||
test workflow::port_authoring_tests::fresh_functions_are_actual_picker_targets_and_plan_enables_apply ... ok
|
||||
test workflow::port_authoring_tests::generic_component_port_connection_keeps_its_endpoint_and_direction ... ok
|
||||
test workflow::port_authoring_tests::ordinary_standard_connections_default_unoriented_and_new_roles_exclude_legacy ... ok
|
||||
test workflow::recovery::tests::incomplete_relationship_and_trace_recover_raw_fields_and_reject_changed_model ... ok
|
||||
test workflow::recovery::tests::transition_recovery_replans_typed_request_without_persisted_commands ... ok
|
||||
test workflow::transition_tests::basic_transition_boundary_choice_is_required_without_an_inferred_system ... ok
|
||||
test workflow::transition_tests::basic_transition_creates_overview_when_existing_views_cannot_show_result ... ok
|
||||
test workflow::transition_tests::basic_transition_explicit_destination_appends_below_existing_bounds_and_is_one_source_edit ... ok
|
||||
test workflow::transition_tests::basic_transition_invalid_explicit_destination_retains_choice_and_refuses ... ok
|
||||
test workflow::transition_tests::basic_transition_reconcile_keeps_existing_selected_view_placement_and_route_exact ... ok
|
||||
test workflow::transition_tests::basic_transition_skips_lowest_uuid_state_view_and_preserves_oa ... ok
|
||||
|
||||
failures:
|
||||
|
||||
---- app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application stdout ----
|
||||
|
||||
thread 'app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application' (5548) panicked at crates\oa-desktop\src\app\text_workspace\tests.rs:166:5:
|
||||
assertion failed: app.source_dirty() && app.draft_dirty()
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
|
||||
|
||||
failures:
|
||||
app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application
|
||||
|
||||
test result: FAILED. 853 passed; 1 failed; 3 ignored; 0 measured; 0 filtered out; finished in 431.87s
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"clippy",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--all-targets",
|
||||
"--",
|
||||
"-D",
|
||||
"warnings"
|
||||
],
|
||||
"started": "2026-09-13T02:17:18.545638+00:00",
|
||||
"finished": "2026-09-13T02:18:27.557632+00:00",
|
||||
"seconds": 69.0105631999977,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stderrSha256": "a70ed5d4d8190ebfd2181690bed4c5ae67c8f17f57c357299da9fa4848aa2940"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Checking oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `dev` profile [unoptimized] target(s) in 1m 08s
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"atUtc": "2026-09-13T02:37:33.741745+00:00",
|
||||
"inputsUnchanged": true,
|
||||
"gates": [
|
||||
"clippy",
|
||||
"membership",
|
||||
"focused",
|
||||
"tests",
|
||||
"timing",
|
||||
"gui"
|
||||
],
|
||||
"scope": "Windows headless tests/lint/timing/build; no native acceptance"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"atUtc": "2026-09-13T02:17:17.767526+00:00",
|
||||
"versions": {
|
||||
"rustc": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n",
|
||||
"cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)\n"
|
||||
},
|
||||
"variables": {
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"text_workspace",
|
||||
"--",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T02:22:48.002488+00:00",
|
||||
"finished": "2026-09-13T02:22:52.053266+00:00",
|
||||
"seconds": 4.050904400002764,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "5235fac71aa2019ab00e65c44ef913bfbca5c31e3408ec9bac03d8d40c746ca9",
|
||||
"stderrSha256": "8442ab6f086cd3bb91ffd65b426ccdcc1d64447ab51da47770be20e6cdcadb36"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Finished `test` profile [unoptimized] target(s) in 2.72s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
running 26 tests
|
||||
test app::text_workspace::lifecycle_tests::canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics ... ok
|
||||
test app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_does_not_revalidate_already_stale_warning_locations ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related ... ok
|
||||
test app::text_workspace::tests::current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it ... ok
|
||||
test app::text_workspace::tests::diagnostic_span_must_be_loaded_ordered_and_utf8_exact ... ok
|
||||
test app::text_workspace::tests::disabled_entry_cannot_become_a_new_action_under_the_same_menu_token ... ok
|
||||
test app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority ... ok
|
||||
test app::text_workspace::tests::enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy ... ok
|
||||
test app::text_workspace::tests::equal_diagnostic_republication_invalidates_primary_and_related_targets ... ok
|
||||
test app::text_workspace::tests::menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once ... ok
|
||||
test app::text_workspace::tests::menu_source_caret_document_path_and_interaction_changes_refuse_stale_find ... ok
|
||||
test app::text_workspace::tests::old_dismiss_and_invoke_do_not_consume_a_newer_menu ... ok
|
||||
test app::text_workspace::tests::only_valid_explicit_group_and_resize_intent_cancel_pending_navigation ... ok
|
||||
test app::text_workspace::tests::queued_group_toggle_cannot_mutate_a_reopened_or_rotated_visit ... ok
|
||||
test app::text_workspace::tests::queued_toolbar_request_cannot_retarget_after_source_change ... ok
|
||||
test app::text_workspace::tests::reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries ... ok
|
||||
test app::text_workspace::tests::reset_removes_ui_and_publication_authority_and_resize_rejects_nan ... ok
|
||||
test app::text_workspace::tests::retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems ... ok
|
||||
test app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application ... ok
|
||||
test app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts ... ok
|
||||
test views::text_workspace::summary_visibility_tests::all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts ... old alias-first summary width=840 alias="雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨": 0 missing/clipped flag-byte checks; first=None
|
||||
old alias-first summary width=720 alias="雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨雨": 18 missing/clipped flag-byte checks; first=Some("flag Detached is clipped: glyph Rectangle { x: 724.93945, y: 0.0, width: 8.4140625, height: 15.599999 }, clip Rectangle { x: 0.0, y: 0.0, width: 720.0, height: 24.0 }")
|
||||
old alias-first summary width=840 alias="WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW": 0 missing/clipped flag-byte checks; first=None
|
||||
old alias-first summary width=720 alias="WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW": 15 missing/clipped flag-byte checks; first=Some("flag Detached is clipped: glyph Rectangle { x: 718.3828, y: 0.0, width: 6.1054688, height: 15.599999 }, clip Rectangle { x: 0.0, y: 0.0, width: 720.0, height: 24.0 }")
|
||||
ok
|
||||
test views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests ... ok
|
||||
test views::text_workspace::tests::five_slots_keep_editor_state_and_selection_through_explicit_and_passive_changes ... ok
|
||||
test views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds ... ok
|
||||
test views::text_workspace::tests::keyboard_resize_uses_effective_height_and_only_exact_open_drawer_shortcut ... ok
|
||||
|
||||
test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 833 filtered out; finished in 0.95s
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"build",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--message-format=json-render-diagnostics"
|
||||
],
|
||||
"started": "2026-09-13T02:29:39.101134+00:00",
|
||||
"finished": "2026-09-13T02:37:30.596393+00:00",
|
||||
"seconds": 471.49644329999865,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "eaac6d2f4d1c9be7f05565c971507684b478fd1cc10d5b493e8649df8286dd60",
|
||||
"stderrSha256": "c576662b0b760d89d5d7a05b44ef6bee34d30bd51ccbf96bc648ae92bb43f859",
|
||||
"binary": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\arcadia-studio.exe",
|
||||
"preserved": "C:\\ar-text-9e8r6t\\.local\\text-workspace-gates-20260912\\attempt-4\\arcadia-studio.exe",
|
||||
"sha256": "666afa8747588bbd4e4d8e4059f443dedda1fc42244d467df8d953085707e796",
|
||||
"bytes": 114164224,
|
||||
"artifact": {
|
||||
"reason": "compiler-artifact",
|
||||
"package_id": "path+file:///C:/ar-text-9e8r6t/crates/oa-desktop#0.2.0",
|
||||
"manifest_path": "C:\\ar-text-9e8r6t\\crates\\oa-desktop\\Cargo.toml",
|
||||
"target": {
|
||||
"kind": [
|
||||
"bin"
|
||||
],
|
||||
"crate_types": [
|
||||
"bin"
|
||||
],
|
||||
"name": "arcadia-studio",
|
||||
"src_path": "C:\\ar-text-9e8r6t\\crates\\oa-desktop\\src\\main.rs",
|
||||
"edition": "2024",
|
||||
"doc": true,
|
||||
"doctest": false,
|
||||
"test": true
|
||||
},
|
||||
"profile": {
|
||||
"opt_level": "0",
|
||||
"debuginfo": 0,
|
||||
"debug_assertions": true,
|
||||
"overflow_checks": true,
|
||||
"test": false
|
||||
},
|
||||
"features": [],
|
||||
"filenames": [
|
||||
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\arcadia-studio.exe"
|
||||
],
|
||||
"executable": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\arcadia-studio.exe",
|
||||
"fresh": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Compiling oa-core v0.2.0 (C:\ar-text-9e8r6t\crates\oa-core)
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `dev` profile [unoptimized] target(s) in 7m 51s
|
||||
@@ -0,0 +1,305 @@
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.107\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.107\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\proc-macro2-8bd275bc14efcc6d\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107","linked_libs":[],"linked_paths":[],"cfgs":["wrap_proc_macro","proc_macro_span_location","proc_macro_span_file"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\proc-macro2-678fa29727a3d951\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-ident-1.0.24\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_ident","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-ident-1.0.24\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_ident-37cacd323a49429c.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_ident-37cacd323a49429c.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.47\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.47\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\quote-78b7b00c15767e2b\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\quote-db749d68bbb2dbfe\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.107\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"proc_macro2","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.107\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libproc_macro2-80e9e45547beebf5.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libproc_macro2-80e9e45547beebf5.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.47\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"quote","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.47\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libquote-b79aec363b458000.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libquote-b79aec363b458000.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@3.0.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-3.0.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-3.0.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsyn-22fa9145a6fc82b1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsyn-22fa9145a6fc82b1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.119","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-2.0.119\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-2.0.119\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","fold","full","parsing","printing","proc-macro","visit","visit-mut"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsyn-c437a38643e73e9b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsyn-c437a38643e73e9b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\libm-b0989b04e4f0e7ae\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","linked_libs":[],"linked_paths":[],"cfgs":["arch_enabled"],"env":[["CFG_CARGO_FEATURES","[\"arch\", \"default\"]"],["CFG_OPT_LEVEL","0"],["CFG_TARGET_FEATURES","[\"cmpxchg16b\", \"fxsr\", \"sse\", \"sse2\", \"sse3\"]"]],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\libm-72ced899e6c1d085\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libm","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibm-e719636fa88f224d.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibm-e719636fa88f224d.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-link@0.2.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-link-0.2.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_link","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-link-0.2.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_link-23f115c823619f71.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_link-23f115c823619f71.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\autocfg-1.5.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"autocfg","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\autocfg-1.5.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libautocfg-58f70baf3de29c77.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libautocfg-58f70baf3de29c77.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","libm","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\num-traits-518bf0fb0b57082a\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\num-traits-3270bf0174a1c854\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bitflags-2.13.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bitflags","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bitflags-2.13.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbitflags-3f56d892d72d4301.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbitflags-3f56d892d72d4301.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","libm","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libnum_traits-3f25760ad3d34848.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libnum_traits-3f25760ad3d34848.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#log@0.4.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\log-0.4.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"log","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\log-0.4.34\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblog-668dd0f53e95dee3.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblog-668dd0f53e95dee3.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\once_cell-1.21.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\once_cell-1.21.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","race","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libonce_cell-33f899677e2400c0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libonce_cell-33f899677e2400c0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcfg_if-805b2ebc84d544f1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcfg_if-805b2ebc84d544f1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.16.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smallvec-1.16.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smallvec","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smallvec-1.16.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["const_generics","const_new","union"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsmallvec-03b374e5162cc6f4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsmallvec-03b374e5162cc6f4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.61.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_sys","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.61.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["Wdk","Wdk_Foundation","Wdk_Storage","Wdk_Storage_FileSystem","Wdk_System","Wdk_System_IO","Win32","Win32_Foundation","Win32_Networking","Win32_Networking_WinSock","Win32_Security","Win32_Storage","Win32_Storage_FileSystem","Win32_System","Win32_System_Console","Win32_System_IO","Win32_System_Pipes","Win32_System_SystemInformation","Win32_System_SystemServices","Win32_System_Threading","Win32_System_WindowsProgramming","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-ab7e56959c51c45e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-ab7e56959c51c45e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytemuck_derive@1.12.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytemuck_derive-1.12.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"bytemuck_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytemuck_derive-1.12.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\bytemuck_derive-3880535b1429c51e.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbytemuck_derive-3880535b1429c51e.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\pin-project-lite-0.2.17\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"pin_project_lite","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\pin-project-lite-0.2.17\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpin_project_lite-0d6bdbd8d38ac50b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpin_project_lite-0d6bdbd8d38ac50b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytemuck@1.25.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytemuck-1.25.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bytemuck","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytemuck-1.25.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["bytemuck_derive","derive","extern_crate_alloc","min_const_generics"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbytemuck-22539c4113ad2896.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbytemuck-22539c4113ad2896.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytes@1.12.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytes-1.12.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bytes","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytes-1.12.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbytes-868dcb997d7e2ad2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbytes-868dcb997d7e2ad2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_gnullvm-0.52.6\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_gnullvm-0.52.6\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\windows_x86_64_gnullvm-a1e9fcf11bce48ad\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg_aliases-0.2.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_aliases","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg_aliases-0.2.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcfg_aliases-3229b5c013b12481.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcfg_aliases-3229b5c013b12481.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.20","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-2.0.20\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-2.0.20\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\thiserror-d9d1cecb0b9dfa9d\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.20","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\thiserror-2e28320913ae6f8a\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6","linked_libs":[],"linked_paths":["native=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_gnullvm-0.52.6\\lib"],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\windows_x86_64_gnullvm-0c0e92ad7ccbaa67\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.20","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-2.0.20\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror_impl","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-2.0.20\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\thiserror_impl-5cb1483639bcc316.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror_impl-5cb1483639bcc316.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-core@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-core-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-core-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_core-a87c441f491169b1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_core-a87c441f491169b1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.20","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-2.0.20\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-2.0.20\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror-464ee2be8b2a6d3a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror-464ee2be8b2a6d3a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_gnullvm-0.52.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_x86_64_gnullvm","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_gnullvm-0.52.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_x86_64_gnullvm-ecb751aa8d45dc2e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_x86_64_gnullvm-ecb751aa8d45dc2e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-targets-0.52.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_targets","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-targets-0.52.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_targets-9dce04242e096695.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_targets-9dce04242e096695.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-sink@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-sink-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_sink","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-sink-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_sink-6891c37ab9c1935f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_sink-6891c37ab9c1935f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmemchr-7db6cba96e96932f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmemchr-7db6cba96e96932f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-channel@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-channel-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_channel","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-channel-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","futures-sink","sink","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_channel-f0d70c911fb49ec8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_channel-f0d70c911fb49ec8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\socket2-0.6.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"socket2","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\socket2-0.6.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["all"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsocket2-7bd46ba18d76d090.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsocket2-7bd46ba18d76d090.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#mio@1.2.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\mio-1.2.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"mio","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\mio-1.2.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["net","os-ext","os-poll"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmio-5aaf291c8a1a82a2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmio-5aaf291c8a1a82a2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\synstructure-0.13.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"synstructure","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\synstructure-0.13.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsynstructure-cae49be1a07d73ae.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsynstructure-cae49be1a07d73ae.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#arrayvec@0.7.8","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\arrayvec-0.7.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"arrayvec","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\arrayvec-0.7.8\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libarrayvec-92be7823c1701233.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libarrayvec-92be7823c1701233.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tokio-1.53.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tokio","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tokio-1.53.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["bytes","default","io-util","libc","mio","net","rt","rt-multi-thread","socket2","sync","time","windows-sys"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtokio-32f8dc70905f1ae8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtokio-32f8dc70905f1ae8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-macro@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-macro-0.3.34\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"futures_macro","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-macro-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\futures_macro-d2473149f2f3e987.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_macro-d2473149f2f3e987.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-task@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-task-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_task","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-task-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_task-c244bba7f8bc0ad1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_task-c244bba7f8bc0ad1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-io@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-io-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_io","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-io-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_io-d1a66ee3ff559f69.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_io-d1a66ee3ff559f69.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#slab@0.4.12","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slab-0.4.12\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"slab","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slab-0.4.12\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libslab-3db57bd04acfc5b7.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libslab-3db57bd04acfc5b7.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures-util@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-util-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures_util","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-util-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","async-await","async-await-macro","channel","futures-channel","futures-io","futures-macro","futures-sink","io","memchr","sink","slab","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_util-954465db0beabc72.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures_util-954465db0beabc72.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.7","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerofrom-derive-0.1.7\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"zerofrom_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerofrom-derive-0.1.7\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\zerofrom_derive-01e65160f8217db3.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerofrom_derive-01e65160f8217db3.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#raw-window-handle@0.6.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\raw-window-handle-0.6.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"raw_window_handle","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\raw-window-handle-0.6.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libraw_window_handle-1ab25a8146a57318.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libraw_window_handle-1ab25a8146a57318.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.56","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.56\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.56\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","simd","zerocopy-derive"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\zerocopy-f9af0aa8991f0608\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.56","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\zerocopy-1a18fc2a8b941ae6\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.8","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerofrom-0.1.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerofrom","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerofrom-0.1.8\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerofrom-731f79aa1e12a43c.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerofrom-731f79aa1e12a43c.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.8.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yoke-derive-0.8.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"yoke_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yoke-derive-0.8.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\yoke_derive-e418345d16272b3f.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libyoke_derive-e418345d16272b3f.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#euclid@0.22.14","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\euclid-0.22.14\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"euclid","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\euclid-0.22.14\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libeuclid-74b0633907068e70.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libeuclid-74b0633907068e70.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy-derive@0.8.56","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-derive-0.8.56\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"zerocopy_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-derive-0.8.56\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\zerocopy_derive-820bbf35ab88899b.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerocopy_derive-820bbf35ab88899b.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos_api@3.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos_api-3.1.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos_api-3.1.0\\build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\khronos_api-62ac41aa33e653b1\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libc-0.2.189\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libc-0.2.189\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\libc-93b6fd638f861315\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stable_deref_trait-1.2.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stable_deref_trait","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stable_deref_trait-1.2.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libstable_deref_trait-40a01113b84b1f7b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libstable_deref_trait-40a01113b84b1f7b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#yoke@0.8.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yoke-0.8.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"yoke","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yoke-0.8.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","zerofrom"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libyoke-8b1ba758d70a1f92.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libyoke-8b1ba758d70a1f92.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189","linked_libs":[],"linked_paths":[],"cfgs":["freebsd12"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\libc-21e656859266df5d\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos_api@3.1.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\khronos_api-ae92d05139a87721\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.56","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.56\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerocopy","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.56\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","simd","zerocopy-derive"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerocopy-979d2b49b0a33b61.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerocopy-979d2b49b0a33b61.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#core_maths@0.1.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\core_maths-0.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"core_maths","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\core_maths-0.1.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcore_maths-faef5eec3886da5e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcore_maths-faef5eec3886da5e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smol_str@0.2.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smol_str-0.2.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smol_str","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smol_str-0.2.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsmol_str-89539eaf055e63b0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsmol_str-89539eaf055e63b0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc-hash@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc-hash-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_hash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc-hash-1.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustc_hash-71721ceb4e769227.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustc_hash-71721ceb4e769227.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#half@2.7.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\half-2.7.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"half","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\half-2.7.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","num-traits","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhalf-2a21392ab329bf44.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhalf-2a21392ab329bf44.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos_api@3.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos_api-3.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"khronos_api","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos_api-3.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libkhronos_api-51ea57bef08249c0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libkhronos_api-51ea57bef08249c0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libc-0.2.189\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libc","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libc-0.2.189\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibc-5628ff8fc96b7c30.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibc-5628ff8fc96b7c30.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-result@0.2.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-result-0.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_result","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-result-0.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_result-f79db900493f52d7.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_result-f79db900493f52d7.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.11.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerovec-derive-0.11.6\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"zerovec_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerovec-derive-0.11.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\zerovec_derive-14ef16735d953d8b.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerovec_derive-14ef16735d953d8b.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\version_check-0.9.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"version_check","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\version_check-0.9.5\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libversion_check-94e2e789b2ec40fe.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libversion_check-94e2e789b2ec40fe.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#xml-rs@0.8.29","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\xml-rs-0.8.29\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"xml","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\xml-rs-0.8.29\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libxml-6ede0e7a10eccc13.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libxml-6ede0e7a10eccc13.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gl_generator@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gl_generator-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gl_generator","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gl_generator-0.14.0\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgl_generator-ffe2d3197626bd71.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgl_generator-ffe2d3197626bd71.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#slotmap@1.1.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slotmap-1.1.1\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slotmap-1.1.1\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\slotmap-9a857dacf5e345da\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerovec@0.11.8","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerovec-0.11.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerovec","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerovec-0.11.8\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","yoke"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerovec-cff32bbd5e0c6b4f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerovec-cff32bbd5e0c6b4f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-strings@0.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-strings-0.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_strings","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-strings-0.1.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_strings-c5d7342436cf8f6e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_strings-c5d7342436cf8f6e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#font-types@0.12.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\font-types-0.12.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"font_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\font-types-0.12.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["bytemuck","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfont_types-fdb71694d8252b17.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfont_types-fdb71694d8252b17.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#font-types@0.10.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\font-types-0.10.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"font_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\font-types-0.10.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["bytemuck","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfont_types-99a99c3a996c3bd4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfont_types-99a99c3a996c3bd4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-implement@0.58.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-implement-0.58.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"windows_implement","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-implement-0.58.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\windows_implement-ad433c4fe61e90ec.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_implement-ad433c4fe61e90ec.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-interface@0.58.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-interface-0.58.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"windows_interface","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-interface-0.58.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\windows_interface-628e8d305b9699ad.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_interface-628e8d305b9699ad.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.7","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\displaydoc-0.2.7\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"displaydoc","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\displaydoc-0.2.7\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\displaydoc-1226de5024c55391.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libdisplaydoc-1226de5024c55391.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\thiserror-b8b2ed9ad6989a0d\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc-hash@2.1.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc-hash-2.1.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_hash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc-hash-2.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustc_hash-fd887c9fa238ccd0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustc_hash-fd887c9fa238ccd0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#web-time@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\web-time-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"web_time","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\web-time-1.1.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libweb_time-13eade3aab5c4fbd.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libweb_time-13eade3aab5c4fbd.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#parking_lot_core@0.9.12","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot_core-0.9.12\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot_core-0.9.12\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\parking_lot_core-8fc79042be25be2a\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#parking_lot_core@0.9.12","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\parking_lot_core-669516aeb1e25030\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lilt@0.8.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lilt-0.8.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lilt","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lilt-0.8.2\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblilt-17be362c2994bcfd.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblilt-17be362c2994bcfd.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\thiserror-75915b6e0e2580c4\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-core@0.58.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-core-0.58.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-core-0.58.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_core-4be59f50c7b0594f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_core-4be59f50c7b0594f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#read-fonts@0.35.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\read-fonts-0.35.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"read_fonts","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\read-fonts-0.35.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["libm","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libread_fonts-8744340ce9121ebc.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libread_fonts-8744340ce9121ebc.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#read-fonts@0.41.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\read-fonts-0.41.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"read_fonts","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\read-fonts-0.41.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libread_fonts-ee796e672f6c2b6c.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libread_fonts-ee796e672f6c2b6c.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#slotmap@1.1.1","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\slotmap-a915444a17ae34b4\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#glutin_wgl_sys@0.6.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glutin_wgl_sys-0.6.1\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glutin_wgl_sys-0.6.1\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\glutin_wgl_sys-1b055a8fb19db387\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lyon_geom@1.0.19","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_geom-1.0.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lyon_geom","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_geom-1.0.19\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_geom-d3918139893025c6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_geom-d3918139893025c6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#naga@27.0.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\naga-27.0.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\naga-27.0.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","glsl-out","hlsl-out","spv-out","wgsl-in"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\naga-b2a452c6ec02a9c6\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libloading@0.8.9","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libloading-0.8.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libloading","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libloading-0.8.9\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibloading-caa2519b5fd816c1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblibloading-caa2519b5fd816c1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@1.0.69","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-1.0.69\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror_impl","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-1.0.69\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\thiserror_impl-4124e84e09596764.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror_impl-4124e84e09596764.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.17.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.17.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.17.1\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-4523d7ebe1eb39bc.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-4523d7ebe1eb39bc.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-width@0.2.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-width-0.2.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_width","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-width-0.2.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["cjk","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_width-a4d3f1bb5e70cf28.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_width-a4d3f1bb5e70cf28.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bit-vec@0.8.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bit-vec-0.8.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bit_vec","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bit-vec-0.8.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbit_vec-7ce2332a32227516.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbit_vec-7ce2332a32227516.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinyvec_macros-0.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tinyvec_macros","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinyvec_macros-0.1.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinyvec_macros-a96fb20256beac97.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinyvec_macros-a96fb20256beac97.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#foldhash@0.2.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\foldhash-0.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"foldhash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\foldhash-0.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfoldhash-cd2bdaf593944293.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfoldhash-cd2bdaf593944293.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ash@0.38.0+1.3.281","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ash-0.38.0+1.3.281\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ash-0.38.0+1.3.281\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["debug","default","libloading","loaded","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\ash-8c4abbb13fad003b\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos-egl@6.0.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos-egl-6.0.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos-egl-6.0.0\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["1_0","1_1","1_2","1_3","1_4","1_5","default","dynamic","libloading"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\khronos-egl-f697de1aa7755e37\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libitoa-971c3e13d32ffcf2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libitoa-971c3e13d32ffcf2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#foldhash@0.1.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\foldhash-0.1.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"foldhash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\foldhash-0.1.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfoldhash-0826f3f04e1a5796.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfoldhash-0826f3f04e1a5796.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#scopeguard@1.2.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\scopeguard-1.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"scopeguard","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\scopeguard-1.2.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libscopeguard-aa21239770b8fec6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libscopeguard-aa21239770b8fec6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libequivalent-931efacfebdb5c9a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libequivalent-931efacfebdb5c9a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#glam@0.25.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glam-0.25.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"glam","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glam-0.25.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglam-7b8723c7a526c9b6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglam-7b8723c7a526c9b6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_core@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_core-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_core-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["advanced"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_core-d7d27a7865d7d159.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_core-d7d27a7865d7d159.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.14.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.14.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.14.1\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libindexmap-dc1dca82289f6c3a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libindexmap-dc1dca82289f6c3a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lock_api@0.4.14","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lock_api-0.4.14\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lock_api","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lock_api-0.4.14\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["atomic_usize","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblock_api-1876e768f77cff74.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblock_api-1876e768f77cff74.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.15.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.15.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.15.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default-hasher"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-8a58f54845fd2497.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-8a58f54845fd2497.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos-egl@6.0.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\khronos-egl-ea44436330bd63bd\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#ash@0.38.0+1.3.281","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\ash-f569a1921cf79800\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default-hasher","inline-more"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-36be56b51a83d7b4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhashbrown-36be56b51a83d7b4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.13.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinyvec-1.13.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tinyvec","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinyvec-1.13.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","tinyvec_macros"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinyvec-ed5725dd372cdbbb.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinyvec-ed5725dd372cdbbb.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bit-set@0.8.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bit-set-0.8.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bit_set","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bit-set-0.8.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbit_set-da34d352eec872be.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbit_set-da34d352eec872be.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#codespan-reporting@0.12.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\codespan-reporting-0.12.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"codespan_reporting","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\codespan-reporting-0.12.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcodespan_reporting-c8463518e64796c8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcodespan_reporting-c8463518e64796c8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror-a8562c576260b66e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libthiserror-a8562c576260b66e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#naga@27.0.3","linked_libs":[],"linked_paths":[],"cfgs":["glsl_out","hlsl_out","spv_out","std"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\naga-6094431ea4850872\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lyon_path@1.0.19","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_path-1.0.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lyon_path","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_path-1.0.19\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_path-d8e1b284e50a3fa5.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_path-d8e1b284e50a3fa5.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#glutin_wgl_sys@0.6.1","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\glutin_wgl_sys-81c9503f6ec2fe44\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#slotmap@1.1.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slotmap-1.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"slotmap","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\slotmap-1.1.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libslotmap-c71eec3eba975c2e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libslotmap-c71eec3eba975c2e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#skrifa@0.44.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\skrifa-0.44.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"skrifa","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\skrifa-0.44.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libskrifa-3194c161b5e53b8f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libskrifa-3194c161b5e53b8f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows@0.58.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-0.58.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-0.58.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["Win32","Win32_Foundation","Win32_Graphics","Win32_Graphics_Direct3D","Win32_Graphics_Direct3D12","Win32_Graphics_Direct3D_Dxc","Win32_Graphics_Direct3D_Fxc","Win32_Graphics_DirectComposition","Win32_Graphics_Dxgi","Win32_Graphics_Dxgi_Common","Win32_Graphics_Gdi","Win32_Graphics_OpenGL","Win32_Security","Win32_System","Win32_System_Diagnostics","Win32_System_Diagnostics_Debug","Win32_System_Kernel","Win32_System_LibraryLoader","Win32_System_Performance","Win32_System_Threading","Win32_UI","Win32_UI_WindowsAndMessaging","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows-014414f636af3fdb.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows-014414f636af3fdb.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#parking_lot_core@0.9.12","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot_core-0.9.12\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"parking_lot_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot_core-0.9.12\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libparking_lot_core-0302be869d537889.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libparking_lot_core-0302be869d537889.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ttf-parser@0.25.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ttf-parser-0.25.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ttf_parser","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ttf-parser-0.25.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["apple-layout","core_maths","glyph-names","no-std-float","opentype-layout","std","variable-fonts"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libttf_parser-8f55e332d9622b66.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libttf_parser-8f55e332d9622b66.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#futures@0.3.34","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-0.3.34\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"futures","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\futures-0.3.34\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","async-await","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures-c8a4a2dd096fb063.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfutures-c8a4a2dd096fb063.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-hal@27.0.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-hal-27.0.4\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-hal-27.0.4\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["dx12","gles","gpu-allocator","portable-atomic","renderdoc","vulkan"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-hal-38f324ff8e66b122\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gpu-alloc-types@0.3.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-alloc-types-0.3.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gpu_alloc_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-alloc-types-0.3.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_alloc_types-6f4c59d95c6ccee0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_alloc_types-6f4c59d95c6ccee0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gpu-descriptor-types@0.2.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-descriptor-types-0.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gpu_descriptor_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-descriptor-types-0.2.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_descriptor_types-1858d8bdd15c74e0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_descriptor_types-1858d8bdd15c74e0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#spirv@0.3.0+sdk-1.3.268.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\spirv-0.3.0+sdk-1.3.268.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"spirv","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\spirv-0.3.0+sdk-1.3.268.0\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libspirv-3c846a010ac2043e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libspirv-3c846a010ac2043e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.12","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\find-msvc-tools-0.1.12\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"find_msvc_tools","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\find-msvc-tools-0.1.12\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfind_msvc_tools-a77c25fd7cd1ef1b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfind_msvc_tools-a77c25fd7cd1ef1b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memmap2@0.9.11","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memmap2-0.9.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memmap2","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memmap2-0.9.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmemmap2-841beeb0f1a629ed.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libmemmap2-841beeb0f1a629ed.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hexf-parse@0.2.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hexf-parse-0.2.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hexf_parse","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hexf-parse-0.2.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhexf_parse-279b990594c7bbce.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhexf_parse-279b990594c7bbce.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeno@0.3.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeno-0.3.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zeno","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeno-0.3.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["eval","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzeno-2fc787934e8a7cd6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzeno-2fc787934e8a7cd6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-segmentation@1.13.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-segmentation-1.13.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_segmentation","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-segmentation-1.13.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_segmentation-85698043f7780858.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_segmentation-85698043f7780858.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#yazi@0.2.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yazi-0.2.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"yazi","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\yazi-0.2.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libyazi-69dfa79524f14886.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libyazi-69dfa79524f14886.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#presser@0.3.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\presser-0.3.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"presser","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\presser-0.3.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpresser-269e2291582457e5.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpresser-269e2291582457e5.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\shlex-2.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"shlex","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\shlex-2.0.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libshlex-ad289e1bf218f668.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libshlex-ad289e1bf218f668.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cc@1.4.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cc-1.4.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cc","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cc-1.4.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcc-d57b8105882e5fa0.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcc-d57b8105882e5fa0.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gpu-allocator@0.27.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-allocator-0.27.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gpu_allocator","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-allocator-0.27.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["d3d12"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_allocator-967bbc1f342725e4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_allocator-967bbc1f342725e4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#swash@0.2.10","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\swash-0.2.10\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"swash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\swash-0.2.10\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["render","scale","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libswash-0448d4a5d977af87.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libswash-0448d4a5d977af87.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#naga@27.0.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\naga-27.0.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"naga","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\naga-27.0.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","glsl-out","hlsl-out","spv-out","wgsl-in"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libnaga-1b010856f5c02c9b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libnaga-1b010856f5c02c9b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#fontdb@0.23.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fontdb-0.23.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"fontdb","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fontdb-0.23.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["fontconfig","fontconfig-parser","fs","memmap","memmap2","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfontdb-007e59f002fbf373.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfontdb-007e59f002fbf373.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gpu-descriptor@0.3.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-descriptor-0.3.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gpu_descriptor","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-descriptor-0.3.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_descriptor-fac3b710369873db.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_descriptor-fac3b710369873db.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gpu-alloc@0.6.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-alloc-0.6.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gpu_alloc","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\gpu-alloc-0.6.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_alloc-ae6066a9278dbce7.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgpu_alloc-ae6066a9278dbce7.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-hal@27.0.4","linked_libs":[],"linked_paths":[],"cfgs":["native","send_sync","dx12","gles","gles_with_std","vulkan","supports_64bit_atomics","supports_ptr_atomics"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-hal-08d2fc988c80c04d\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_futures@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_futures-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_futures","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_futures-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["tokio"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_futures-99d68a19ee722d48.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_futures-99d68a19ee722d48.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#parking_lot@0.12.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot-0.12.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"parking_lot","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\parking_lot-0.12.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libparking_lot-27eddcbf60d1f561.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libparking_lot-27eddcbf60d1f561.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#glutin_wgl_sys@0.6.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glutin_wgl_sys-0.6.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"glutin_wgl_sys","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glutin_wgl_sys-0.6.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglutin_wgl_sys-742d4309c6cfdd6a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglutin_wgl_sys-742d4309c6cfdd6a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ash@0.38.0+1.3.281","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ash-0.38.0+1.3.281\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ash","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ash-0.38.0+1.3.281\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["debug","default","libloading","loaded","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libash-440c79a90c728602.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libash-440c79a90c728602.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#khronos-egl@6.0.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos-egl-6.0.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"khronos_egl","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\khronos-egl-6.0.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["1_0","1_1","1_2","1_3","1_4","1_5","default","dynamic","libloading"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libkhronos_egl-5ee4edad52b1e3e3.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libkhronos_egl-5ee4edad52b1e3e3.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#harfrust@0.3.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\harfrust-0.3.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"harfrust","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\harfrust-0.3.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libharfrust-5c2b9978b0c967e5.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libharfrust-5c2b9978b0c967e5.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#skrifa@0.37.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\skrifa-0.37.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"skrifa","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\skrifa-0.37.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libskrifa-412ea6d4d11f2dc3.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libskrifa-412ea6d4d11f2dc3.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tinystr@0.8.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinystr-0.8.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tinystr","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tinystr-0.8.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["zerovec"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinystr-e88fa031f78d8437.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtinystr-e88fa031f78d8437.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-types@27.0.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-types-27.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wgpu_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-types-27.0.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std","thiserror","web"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_types-dc39388ab7fe1280.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_types-dc39388ab7fe1280.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ordered-float@5.5.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ordered-float-5.5.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ordered_float","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ordered-float-5.5.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libordered_float-d108d2bc85f12cf8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libordered_float-d108d2bc85f12cf8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-script@0.5.8","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-script-0.5.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_script","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-script-0.5.8\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_script-5e054be55af8e282.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_script-5e054be55af8e282.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rangemap@1.8.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rangemap-1.8.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rangemap","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rangemap-1.8.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librangemap-1d6e4809bfb9c681.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librangemap-1d6e4809bfb9c681.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#writeable@0.6.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\writeable-0.6.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"writeable","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\writeable-0.6.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwriteable-46a7de9410bcb5f2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwriteable-46a7de9410bcb5f2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#renderdoc-sys@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\renderdoc-sys-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"renderdoc_sys","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\renderdoc-sys-1.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librenderdoc_sys-150f0489c8932654.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librenderdoc_sys-150f0489c8932654.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#glow@0.16.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glow-0.16.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"glow","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\glow-0.16.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglow-cab264c6898aaf59.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libglow-cab264c6898aaf59.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.18","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-bidi-0.3.18\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_bidi","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-bidi-0.3.18\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["hardcoded-data","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_bidi-41a25178d914472d.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_bidi-41a25178d914472d.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#linebender_resource_handle@0.1.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\linebender_resource_handle-0.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"linebender_resource_handle","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\linebender_resource_handle-0.1.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblinebender_resource_handle-6eb3532b81e3dcc4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblinebender_resource_handle-6eb3532b81e3dcc4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#litemap@0.8.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\litemap-0.8.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"litemap","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\litemap-0.8.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblitemap-09d735fa86cca7ac.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblitemap-09d735fa86cca7ac.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sys-locale@0.3.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sys-locale-0.3.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sys_locale","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sys-locale-0.3.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsys_locale-373ce1af6158101a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsys_locale-373ce1af6158101a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#self_cell@1.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\self_cell-1.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"self_cell","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\self_cell-1.3.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libself_cell-d89d506b19b25665.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libself_cell-d89d506b19b25665.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#range-alloc@0.1.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\range-alloc-0.1.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"range_alloc","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\range-alloc-0.1.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librange_alloc-a1b6caee1ada41b9.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librange_alloc-a1b6caee1ada41b9.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-linebreak@0.1.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-linebreak-0.1.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_linebreak","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-linebreak-0.1.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_linebreak-e99548291833529e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libunicode_linebreak-e99548291833529e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#profiling@1.0.18","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\profiling-1.0.18\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"profiling","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\profiling-1.0.18\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libprofiling-bb4ce05fd7247125.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libprofiling-bb4ce05fd7247125.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-hal@27.0.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-hal-27.0.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wgpu_hal","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-hal-27.0.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["dx12","gles","gpu-allocator","portable-atomic","renderdoc","vulkan"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_hal-a743d888639ef685.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_hal-a743d888639ef685.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cosmic-text@0.15.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cosmic-text-0.15.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cosmic_text","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cosmic-text-0.15.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","fontconfig","std","swash","sys-locale"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcosmic_text-07313aa6396fe119.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcosmic_text-07313aa6396fe119.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_locale_core@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_locale_core-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_locale_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_locale_core-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["zerovec"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_locale_core-4b506241af6d592b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_locale_core-4b506241af6d592b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ring-0.17.14\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ring-0.17.14\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","dev_urandom_fallback"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\ring-662eaa51714da618\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerotrie@0.2.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerotrie-0.2.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerotrie","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerotrie-0.2.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["yoke","zerofrom"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerotrie-29841486933b17fd.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzerotrie-29841486933b17fd.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#potential_utf@0.1.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\potential_utf-0.1.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"potential_utf","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\potential_utf-0.1.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["zerovec"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpotential_utf-5d5c86142dd78a68.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpotential_utf-5d5c86142dd78a68.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-core@27.0.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-27.0.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-27.0.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","dx12","gles","metal","portable-atomic","raw-window-handle","renderdoc","std","vulkan","wgpu-core-deps-windows-linux-android","wgsl"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-core-457c3d767f877af2\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utf8_iter-1.0.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"utf8_iter","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utf8_iter-1.0.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libutf8_iter-23877425cbbe33c4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libutf8_iter-23877425cbbe33c4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.229","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.229\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.229\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["result","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde_core-161b3ae2683262f1\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#litrs@1.0.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\litrs-1.0.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"litrs","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\litrs-1.0.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblitrs-5cf7e39503967d4f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblitrs-5cf7e39503967d4f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties_data-2.3.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties_data-2.3.0\\build.rs","edition":"2024","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\icu_properties_data-e71578c99c934cd3\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer_data-2.3.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer_data-2.3.0\\build.rs","edition":"2024","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\icu_normalizer_data-d3eca3773d389d92\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@2.3.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\icu_normalizer_data-c001693e7c4263ec\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@2.3.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\icu_properties_data-4b435d3927ffd8a7\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#document-features@0.2.12","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\document-features-0.2.12\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"document_features","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\document-features-0.2.12\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\document_features-34fc7797615e0364.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libdocument_features-34fc7797615e0364.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.229","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde_core-a1da37301c02ee2a\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_collections@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_collections-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_collections","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_collections-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_collections-ac86742a9dd8c8f3.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_collections-ac86742a9dd8c8f3.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-core@27.0.3","linked_libs":[],"linked_paths":[],"cfgs":["windows_linux_android","send_sync","dx12","gles","vulkan","supports_64bit_atomics"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-core-32672e31d92304e1\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_provider@2.3.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_provider-2.3.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_provider","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_provider-2.3.1\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["baked"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_provider-74f7f3fb4ccff39a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_provider-74f7f3fb4ccff39a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14","linked_libs":["static=ring_core_0_17_14_","static=ring_core_0_17_14__test"],"linked_paths":["native=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\ring-5f8d2d20440f09b4\\out"],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\ring-5f8d2d20440f09b4\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-core-deps-windows-linux-android@27.0.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-deps-windows-linux-android-27.0.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wgpu_core_deps_windows_linux_android","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-deps-windows-linux-android-27.0.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["dx12","gles","renderdoc","vulkan"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_core_deps_windows_linux_android-db4c47168a33fb44.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_core_deps_windows_linux_android-db4c47168a33fb44.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#http@1.5.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-1.5.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"http","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-1.5.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp-47a7410cfc172b84.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp-47a7410cfc172b84.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu@27.0.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-27.0.1\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-27.0.1\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","dx12","gles","metal","parking_lot","std","vulkan","web","webgpu","wgsl"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-dffdc39599e5ad0e\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tracing-core@0.1.36","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-core-0.1.36\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tracing_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-core-0.1.36\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["once_cell","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtracing_core-2dc069dfba18ede6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtracing_core-2dc069dfba18ede6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-attributes-0.1.31\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"tracing_attributes","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-attributes-0.1.31\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\tracing_attributes-fa36f052cc72e303.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtracing_attributes-fa36f052cc72e303.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\percent-encoding-2.3.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"percent_encoding","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\percent-encoding-2.3.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpercent_encoding-2c27496c68b2308e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libpercent_encoding-2c27496c68b2308e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#svg_fmt@0.4.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\svg_fmt-0.4.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"svg_fmt","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\svg_fmt-0.4.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsvg_fmt-1f58261d1798c1e9.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsvg_fmt-1f58261d1798c1e9.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize-1.9.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zeroize","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize-1.9.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzeroize-244976d554ece06f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzeroize-244976d554ece06f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.15.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-pki-types-1.15.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustls_pki_types","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-pki-types-1.15.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustls_pki_types-1bd3655517871842.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustls_pki_types-1bd3655517871842.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-0.1.44\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tracing","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tracing-0.1.44\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["attributes","default","std","tracing-attributes"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtracing-a25988cc6932fd96.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtracing-a25988cc6932fd96.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu@27.0.1","linked_libs":[],"linked_paths":[],"cfgs":["native","send_sync","dx12","vulkan","gles","wgpu_core","supports_64bit_atomics","std"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\wgpu-9d5b56fe8fcf3c6d\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#http-body@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-body-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"http_body","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-body-1.1.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp_body-1e221e4b8f6ce076.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp_body-1e221e4b8f6ce076.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu-core@27.0.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-27.0.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wgpu_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-core-27.0.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","dx12","gles","metal","portable-atomic","raw-window-handle","renderdoc","std","vulkan","wgpu-core-deps-windows-linux-android","wgsl"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_core-bce128809e3bbd57.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu_core-bce128809e3bbd57.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.229","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.229\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.229\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["result","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_core-f52ac0796dd4fc39.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_core-f52ac0796dd4fc39.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties_data-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_properties_data","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties_data-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_properties_data-0a55d3110383d8cf.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_properties_data-0a55d3110383d8cf.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer_data-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_normalizer_data","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer_data-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_normalizer_data-cc624475940b4280.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_normalizer_data-cc624475940b4280.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_graphics@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_graphics-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_graphics","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_graphics-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["geometry","lyon_path"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_graphics-624c1ad1d2dc2a19.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_graphics-624c1ad1d2dc2a19.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.2.17\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.2.17\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgetrandom-185bbb1050af4ba4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgetrandom-185bbb1050af4ba4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#float_next_after@1.0.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\float_next_after-1.0.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"float_next_after","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\float_next_after-1.0.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfloat_next_after-f37d5e9e563fe7b6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfloat_next_after-f37d5e9e563fe7b6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\untrusted-0.9.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"untrusted","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\untrusted-0.9.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libuntrusted-8ff786a1980b4b0a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libuntrusted-8ff786a1980b4b0a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libstatic_assertions-e30c198504c77e70.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libstatic_assertions-e30c198504c77e70.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#httparse@1.10.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\httparse-1.10.1\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\httparse-1.10.1\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\httparse-a2eedd5114971ddd\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#httparse@1.10.1","linked_libs":[],"linked_paths":[],"cfgs":["httparse_simd_neon_intrinsics","httparse_simd"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\httparse-698f1875f21d9b15\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wgpu@27.0.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-27.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wgpu","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wgpu-27.0.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","dx12","gles","metal","parking_lot","std","vulkan","web","webgpu","wgsl"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu-595090e3ab7ff771.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwgpu-595090e3ab7ff771.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ring-0.17.14\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ring","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ring-0.17.14\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","dev_urandom_fallback"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libring-738dab64282c6eef.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libring-738dab64282c6eef.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lyon_tessellation@1.0.21","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_tessellation-1.0.21\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lyon_tessellation","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_tessellation-1.0.21\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_tessellation-c823cc7a711760b5.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_tessellation-c823cc7a711760b5.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_normalizer","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_normalizer-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["compiled_data"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_normalizer-59c6783bf6a5e835.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_normalizer-59c6783bf6a5e835.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#icu_properties@2.3.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties-2.3.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"icu_properties","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\icu_properties-2.3.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["compiled_data"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_properties-5116ed65b0290f32.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libicu_properties-5116ed65b0290f32.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#etagere@0.2.15","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\etagere-0.2.15\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"etagere","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\etagere-0.2.15\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libetagere-11863a42386f547a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libetagere-11863a42386f547a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_debug@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_debug-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_debug","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_debug-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_debug-fe62b2ca2b80c527.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_debug-fe62b2ca2b80c527.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lyon_algorithms@1.0.21","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_algorithms-1.0.21\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lyon_algorithms","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon_algorithms-1.0.21\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_algorithms-edfce36ea52c6680.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon_algorithms-edfce36ea52c6680.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#try-lock@0.2.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\try-lock-0.2.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"try_lock","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\try-lock-0.2.5\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtry_lock-9f27ccc0a055ed63.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtry_lock-9f27ccc0a055ed63.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tower-service@0.3.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-service-0.3.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tower_service","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-service-0.3.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_service-7458f32bbeb2d4e8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_service-7458f32bbeb2d4e8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.4.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.4.3\\build.rs","edition":"2024","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\getrandom-168cb7f91c8645ca\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lru@0.16.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lru-0.16.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lru","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lru-0.16.4\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblru-a0c556d4aa0be9d2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblru-a0c556d4aa0be9d2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.229\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.229\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde-c9911adbe87e85d2\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.23","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.23\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.23\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\zmij-e8f67a20243f3063\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.43","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-0.23.43\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-0.23.43\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ring","std","tls12"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\rustls-4731cd7a4b08d473\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.43","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\rustls-2bbc978437ba46fb\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.23","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\zmij-c8f8f3187a72be14\\out"}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229","linked_libs":[],"linked_paths":[],"cfgs":["if_docsrs_then_no_serde_core"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde-963672309bf9e4ba\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cryoglyph@0.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cryoglyph-0.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cryoglyph","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cryoglyph-0.1.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcryoglyph-b2394e118b4d9376.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcryoglyph-b2394e118b4d9376.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\getrandom-4967b63cf7b288b8\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#want@0.3.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\want-0.3.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"want","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\want-0.3.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwant-32f9dd7f41c480ab.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwant-32f9dd7f41c480ab.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lyon@1.0.19","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon-1.0.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lyon","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\lyon-1.0.19\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon-4cdc4fdcfb93f989.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liblyon-4cdc4fdcfb93f989.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#idna_adapter@1.2.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\idna_adapter-1.2.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"idna_adapter","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\idna_adapter-1.2.2\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["compiled_data"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libidna_adapter-8d8c45dfcc1fdf6e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libidna_adapter-8d8c45dfcc1fdf6e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustls-webpki@0.103.15","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-webpki-0.103.15\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"webpki","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-webpki-0.103.15\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","ring","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwebpki-008d50ae9e845dae.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwebpki-008d50ae9e845dae.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#httparse@1.10.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\httparse-1.10.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"httparse","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\httparse-1.10.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttparse-9c77e151b8820051.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttparse-9c77e151b8820051.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#guillotiere@0.6.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\guillotiere-0.6.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"guillotiere","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\guillotiere-0.6.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libguillotiere-faf3950892ed8771.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libguillotiere-faf3950892ed8771.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\form_urlencoded-1.2.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"form_urlencoded","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\form_urlencoded-1.2.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libform_urlencoded-cc07c16f896fb577.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libform_urlencoded-cc07c16f896fb577.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#winit@0.30.13","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winit-0.30.13\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winit-0.30.13\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ahash","bytemuck","memmap2","percent-encoding","rwh_06","sctk","sctk-adwaita","wayland","wayland-backend","wayland-client","wayland-csd-adwaita","wayland-dlopen","wayland-protocols","wayland-protocols-plasma","x11","x11-dl","x11rb"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\winit-83b21ae2c86d60b6\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.229","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_derive-1.0.229\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_derive","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_derive-1.0.229\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\serde_derive-85ba47d41ea85c8c.dll","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_derive-85ba47d41ea85c8c.dll.a"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#atomic-waker@1.1.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\atomic-waker-1.1.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"atomic_waker","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\atomic-waker-1.1.2\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libatomic_waker-e967f7e415cea2c2.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libatomic_waker-e967f7e415cea2c2.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#error-code@3.4.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\error-code-3.4.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"error_code","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\error-code-3.4.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liberror_code-0cb8a5eb06ab8729.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liberror_code-0cb8a5eb06ab8729.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\subtle-2.6.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"subtle","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\subtle-2.6.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsubtle-5343c5ccffb39419.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsubtle-5343c5ccffb39419.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.151","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.151\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.151\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde_json-28521d5277e5c15b\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.151","linked_libs":[],"linked_paths":[],"cfgs":["fast_arithmetic=\"64\""],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\serde_json-908788f6700df5fb\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.43","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-0.23.43\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustls","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustls-0.23.43\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ring","std","tls12"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustls-b129a6e715773239.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librustls-b129a6e715773239.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#clipboard-win@5.4.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\clipboard-win-5.4.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"clipboard_win","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\clipboard-win-5.4.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libclipboard_win-397533c2e2575812.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libclipboard_win-397533c2e2575812.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hyper@1.11.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-1.11.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hyper","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-1.11.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["client","default","http1"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper-e5ef4fb4f9b64063.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper-e5ef4fb4f9b64063.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.229\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.229\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde-698855389a914a01.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde-698855389a914a01.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#winit@0.30.13","linked_libs":[],"linked_paths":[],"cfgs":["windows_platform"],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\winit-4ccf486d7e382df9\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_wgpu@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_wgpu-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_wgpu","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_wgpu-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","geometry","lyon"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_wgpu-c0f17b8f9b992dc8.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_wgpu-c0f17b8f9b992dc8.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#idna@1.1.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\idna-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"idna","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\idna-1.1.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","compiled_data","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libidna-bdd1376744228939.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libidna-bdd1376744228939.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.4.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.4.3\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgetrandom-6e8efb5a01ff0cbb.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libgetrandom-6e8efb5a01ff0cbb.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.23","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.23\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.23\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzmij-9f8770986f00ef15.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libzmij-9f8770986f00ef15.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_runtime@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_runtime-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_runtime","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_runtime-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_runtime-93fe602e2dabe64d.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_runtime-93fe602e2dabe64d.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.52.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_sys","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.52.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["Win32","Win32_Devices","Win32_Devices_HumanInterfaceDevice","Win32_Foundation","Win32_Globalization","Win32_Graphics","Win32_Graphics_Dwm","Win32_Graphics_Gdi","Win32_Media","Win32_Security","Win32_System","Win32_System_Com","Win32_System_Com_StructuredStorage","Win32_System_LibraryLoader","Win32_System_Ole","Win32_System_SystemInformation","Win32_System_SystemServices","Win32_System_Threading","Win32_System_WindowsProgramming","Win32_UI","Win32_UI_Accessibility","Win32_UI_Controls","Win32_UI_HiDpi","Win32_UI_Input","Win32_UI_Input_Ime","Win32_UI_Input_KeyboardAndMouse","Win32_UI_Input_Pointer","Win32_UI_Input_Touch","Win32_UI_Shell","Win32_UI_TextServices","Win32_UI_WindowsAndMessaging","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-06c2af6f098f909f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-06c2af6f098f909f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sync_wrapper@1.0.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sync_wrapper-1.0.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sync_wrapper","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sync_wrapper-1.0.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["futures","futures-core"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsync_wrapper-6990166b58a7374a.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsync_wrapper-6990166b58a7374a.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cursor-icon@1.2.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cursor-icon-1.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cursor_icon","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cursor-icon-1.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcursor_icon-ad27fa28bd28652d.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libcursor_icon-ad27fa28bd28652d.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#dpi@0.1.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\dpi-0.1.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"dpi","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\dpi-0.1.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libdpi-f5f7fb1c621a018e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libdpi-f5f7fb1c621a018e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.22.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.22.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.22.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbase64-727bb2e9e77ea808.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libbase64-727bb2e9e77ea808.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ipnet@2.12.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ipnet-2.12.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ipnet","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ipnet-2.12.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libipnet-b58970b857bf6042.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libipnet-b58970b857bf6042.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tower-layer@0.3.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-layer-0.3.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tower_layer","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-layer-0.3.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_layer-f71a1751e33be8db.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_layer-f71a1751e33be8db.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tower@0.5.3","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-0.5.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tower","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-0.5.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["futures-core","futures-util","pin-project-lite","retry","sync_wrapper","timeout","tokio","util"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower-ee71091376f45b24.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower-ee71091376f45b24.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hyper-util@0.1.20","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-util-0.1.20\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hyper_util","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-util-0.1.20\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["client","client-legacy","client-proxy","default","http1","tokio"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper_util-b26eeba27e741a08.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper_util-b26eeba27e741a08.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#winit@0.30.13","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winit-0.30.13\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"winit","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winit-0.30.13\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ahash","bytemuck","memmap2","percent-encoding","rwh_06","sctk","sctk-adwaita","wayland","wayland-backend","wayland-client","wayland-csd-adwaita","wayland-dlopen","wayland-protocols","wayland-protocols-plasma","x11","x11-dl","x11rb"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwinit-ba7482330d748070.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwinit-ba7482330d748070.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_program@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_program-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_program","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_program-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_program-ffcde4ddf0598e31.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_program-ffcde4ddf0598e31.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.151","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.151\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.151\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_json-39fc764f03e68759.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_json-39fc764f03e68759.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#url@2.5.8","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\url-2.5.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"url","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\url-2.5.8\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liburl-2d7487f095ea9231.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liburl-2d7487f095ea9231.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_renderer@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_renderer-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_renderer","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_renderer-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["geometry","iced_wgpu","wayland","wgpu","wgpu-bare","x11"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_renderer-2573a9f65f468446.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_renderer-2573a9f65f468446.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#window_clipboard@0.5.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\window_clipboard-0.5.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"window_clipboard","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\window_clipboard-0.5.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clipboard_wayland","clipboard_x11","wayland","x11"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindow_clipboard-51aae3cf7171c4ae.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindow_clipboard-51aae3cf7171c4ae.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tokio-rustls-0.26.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tokio_rustls","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tokio-rustls-0.26.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ring","tls12"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtokio_rustls-71f10d02a9f9e4e6.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtokio_rustls-71f10d02a9f9e4e6.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#webpki-roots@1.0.9","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\webpki-roots-1.0.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"webpki_roots","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\webpki-roots-1.0.9\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwebpki_roots-3b25851f8e797647.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwebpki_roots-3b25851f8e797647.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#winapi-util@0.1.11","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winapi-util-0.1.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"winapi_util","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\winapi-util-0.1.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwinapi_util-178409c37516f0da.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwinapi_util-178409c37516f0da.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-core#0.2.0","manifest_path":"C:\\ar-text-9e8r6t\\crates\\oa-core\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\ar-text-9e8r6t\\crates\\oa-core\\build.rs","edition":"2024","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\oa-core-6f46b396061b0e99\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.23","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ryu-1.0.23\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ryu","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ryu-1.0.23\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libryu-28cfd08a9cfed0fa.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libryu-28cfd08a9cfed0fa.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha1_smol@1.0.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha1_smol-1.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha1_smol","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha1_smol-1.0.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsha1_smol-c4b7e5ec8b41792e.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsha1_smol-c4b7e5ec8b41792e.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#fastrand@2.5.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fastrand-2.5.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"fastrand","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fastrand-2.5.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfastrand-3df248e815d242e1.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libfastrand-3df248e815d242e1.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfd@0.15.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfd-0.15.4\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfd-0.15.4\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ashpd","async-std","default","pollster","urlencoding","xdg-portal"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\rfd-8cedae2692909516\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfd@0.15.4","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\rfd-6a203449fa297c36\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tempfile@3.27.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tempfile-3.27.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tempfile","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tempfile-3.27.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","getrandom"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtempfile-86aac28d6be16d2f.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtempfile-86aac28d6be16d2f.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#uuid@1.26.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\uuid-1.26.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"uuid","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\uuid-1.26.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","rng","serde","sha1","std","v4","v5"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libuuid-f7851e8936dae115.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libuuid-f7851e8936dae115.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_urlencoded@0.7.1","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_urlencoded-0.7.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_urlencoded","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_urlencoded-0.7.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_urlencoded-ad8d1ce9366d3ed4.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libserde_urlencoded-ad8d1ce9366d3ed4.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-core#0.2.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\oa-core-08552b12a2cacda2\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#same-file@1.0.6","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\same-file-1.0.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"same_file","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\same-file-1.0.6\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsame_file-e8a4d164978c7bf3.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libsame_file-e8a4d164978c7bf3.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hyper-rustls@0.27.9","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-rustls-0.27.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hyper_rustls","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hyper-rustls-0.27.9\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["http1","ring","tls12","webpki-roots","webpki-tokio"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper_rustls-c6aa16b733036ee9.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhyper_rustls-c6aa16b733036ee9.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_winit@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_winit-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_winit","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_winit-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["wayland","x11"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_winit-5aa41936858bc773.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_winit-5aa41936858bc773.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced_widget@0.14.2","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_widget-0.14.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced_widget","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced_widget-0.14.2\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["advanced","canvas","wgpu"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_widget-8513284801154688.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced_widget-8513284801154688.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#tower-http@0.6.11","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-http-0.6.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tower_http","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\tower-http-0.6.11\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["follow-redirect","futures-util","tower"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_http-92f42ef6b0d2c3ab.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libtower_http-92f42ef6b0d2c3ab.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#http-body-util@0.1.5","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-body-util-0.1.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"http_body_util","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\http-body-util-0.1.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp_body_util-70fa0b4576b964c7.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libhttp_body_util-70fa0b4576b964c7.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.59.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.59.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"windows_sys","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows-sys-0.59.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["Win32","Win32_Foundation","Win32_System","Win32_System_Com","Win32_UI","Win32_UI_Shell","Win32_UI_Shell_Common","Win32_UI_WindowsAndMessaging","default"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-c21bfdf36c33841c.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libwindows_sys-c21bfdf36c33841c.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-desktop#0.2.0","manifest_path":"C:\\ar-text-9e8r6t\\crates\\oa-desktop\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\ar-text-9e8r6t\\crates\\oa-desktop\\build.rs","edition":"2024","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\oa-desktop-64bfcb13993fdcf4\\build-script-build.exe"],"executable":null,"fresh":true}
|
||||
{"reason":"build-script-executed","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-desktop#0.2.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\build\\oa-desktop-664d65ac5124e646\\out"}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfd@0.15.4","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfd-0.15.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rfd","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfd-0.15.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ashpd","async-std","default","pollster","urlencoding","xdg-portal"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librfd-17cc7ba2db223d7b.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\librfd-17cc7ba2db223d7b.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#reqwest@0.12.28","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\reqwest-0.12.28\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"reqwest","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\reqwest-0.12.28\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["__rustls","__rustls-ring","__tls","json","rustls-tls","rustls-tls-webpki-roots","rustls-tls-webpki-roots-no-provider"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libreqwest-b01c69cdcc184887.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libreqwest-b01c69cdcc184887.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#iced@0.14.0","manifest_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced-0.14.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"iced","src_path":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\iced-0.14.0\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["advanced","canvas","tokio","wayland","wgpu","wgpu-bare","x11"],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced-a4e48b220c5d9711.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\libiced-a4e48b220c5d9711.rmeta"],"executable":null,"fresh":true}
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-core#0.2.0","manifest_path":"C:\\ar-text-9e8r6t\\crates\\oa-core\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"oa_core","src_path":"C:\\ar-text-9e8r6t\\crates\\oa-core\\src\\lib.rs","edition":"2024","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liboa_core-3e81c616fea1d901.rlib","C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\deps\\liboa_core-3e81c616fea1d901.rmeta"],"executable":null,"fresh":false}
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///C:/ar-text-9e8r6t/crates/oa-desktop#0.2.0","manifest_path":"C:\\ar-text-9e8r6t\\crates\\oa-desktop\\Cargo.toml","target":{"kind":["bin"],"crate_types":["bin"],"name":"arcadia-studio","src_path":"C:\\ar-text-9e8r6t\\crates\\oa-desktop\\src\\main.rs","edition":"2024","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\arcadia-studio.exe"],"executable":"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\target-gnullvm\\debug\\arcadia-studio.exe","fresh":false}
|
||||
{"reason":"build-finished","success":true}
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--",
|
||||
"--list"
|
||||
],
|
||||
"started": "2026-09-13T02:18:28.501200+00:00",
|
||||
"finished": "2026-09-13T02:22:47.122499+00:00",
|
||||
"seconds": 258.62018909999824,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "a309cb73becffea6de10375deac7a9e30fc7c3d7a125aa10f30b5cd06b007cdd",
|
||||
"stderrSha256": "a8db625d670cd4dce500735df31815f01e3089d9d84a949fd2bf6a3aecb1b3d0",
|
||||
"testMembership": {
|
||||
"listed": 859,
|
||||
"required": [
|
||||
"app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references",
|
||||
"app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker",
|
||||
"app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related",
|
||||
"app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority",
|
||||
"app::text_workspace::tests::queued_group_toggle_cannot_mutate_a_reopened_or_rotated_visit",
|
||||
"app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts",
|
||||
"diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame",
|
||||
"views::text_workspace::summary_visibility_tests::all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts",
|
||||
"views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests",
|
||||
"views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds"
|
||||
],
|
||||
"missing": [],
|
||||
"diagnosticGuardCount": 20
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Compiling oa-desktop v0.2.0 (C:\ar-text-9e8r6t\crates\oa-desktop)
|
||||
Finished `test` profile [unoptimized] target(s) in 4m 18s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,861 @@
|
||||
app::architecture_authoring::tests::architecture_allocated_work_is_root_owned_and_one_exact_history_change: test
|
||||
app::architecture_authoring::tests::architecture_blank_names_and_escape_never_accept_placeholder_or_rename: test
|
||||
app::architecture_authoring::tests::architecture_captured_escape_does_not_cancel_other_controls_or_placement: test
|
||||
app::architecture_authoring::tests::architecture_f2_routes_selected_node_to_inline_rename_and_exact_undo: test
|
||||
app::architecture_authoring::tests::architecture_first_focused_input_escape_cancels_create_and_rename: test
|
||||
app::architecture_authoring::tests::architecture_invalid_click_cannot_poison_inline_or_checkpoint_geometry: test
|
||||
app::architecture_authoring::tests::architecture_stale_submit_keeps_create_and_rename_visible_and_exact: test
|
||||
app::architecture_authoring_tests::architecture_cancelled_gesture_cannot_commit_a_later_named_draft: test
|
||||
app::architecture_authoring_tests::architecture_canvas_left_click_uses_world_coordinate_once_at_zoom_and_pan: test
|
||||
app::architecture_authoring_tests::architecture_checkpoint_retains_exact_name_point_and_fresh_binding_without_commands: test
|
||||
app::architecture_authoring_tests::architecture_context_choices_are_small_and_system_is_singleton: test
|
||||
app::architecture_authoring_tests::architecture_contextual_allocation_creates_work_relation_and_node_in_one_undo: test
|
||||
app::architecture_authoring_tests::architecture_creation_names_before_commit_preserves_camera_and_undoes_once: test
|
||||
app::architecture_authoring_tests::architecture_existing_inventory_is_contextual_and_placement_never_implies_allocation: test
|
||||
app::architecture_authoring_tests::architecture_f2_rename_preserves_identity_placement_and_atomic_history: test
|
||||
app::architecture_authoring_tests::architecture_name_survives_rejected_click_resize_navigation_and_escape_is_explicit: test
|
||||
app::architecture_authoring_tests::architecture_rejected_submission_keeps_inline_name_visible_and_invalid_click_is_ignored: test
|
||||
app::architecture_authoring_tests::basic_transition_explicit_overview_focus_wins_over_an_already_populated_architecture: test
|
||||
app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching: test
|
||||
app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts: test
|
||||
app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history: test
|
||||
app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay: test
|
||||
app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo: test
|
||||
app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo: test
|
||||
app::checkpoints::tests::checkpoint_completion_releases_the_writer_while_a_context_menu_is_open: test
|
||||
app::checkpoints::tests::checkpoint_inline_create_and_rename_restore_focus_without_changing_drafts_or_history: test
|
||||
app::checkpoints::tests::checkpoint_noninline_contexts_keep_other_focus_and_still_lint: test
|
||||
app::checkpoints::tests::discard_and_close_waits_for_the_late_checkpoint_then_retires_it: test
|
||||
app::checkpoints::tests::home_resume_keeps_state_view_while_explicit_architecture_remains_reachable: test
|
||||
app::checkpoints::tests::home_resume_retains_invalid_source_and_property_drafts: test
|
||||
app::checkpoints::tests::home_resume_returns_to_each_actual_workspace_without_model_edits: test
|
||||
app::checkpoints::tests::malformed_checkpoint_does_not_replace_the_current_model: test
|
||||
app::checkpoints::tests::recent_and_recovery_navigation_respect_unsaved_decision: test
|
||||
app::checkpoints::tests::restored_copy_keeps_raw_property_and_requires_save_without_local_or_hosted_binding: test
|
||||
app::checkpoints::tests::saving_an_older_snapshot_keeps_recovery_for_newer_unsaved_work: test
|
||||
app::checkpoints::tests::stale_write_completion_cannot_recover_a_discarded_document: test
|
||||
app::checkpoints::tests::walkthrough_request_keeps_unfinished_source_behind_the_normal_pending_guard: test
|
||||
app::data_paging_lifecycle_tests::paging_preserves_same_context_and_resets_on_layer_or_document_replacement: test
|
||||
app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit: test
|
||||
app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection: test
|
||||
app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target: test
|
||||
app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input: test
|
||||
app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft: test
|
||||
app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view: test
|
||||
app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once: test
|
||||
app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts: test
|
||||
app::direct_scenario_tests::direct_scenario_scroll_and_real_resize_invalidate_only_pointer_context: test
|
||||
app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success: test
|
||||
app::hosted::tests::hosted_actual_app_tasks_publish_edit_conflict_correct_credentials_reload_and_open: test
|
||||
app::hosted::tests::hosted_catalog_invalidation_follows_service_writes_and_observed_revision_changes: test
|
||||
app::hosted::tests::hosted_catalog_search_credentials_and_failed_refresh_never_mix_result_scopes: test
|
||||
app::hosted::tests::hosted_changed_bound_head_does_not_invalidate_another_services_empty_filter: test
|
||||
app::hosted::tests::hosted_conflict_fetches_review_without_adoption_and_reload_is_undoable: test
|
||||
app::hosted::tests::hosted_detached_drafts_and_recovery_remain_available_after_rejected_publish: test
|
||||
app::hosted::tests::hosted_failed_cross_service_publication_checks_and_reloads_its_own_resource: test
|
||||
app::hosted::tests::hosted_failed_or_cancelled_local_open_keeps_the_existing_document_and_destination: test
|
||||
app::hosted::tests::hosted_invalid_and_detached_source_drafts_never_start_network_writes: test
|
||||
app::hosted::tests::hosted_invalid_local_open_repair_saves_locally_and_never_replaces_old_resource: test
|
||||
app::hosted::tests::hosted_modal_blocks_underlying_edits_and_credentials_are_redacted: test
|
||||
app::hosted::tests::hosted_new_revision_invalidates_filtered_catalog_even_without_a_displayed_row: test
|
||||
app::hosted::tests::hosted_only_successful_source_save_as_changes_the_active_destination: test
|
||||
app::hosted::tests::hosted_open_waits_for_unsaved_guard_and_failed_open_preserves_current_document: test
|
||||
app::hosted::tests::hosted_publish_acknowledges_only_the_sent_snapshot_and_retains_undo: test
|
||||
app::hosted::tests::hosted_stale_completions_do_not_clear_current_busy_or_adopt_another_document: test
|
||||
app::hosted::tests::hosted_unknown_save_is_acknowledged_by_exact_readback_without_retry: test
|
||||
app::lint_tests::committed_check_cache_follows_edit_and_undo_while_drafts_stay_separate: test
|
||||
app::lint_tests::lint_coalesces_work_and_rejects_obsolete_results: test
|
||||
app::lint_tests::prior_document_lint_cannot_enter_reopened_model_or_block_next_checks: test
|
||||
app::port_view_tests::catalog_creation_follows_the_new_port_and_keeps_group_browsing_explicit: test
|
||||
app::port_view_tests::filtered_active_view_cannot_hide_a_created_port_when_eligible_owner_view_is_folded: test
|
||||
app::process_canvas::direct_process_dirty_source_blocks_canvas_creation_without_losing_text: test
|
||||
app::process_canvas::tests::direct_process_app_open_source_and_back_preserve_local_reference_identity: test
|
||||
app::process_canvas::tests::direct_process_app_same_owner_selection_preserves_tool_but_owner_change_resets_it: test
|
||||
app::process_canvas::tests::direct_process_app_save_scroll_resize_and_passive_geometry_keep_drafts_and_current_origin: test
|
||||
app::process_canvas::tests::direct_process_app_source_failure_retains_form_then_commits_once_and_selects_occurrence: test
|
||||
app::process_canvas::tests::direct_process_app_stale_context_dirty_source_and_properties_never_mutate: test
|
||||
app::process_canvas::tests::direct_process_append_empty_first_second_exchange_has_exact_source_history: test
|
||||
app::process_canvas::tests::process_focus_retains_rejected_draft_and_guards_selection_until_panels_restore: test
|
||||
app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model: test
|
||||
app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority: test
|
||||
app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save: test
|
||||
app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close: test
|
||||
app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean: test
|
||||
app::review_navigation_tests::rejected_semantic_source_writeback_retains_review_camera_and_original_navigation: test
|
||||
app::review_navigation_tests::review_already_showing_the_target_keeps_its_camera_and_query: test
|
||||
app::review_navigation_tests::semantic_name_take_selects_the_counterpart_view_in_both_directions_with_one_exact_history_entry: test
|
||||
app::review_navigation_tests::semantic_review_without_a_destination_view_clears_the_old_layer_canvas_without_creating_a_view: test
|
||||
app::save_as_tests::save_as_late_receipt_preserves_newer_raw_source_draft_and_destination: test
|
||||
app::save_as_tests::save_as_preflight_rejects_historical_collision_before_starting_io: test
|
||||
app::save_as_tests::save_as_receipt_then_one_undo_restores_meaning_and_saving_preserves_redo: test
|
||||
app::source_project_tests::closed_detached_file_keeps_first_save_conflict_then_can_be_reloaded_fresh: test
|
||||
app::source_project_tests::inactive_invalid_draft_blocks_graphical_changes_and_diagnostic_switches_files: test
|
||||
app::source_project_tests::json_export_and_rejected_save_as_preserve_source_location_history_and_bytes: test
|
||||
app::source_project_tests::missing_include_open_keeps_old_model_and_can_be_repaired_and_saved: test
|
||||
app::source_project_tests::recovery_after_first_save_failure_retains_target_then_retries_without_reentering_path: test
|
||||
app::source_project_tests::recovery_of_previous_save_as_target_does_not_redirect_current_project: test
|
||||
app::source_project_tests::recovery_open_finds_first_save_journal_without_an_entry_file: test
|
||||
app::source_project_tests::recovery_target_survives_edit_lint_apply_and_rejected_recovery_until_success: test
|
||||
app::source_project_tests::source3_native_open_preserves_report_comments_nesting_and_save_reopen: test
|
||||
app::source_project_tests::two_file_apply_graphical_edit_exact_undo_save_as_and_reopen: test
|
||||
app::source_rename::alias_input::tests::effective_escape_reset_follows_child_after_early_returns: test
|
||||
app::source_rename::alias_input::tests::held_paste_cache_contains_only_previously_admitted_text: test
|
||||
app::source_rename::alias_input::tests::paste_refusal_matches_child_focus_enabled_and_stored_modifier_protocol: test
|
||||
app::source_rename::editor_patch::tests::all_preflight_refusals_leave_text_cursor_and_selection_unchanged: test
|
||||
app::source_rename::editor_patch::tests::already_laid_out_editor_notifies_highlighter_from_zero_after_later_line_patch: test
|
||||
app::source_rename::editor_patch::tests::exact_text_matrix_and_reverse_preserve_endings: test
|
||||
app::source_rename::editor_patch::tests::unchanged_content_preserves_selection_and_next_direct_edit_works: test
|
||||
app::source_rename::tests::actual_alias_clipboard_rejects_controls_without_normalizing_or_moving_selection: test
|
||||
app::source_rename::tests::actual_captured_escape_closes_only_its_priority_owner_and_retains_worker: test
|
||||
app::source_rename::tests::actual_dialog_enter_requests_preview_even_when_confirm_is_available: test
|
||||
app::source_rename::tests::actual_dialog_real_paragraph_geometry_keeps_input_preview_and_footer_reachable: test
|
||||
app::source_rename::tests::alias_editor_sync_fallback_restores_accepted_display_and_preserves_model_history: test
|
||||
app::source_rename::tests::close_and_reset_retain_worker_slot_until_exact_completion_without_reopening: test
|
||||
app::source_rename::tests::complete_alias_change_preserves_literals_and_last_comment_separated_origin_and_undo: test
|
||||
app::source_rename::tests::full_details_selection_survives_readonly_and_passive_messages_and_tracks_input: test
|
||||
app::source_rename::tests::genuine_save_receipts_preserve_same_destination_preview_but_invalidate_save_as: test
|
||||
app::source_rename::tests::invalid_open_retains_accepted_document_but_refuses_alias_rename: test
|
||||
app::source_rename::tests::last_same_line_use_beyond_reference_row_limit_and_selection_boundaries: test
|
||||
app::source_rename::tests::mounted_editor_f2_requires_focus_and_no_modifiers: test
|
||||
app::source_rename::tests::paging_all_utf8_fragments_preserves_exact_preview_and_approval: test
|
||||
app::source_rename::tests::preview_glyph_tests::actual_preview_source_glyphs_clear_scrollbar_and_all_long_fragments_are_reachable: test
|
||||
app::source_rename::tests::preview_scroll_tests::delayed_page_and_approval_operations_cannot_reset_a_new_destination: test
|
||||
app::source_rename::tests::preview_scroll_tests::explicit_navigation_resets_retained_scroll_but_id_change_alone_does_not: test
|
||||
app::source_rename::tests::preview_scroll_tests::repeated_page_visits_filters_and_fast_preview_completion_have_distinct_destinations: test
|
||||
app::source_rename::tests::property_draft_and_detached_buffer_refuse_without_hidden_apply: test
|
||||
app::source_rename::tests::replacement_generation_aba_and_modal_shortcuts_cannot_commit_stale_preview: test
|
||||
app::source_rename::tests::same_alias_invalid_and_cancel_keep_existing_redo_and_source_selection: test
|
||||
app::source_rename::tests::source_edit_undo_and_recovery_invalidation_do_not_revive_approval: test
|
||||
app::source_rename::tests::stale_dialog_envelopes_do_not_cancel_new_same_path_form_or_its_approval: test
|
||||
app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing: test
|
||||
app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight: test
|
||||
app::source_symbols::tests::back_after_origin_edit_uses_its_current_cursor_instead_of_the_old_range: test
|
||||
app::source_symbols::tests::back_keeps_the_latest_64_actual_locations_without_reusing_dropped_history: test
|
||||
app::source_symbols::tests::back_restores_exact_reversed_utf8_selection_and_crlf_source: test
|
||||
app::source_symbols::tests::captured_find_and_modal_escape_use_one_actual_subscription_and_preserve_pending_work: test
|
||||
app::source_symbols::tests::captured_subscription_does_not_duplicate_existing_behavior_or_architecture_routes: test
|
||||
app::source_symbols::tests::close_during_busy_retains_hidden_completion_without_reopening_or_navigation: test
|
||||
app::source_symbols::tests::closed_results_stay_closed_on_exact_back_and_reopen_only_for_a_return_notice: test
|
||||
app::source_symbols::tests::completion_retains_current_display_but_rejects_navigation_after_context_changes: test
|
||||
app::source_symbols::tests::delayed_definition_after_hide_or_tab_change_retains_data_without_reopening_or_focus: test
|
||||
app::source_symbols::tests::detached_duplicate_requires_an_explicit_choice_even_when_included_source_is_validated: test
|
||||
app::source_symbols::tests::escape_dismisses_modal_before_underlying_source_results: test
|
||||
app::source_symbols::tests::escape_hides_results_and_cancels_navigation_but_retains_latest_display: test
|
||||
app::source_symbols::tests::find_close_releases_removed_input_and_guarded_focus_respects_later_input: test
|
||||
app::source_symbols::tests::find_only_captured_escape_closes_once_and_preserves_raw_query_and_selection: test
|
||||
app::source_symbols::tests::hidden_completion_checks_exact_bytes_even_when_snapshot_key_was_not_advanced: test
|
||||
app::source_symbols::tests::invalid_unapplied_drafts_navigate_without_apply_or_losing_either_history: test
|
||||
app::source_symbols::tests::matching_old_worker_cannot_replace_a_newer_display_owner: test
|
||||
app::source_symbols::tests::matching_reveal_ticket_is_required_and_raw_input_invalidates_pending_reveal: test
|
||||
app::source_symbols::tests::old_find_close_cannot_cancel_a_new_file_session_or_reopened_find_intent: test
|
||||
app::source_symbols::tests::old_symbol_widget_envelopes_after_file_switch_preserve_same_session_intent: test
|
||||
app::source_symbols::tests::old_symbol_widget_envelopes_after_reset_preserve_new_same_path_intent: test
|
||||
app::source_symbols::tests::popup_escape_has_no_duplicate_bridge_and_dismissal_preserves_underlying_find_and_drawer: test
|
||||
app::source_symbols::tests::reset_retains_worker_slot_until_old_completion_then_admits_new_session_query: test
|
||||
app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references: test
|
||||
app::source_symbols::tests::same_worker_with_changed_request_envelope_cannot_publish_or_navigate: test
|
||||
app::source_symbols::tests::saturated_raw_clock_never_authorizes_completion_or_reveal: test
|
||||
app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses: test
|
||||
app::source_symbols::tests::unknown_job_cannot_release_current_worker_and_old_duplicate_cannot_replace_new_results: test
|
||||
app::source_symbols::tests::valid_definition_and_reference_choice_keep_whole_model_and_source_unchanged: test
|
||||
app::state_diagram_tests::all_context_dimensions_reject_stale_selection_camera_and_model_messages: test
|
||||
app::state_diagram_tests::create_view_places_only_its_machine_and_restores_exact_source_in_one_undo: test
|
||||
app::state_diagram_tests::direct_create_connect_select_and_move_keep_semantic_identity_and_atomic_history: test
|
||||
app::state_diagram_tests::fallback_owner_first_selection_keeps_the_captured_context_for_its_first_move: test
|
||||
app::state_diagram_tests::pending_drafts_block_every_direct_mutation_and_passive_camera_preserves_inputs: test
|
||||
app::state_diagram_tests::real_view_tool_and_history_changes_invalidate_old_release_events: test
|
||||
app::state_diagram_tests::rejected_creation_keeps_source_and_selection_then_valid_owner_can_retry: test
|
||||
app::state_diagram_tests::same_size_viewport_after_revision_or_tool_epoch_does_not_refit_the_camera: test
|
||||
app::state_diagram_tests::shared_semantic_states_keep_architecture_and_behavior_placements_independent: test
|
||||
app::state_diagram_tests::state_diagram_routes_constructor_and_source_open_to_the_existing_workspace_without_edits: test
|
||||
app::state_diagram_tests::state_diagram_routes_picker_and_reveal_but_explicit_architecture_does_not_bounce: test
|
||||
app::state_diagram_tests::state_diagram_routes_preserve_selected_raw_properties_and_pending_behavior_guards: test
|
||||
app::state_diagram_tests::state_navigation_catalog_selection_across_layers_resets_camera_and_tool: test
|
||||
app::state_diagram_tests::state_navigation_catalog_selection_of_another_machine_resets_camera_and_tool: test
|
||||
app::state_diagram_tests::state_navigation_layer_change_resets_the_new_machine_at_the_same_viewport_size: test
|
||||
app::state_diagram_tests::state_navigation_return_to_the_same_view_preserves_camera_tool_and_fit_mode: test
|
||||
app::state_diagram_tests::state_navigation_root_event_and_same_layer_keep_the_current_camera_and_tool: test
|
||||
app::text_workspace::lifecycle_tests::canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics: test
|
||||
app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker: test
|
||||
app::text_workspace::lifecycle_tests::saved_new_destination_does_not_revalidate_already_stale_warning_locations: test
|
||||
app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related: test
|
||||
app::text_workspace::tests::current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it: test
|
||||
app::text_workspace::tests::diagnostic_span_must_be_loaded_ordered_and_utf8_exact: test
|
||||
app::text_workspace::tests::disabled_entry_cannot_become_a_new_action_under_the_same_menu_token: test
|
||||
app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority: test
|
||||
app::text_workspace::tests::enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy: test
|
||||
app::text_workspace::tests::equal_diagnostic_republication_invalidates_primary_and_related_targets: test
|
||||
app::text_workspace::tests::menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once: test
|
||||
app::text_workspace::tests::menu_source_caret_document_path_and_interaction_changes_refuse_stale_find: test
|
||||
app::text_workspace::tests::old_dismiss_and_invoke_do_not_consume_a_newer_menu: test
|
||||
app::text_workspace::tests::only_valid_explicit_group_and_resize_intent_cancel_pending_navigation: test
|
||||
app::text_workspace::tests::queued_group_toggle_cannot_mutate_a_reopened_or_rotated_visit: test
|
||||
app::text_workspace::tests::queued_toolbar_request_cannot_retarget_after_source_change: test
|
||||
app::text_workspace::tests::reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries: test
|
||||
app::text_workspace::tests::reset_removes_ui_and_publication_authority_and_resize_rejects_nan: test
|
||||
app::text_workspace::tests::retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems: test
|
||||
app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application: test
|
||||
app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts: test
|
||||
app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view: test
|
||||
app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture: test
|
||||
app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera: test
|
||||
app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start: test
|
||||
app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions: test
|
||||
app::view_copy_tests::copying_architecture_keeps_architecture_even_with_a_retained_state_view: test
|
||||
app::view_copy_tests::copying_the_current_state_view_uses_its_own_identity_and_is_one_source_undo: test
|
||||
app::view_copy_tests::duplicate_rejection_preserves_an_incomplete_source_buffer: test
|
||||
app::view_copy_tests::duplicate_rejection_preserves_invalid_property_and_pending_behavior_drafts: test
|
||||
app::view_copy_tests::stale_copy_does_not_apply_an_unrelated_valid_property_draft: test
|
||||
behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption: test
|
||||
behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors: test
|
||||
behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source: test
|
||||
behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors: test
|
||||
behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event: test
|
||||
behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection: test
|
||||
behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback: test
|
||||
behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step: test
|
||||
behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency: test
|
||||
behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes: test
|
||||
behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking: test
|
||||
behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict: test
|
||||
behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry: test
|
||||
behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically: test
|
||||
behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll: test
|
||||
behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated: test
|
||||
behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning: test
|
||||
behavior::contextual_source_tests::contextual_source_old_empty_action_cannot_open_a_previous_owner_or_layer: test
|
||||
behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing: test
|
||||
behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source: test
|
||||
behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner: test
|
||||
behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback: test
|
||||
behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo: test
|
||||
behavior::creation::app_tests::app_choosing_another_behavior_or_layer_cannot_commit_a_creation_draft: test
|
||||
behavior::creation::app_tests::app_creation_opens_the_actual_new_owner_instead_of_first_or_previously_active_behavior: test
|
||||
behavior::creation::app_tests::app_first_captured_escape_dismisses_file_or_pending_overlay_before_creation: test
|
||||
behavior::creation::app_tests::app_lesson_request_cancel_retains_creation_then_escape_discards_only_the_draft: test
|
||||
behavior::creation::app_tests::app_machine_behavior_submit_opens_its_opted_in_view_as_one_undoable_transaction: test
|
||||
behavior::creation::app_tests::app_new_never_auto_applies_valid_or_invalid_property_and_source_drafts: test
|
||||
behavior::creation::app_tests::app_recovered_rootless_sa_creation_retains_layer_ids_and_other_raw_drafts: test
|
||||
behavior::creation::app_tests::app_stale_layer_open_never_starts_or_replaces_a_draft: test
|
||||
behavior::creation::tests::all_four_viewpoints_are_explicit_and_survive_source_history_reopen: test
|
||||
behavior::creation::tests::cancel_and_illegal_family_layer_switches_never_create_model_objects: test
|
||||
behavior::creation::tests::corrupted_recovery_and_reserved_identity_collision_refuse_without_repairing_raw_values: test
|
||||
behavior::creation::tests::creation_selection_rejects_changed_scenario_body_and_post_creation_operations: test
|
||||
behavior::creation::tests::machine_requires_valid_owner_and_first_view_adds_no_region_or_state: test
|
||||
behavior::creation::tests::mounted_creation_keeps_actions_visible_and_renders_only_six_owner_candidates: test
|
||||
behavior::creation::tests::oa_process_and_sa_chain_keep_exact_names_root_ownership_and_one_history_entry: test
|
||||
behavior::creation::tests::optional_context_collapses_without_losing_authored_reference_or_raw_search: test
|
||||
behavior::creation::tests::owner_search_is_name_ordered_filtered_and_page_sized_not_a_catalog: test
|
||||
behavior::creation::tests::post_commit_selection_is_correlated_with_exact_created_behavior_and_view: test
|
||||
behavior::creation::tests::recovery_preserves_exact_raw_inputs_reserved_ids_and_revalidates_stale_owner: test
|
||||
behavior::creation::tests::rejected_source_transaction_keeps_draft_and_every_accepted_source_byte: test
|
||||
behavior::creation::tests::repeated_owner_names_remain_distinguishable_by_searchable_parent_context_and_alias: test
|
||||
behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand: test
|
||||
behavior::direct_canvas_tests::direct_bounds_change_during_held_drag_never_commits_old_slot: test
|
||||
behavior::direct_canvas_tests::direct_clicked_occurrence_capture_cancels_on_view_and_context_changes: test
|
||||
behavior::direct_canvas_tests::direct_context_escape_unfocus_and_pending_form_cancel_gestures: test
|
||||
behavior::direct_canvas_tests::direct_drag_and_click_click_use_ordered_sources_and_publish_once: test
|
||||
behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call: test
|
||||
behavior::direct_canvas_tests::direct_scroll_resize_and_bounds_changes_cancel_captured_slots: test
|
||||
behavior::direct_canvas_tests::direct_scrolled_canvas_maps_raw_pointer_events_to_the_visible_slot: test
|
||||
behavior::direct_canvas_tests::direct_selected_handle_reorders_and_hits_keep_semantic_identity: test
|
||||
behavior::direct_canvas_tests::reused_exchange_messages_display_their_distinct_occurrence_names: test
|
||||
behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages: test
|
||||
behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit: test
|
||||
behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys: test
|
||||
behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange: test
|
||||
behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically: test
|
||||
behavior::scenario::direct_tests::direct_busy_save_keeps_observed_scroll_current_for_the_next_pointer_gesture: test
|
||||
behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts: test
|
||||
behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history: test
|
||||
behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation: test
|
||||
behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values: test
|
||||
behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe: test
|
||||
behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree: test
|
||||
behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo: test
|
||||
behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands: test
|
||||
behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts: test
|
||||
behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history: test
|
||||
behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use: test
|
||||
behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values: test
|
||||
behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call: test
|
||||
behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values: test
|
||||
behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker: test
|
||||
behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent: test
|
||||
behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange: test
|
||||
behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract: test
|
||||
behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction: test
|
||||
behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings: test
|
||||
behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_allocates_remaining_height_and_pins_actions_at_minimum_and_wide_sizes: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_caller_restores_actual_mounted_canvas_and_shelf_with_camera: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_canvas_and_form_scroll_survive_disclosures_focus_width_and_resize: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_fit_reobserves_same_sized_owner_and_document_changes: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_scroll_after_preselection: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_scaled_and_scrolled_scene_keeps_clicked_slots_and_message_endpoints: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms: test
|
||||
behavior::scenario::workspace::tests::scenario_workspace_whole_app_canvas_tree_survives_pending_shelves_and_focus: test
|
||||
behavior::scenario_scroll::tests::direct_scenario_caller_restores_mounted_scroll_once_with_clamping_and_app_receipt: test
|
||||
behavior::scenario_scroll::tests::direct_scenario_restore_cannot_scroll_another_document_owner_or_process_view: test
|
||||
behavior::scenario_scroll::tests::direct_scroll_mounted_identity_resets_navigation_but_preserves_edits_before_first_report: test
|
||||
behavior::scenario_scroll::tests::direct_scroll_observer_reports_actual_initial_clamped_and_remounted_offsets_once: test
|
||||
behavior::scenario_scroll::tests::independent_process_owner_change_resets_actual_scroll_offsets: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_initial_essentials_fit_short_composed_host_with_real_paragraphs: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_long_parent_wraps_after_visible_name_without_losing_raw_data: test
|
||||
behavior::source_draft::layout_tests::contextual_source_layout_visible_kind_click_keeps_choice_explicit_and_name_input_works: test
|
||||
behavior::state_canvas::tests::context_menu_keeps_window_anchor_and_explicit_placement_identity: test
|
||||
behavior::state_canvas::tests::context_tool_and_pending_form_changes_cancel_mutating_gestures: test
|
||||
behavior::state_canvas::tests::creation_uses_the_explicit_deepest_owner_and_never_a_fallback_ancestor: test
|
||||
behavior::state_canvas::tests::drag_uses_ordered_release_at_each_zoom_and_moves_descendants_in_one_undo: test
|
||||
behavior::state_canvas::tests::escape_and_view_switch_discard_the_armed_transition_source: test
|
||||
behavior::state_canvas::tests::internal_rows_and_pseudostate_hits_use_shared_persisted_geometry: test
|
||||
behavior::state_canvas::tests::ordered_stationary_click_does_not_move_on_later_motion_in_the_same_batch: test
|
||||
behavior::state_canvas::tests::pan_is_button_scoped_read_only_and_hover_does_not_reproject_the_scene: test
|
||||
behavior::state_canvas::tests::pseudostate_names_avoid_rightward_and_downward_routes_and_share_hit_bounds: test
|
||||
behavior::state_canvas::tests::relayout_does_not_turn_a_transition_click_into_a_drag_or_pan: test
|
||||
behavior::state_canvas::tests::selected_endpoint_reconnect_preserves_identity_and_requires_handle_motion: test
|
||||
behavior::state_canvas::tests::selection_relayout_does_not_move_nodes_or_change_drag_distance: test
|
||||
behavior::state_canvas::tests::stacked_symbol_names_avoid_each_other_and_are_independent_of_input_order: test
|
||||
behavior::state_canvas::tests::transition_supports_click_click_and_drag_without_coalesced_accidental_edges: test
|
||||
behavior::state_canvas::tests::typed_state_actions_are_named_selectable_rows_before_internal_transitions_and_regions: test
|
||||
behavior::state_canvas::tests::viewport_uses_full_canvas_coordinates_and_republishes_for_a_new_context: test
|
||||
behavior::state_edit::tests::an_empty_machine_has_an_explicit_visible_owner_for_first_region_creation: test
|
||||
behavior::state_edit::tests::connect_preserves_self_loops_and_rejects_hidden_or_incompatible_vertices: test
|
||||
behavior::state_edit::tests::creation_places_missing_ancestry_and_unfolds_existing_owners_atomically: test
|
||||
behavior::state_edit::tests::every_context_component_and_invalid_ownership_are_checked_before_planning: test
|
||||
behavior::state_edit::tests::placing_existing_content_and_moving_a_folded_group_preserve_other_views_and_semantics: test
|
||||
behavior::state_edit::tests::reconnect_preserves_the_complete_record_and_replaces_cardinality_in_place: test
|
||||
behavior::state_edit::tests::view_initializes_only_its_machine_in_one_source_and_model_history_entry: test
|
||||
behavior::states::tests::internal_choice_targets_self_and_edit_preserves_identity_and_description: test
|
||||
behavior::states::tests::invalid_pseudo_trigger_keeps_draft_and_does_not_create_orphan_event: test
|
||||
behavior::states::tests::selected_composite_owns_new_region_and_history_uses_selected_region: test
|
||||
behavior::states::tests::timeout_and_work_trigger_commit_together_roundtrip_and_undo: test
|
||||
behavior::tests::failed_document_commit_retains_typed_transition_and_time_event_for_repair: test
|
||||
behavior::tests::legacy_process_and_chain_keep_their_ordered_exchange_scene: test
|
||||
behavior::tests::one_behavior_form_survives_start_edit_and_unrelated_cancel_until_commit: test
|
||||
behavior::tests::recovery_preserves_distinct_qualified_value_paths_and_rejects_invalid_payload_atomically: test
|
||||
behavior::tests::recovery_retains_each_incomplete_behavior_form_without_executing_it: test
|
||||
behavior::tests::selecting_state_transition_keeps_its_behavior_context: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_deleted_transient_selection_does_not_seed_or_hide_retained_authored_endpoint: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_nested_preview_folds_only_the_exact_reference_instance: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_rejected_endpoint_keeps_exact_raw_intent_after_recovery: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_repeated_sources_remain_distinct_and_apply_has_exact_source_history: test
|
||||
behavior::topology::contextual::tests::qualified_link_gui_scope_paging_and_search_reach_tail_beyond_512_without_losing_endpoints: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_native_x_to_first_b_keeps_visible_arrow_above_background_and_clear_of_other_references: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_nested_visible_hidden_and_parallel_paths_keep_exact_addresses_and_legacy_routes: test
|
||||
behavior::topology::contextual_routing::tests::contextual_route_shared_anchor_preserves_selected_direct_reconnect_at_fit_and_full_scale: test
|
||||
behavior::topology::direct_tests::direct_process_append_preserves_existing_order_and_rejects_incompatible_exchange: test
|
||||
behavior::topology::direct_tests::direct_process_controls_allow_incomplete_work_and_preserve_branch_semantics: test
|
||||
behavior::topology::direct_tests::direct_process_empty_first_and_second_exchange_keep_the_same_interactive_renderer: test
|
||||
behavior::topology::direct_tests::direct_process_imported_order_is_projected_without_mutation_and_first_canvas_edit_is_atomic: test
|
||||
behavior::topology::direct_tests::direct_process_incompatible_imported_order_rejects_conversion_without_losing_draft: test
|
||||
behavior::topology::direct_tests::direct_process_nested_source_reopen_and_api_command_use_one_transaction: test
|
||||
behavior::topology::direct_tests::direct_process_oa_sa_repeated_occurrences_share_sources_and_split_one_guarded_link: test
|
||||
behavior::topology::direct_tests::direct_process_palette_preserves_fit_and_manual_camera: test
|
||||
behavior::topology::direct_tests::direct_process_pending_form_diff_retains_the_canvas_scroll_state: test
|
||||
behavior::topology::direct_tests::direct_process_production_click_click_drag_insert_and_scroll_coordinates: test
|
||||
behavior::topology::direct_tests::direct_process_production_endpoint_and_peer_reorder_handles_publish_exact_identity: test
|
||||
behavior::topology::direct_tests::direct_process_production_stale_focus_scroll_bounds_and_pending_cancel: test
|
||||
behavior::topology::direct_tests::direct_process_readable_default_fit_expansion_and_bounded_choices: test
|
||||
behavior::topology::direct_tests::direct_process_real_picker_stays_bounded_and_search_keeps_selection: test
|
||||
behavior::topology::direct_tests::direct_process_reconnect_delete_and_reorder_preserve_other_paths_and_sources: test
|
||||
behavior::topology::direct_tests::direct_process_reuse_preview_is_local_expandable_and_recursive_sources_are_rejected: test
|
||||
behavior::topology::direct_tests::direct_process_scaled_control_and_link_gestures_use_visible_positions: test
|
||||
behavior::topology::direct_tests::direct_process_specific_parallel_link_and_incompatible_adjacency: test
|
||||
behavior::topology::direct_tests::direct_process_three_ordered_exchanges_preserve_outer_paths_on_insertion: test
|
||||
behavior::topology::tests::cycle_projection_terminates_and_retains_actual_links: test
|
||||
behavior::topology::tests::empty_process_can_start_through_normal_authoring_events: test
|
||||
behavior::topology::tests::fitting_a_branch_keeps_all_nodes_visible_and_selection_uses_scaled_coordinates: test
|
||||
behavior::topology::tests::guarded_branch_is_one_transaction_with_distinct_source_identities: test
|
||||
behavior::topology::tests::insertion_picker_only_offers_work_matching_adjacent_exchanges: test
|
||||
behavior::topology::tests::legacy_branch_insertion_replaces_only_the_selected_implied_link: test
|
||||
behavior::topology::tests::legacy_edit_preserves_order_and_new_work_in_one_undo: test
|
||||
behavior::topology::tests::long_engineering_identifiers_stay_inside_label_width: test
|
||||
behavior::topology::tests::process_fit_canvas_selection_ignores_retained_ordered_page_scroll: test
|
||||
behavior::topology::tests::process_fit_disclosures_and_focus_preserve_rejected_raw_draft_and_accepted_source: test
|
||||
behavior::topology::tests::process_fit_uses_measured_height_and_reports_minimum_without_changing_manual_zoom: test
|
||||
behavior::topology::tests::reusable_preview_preserves_identity_and_filters_recursive_sources: test
|
||||
behavior::topology::tests::stale_or_invalid_submit_preserves_inputs_and_creates_nothing: test
|
||||
behavior::topology::tests::unlinked_contributions_do_not_gain_fictional_edges: test
|
||||
behavior::topology::view::layout_tests::direct_process_pending_editor_uses_available_height_and_keeps_actions_visible: test
|
||||
behavior::topology::view::layout_tests::process_fit_layout_disclosures_and_pending_editor_keep_real_manual_canvas_scroll: test
|
||||
behavior::topology::view::layout_tests::process_fit_layout_measures_remaining_canvas_with_details_forms_and_window_resize: test
|
||||
behavior::topology::view::layout_tests::process_fit_whole_app_focus_and_disclosures_retain_canvas_tree_with_pending_raw_form: test
|
||||
connection_edit::tests::cancel_navigation_revision_and_dirty_drafts_cannot_commit_a_stale_connection: test
|
||||
connection_edit::tests::visible_endpoint_drawing_commits_ports_and_exchange_once_with_exact_history: test
|
||||
connection_tool::tests::boundary_candidates_match_core_orientation_and_reject_same_owner_or_mixed_kind: test
|
||||
connection_tool::tests::boundary_feasibility_keeps_interface_warnings_and_final_carried_item_checks: test
|
||||
connection_tool::tests::boundary_feasibility_rejects_dangling_identity_in_a_malformed_element_map: test
|
||||
connection_tool::tests::direct_connections_share_exact_source_history_and_model_parity: test
|
||||
connection_tool::tests::explicit_function_ports_keep_owners_contracts_and_do_not_invent_carried_items: test
|
||||
connection_tool::tests::final_command_validation_rejects_invalid_models_without_mutation: test
|
||||
connection_tool::tests::function_cards_use_unique_reuse_and_atomic_generation_when_ambiguous: test
|
||||
connection_tool::tests::mismatched_port_owners_layers_and_contract_kinds_are_not_candidates: test
|
||||
connection_tool::tests::operational_communication_uses_participants_without_creating_ports: test
|
||||
connection_tool::tests::operational_interaction_targets_only_distinct_oa_activities: test
|
||||
context_menu::tests::a_new_context_token_cannot_reuse_the_previous_mouse_press_or_scroll: test
|
||||
context_menu::tests::actions_area_does_not_swallow_first_independent_click_after_overlay_consumed_its_release: test
|
||||
context_menu::tests::anchors_outside_the_window_and_nonfinite_input_stay_bounded: test
|
||||
context_menu::tests::clicking_disabled_or_dragging_off_an_action_never_executes_it: test
|
||||
context_menu::tests::coalesced_dismissal_release_does_not_swallow_the_next_independent_click: test
|
||||
context_menu::tests::empty_and_disabled_only_menus_still_capture_keys_and_escape_closes: test
|
||||
context_menu::tests::keyboard_skips_headers_separators_and_disabled_actions_and_invokes_once: test
|
||||
context_menu::tests::outside_dismissal_consumes_press_and_release_across_controlled_close: test
|
||||
context_menu::tests::reconstructed_overlay_uses_retained_layout_for_rows_and_hit_testing: test
|
||||
context_menu::tests::retained_overlay_layout_keeps_measured_width_and_scrollbar_after_reconstruction: test
|
||||
context_menu::tests::tall_menu_clamps_to_viewport_and_keyboard_wheel_and_scrollbar_reach_the_end: test
|
||||
data_values::tests::phase_choices_keep_reused_record_addresses_distinct: test
|
||||
data_values::tests::recursive_picker_starts_with_distinct_leaf_names_and_sorts_them: test
|
||||
data_values::tests::recursive_records_can_be_drilled_into_and_valid_imported_paths_resolve: test
|
||||
data_values::tests::reference_parameter_stops_descent_and_unspecified_direction_remains_visible: test
|
||||
data_values::tests::roots_and_one_hop_children_do_not_expand_unrelated_payload_branches: test
|
||||
data_view::tests::allocation_rows_edit_relationship_identity_and_remove_only_that_allocation: test
|
||||
data_view::tests::association_creation_is_a_separate_relation_with_editable_end_contracts: test
|
||||
data_view::tests::browsing_pages_preserves_invalid_numeric_draft_and_inherited_allocation_identity: test
|
||||
data_view::tests::contextual_data_actions_use_typed_defaults_and_one_undo: test
|
||||
data_view::tests::large_inherited_dictionary_has_bounded_widgets_and_every_original_field_is_reachable: test
|
||||
diagnostic_input::tests::already_captured_terminal_cancels_child_without_activation_or_lingering_press: test
|
||||
diagnostic_input::tests::captured_terminal_cancellation_preserves_same_publication_focusable_child_state: test
|
||||
diagnostic_input::tests::current_primary_and_related_mouse_clicks_survive_same_publication_diff: test
|
||||
diagnostic_input::tests::current_touch_activates_primary_and_related_and_cancel_does_not_activate: test
|
||||
diagnostic_input::tests::fresh_mouse_press_after_missing_stale_release_can_activate_current_row: test
|
||||
diagnostic_input::tests::hidden_zero_height_scroller_delivers_cancelled_mouse_and_touch_terminals_to_guard: test
|
||||
diagnostic_input::tests::hidden_zero_size_list_consumes_release_outside_old_bounds_once: test
|
||||
diagnostic_input::tests::missed_press_is_ignored_and_dragging_release_outside_does_not_activate: test
|
||||
diagnostic_input::tests::negative_control_iced_button_retargets_a_press_after_plain_tree_diff: test
|
||||
diagnostic_input::tests::negative_control_plain_focusable_row_migrates_activation_to_replacement: test
|
||||
diagnostic_input::tests::negative_control_removing_unguarded_rows_exposes_background_release: test
|
||||
diagnostic_input::tests::outer_scroll_offset_survives_same_and_changed_publications: test
|
||||
diagnostic_input::tests::replaced_primary_and_related_rows_consume_stale_release_then_accept_new_click: test
|
||||
diagnostic_input::tests::replaced_touch_consumes_lift_or_cancel_even_when_hidden: test
|
||||
diagnostic_input::tests::same_publication_missing_terminal_recovers_on_fresh_mouse_or_touch_down: test
|
||||
diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame: test
|
||||
diagnostic_input::tests::same_publication_preserves_focus_but_replacement_never_inherits_activation: test
|
||||
diagnostic_input::tests::stale_release_does_not_bubble_to_real_background_controls: test
|
||||
diagnostic_input::tests::stale_touch_release_does_not_disarm_a_new_current_gesture: test
|
||||
diagnostic_input::tests::unrelated_finger_or_mouse_release_cannot_complete_another_fingers_press: test
|
||||
diagram::lifecycle_tests::menu_reset_and_draw_use_fresh_open_context: test
|
||||
diagram::lifecycle_tests::middle_and_arrow_panning_preserve_source_and_history: test
|
||||
diagram::lifecycle_tests::motion_after_release_must_not_move_clicked_port: test
|
||||
diagram::lifecycle_tests::motion_after_source_click_release_must_not_create_connection: test
|
||||
diagram::pointer_tests::coalesced_fe_ports_commit_once_through_app_and_source_history: test
|
||||
diagram::pointer_tests::coalesced_port_drag_commits_once_through_app_and_source_history: test
|
||||
diagram::pointer_tests::drag_from_already_selected_stationary_port_keeps_source_between_batches: test
|
||||
diagram::pointer_tests::menu_captured_motion_must_not_turn_following_click_into_old_port_drag: test
|
||||
diagram::pointer_tests::modal_and_stale_epoch_block_queued_connection_and_port_commits: test
|
||||
diagram::port_hit_tests::coincident_ports_keep_selection_then_use_stable_identity: test
|
||||
diagram::port_hit_tests::nearest_port_center_wins_on_all_borders_and_zoom_levels: test
|
||||
diagram::port_hit_tests::nested_owner_palette_selection_drag_and_context_menu_pick_the_same_port: test
|
||||
diagram::port_labels::tests::leaving_and_reentering_keeps_suppression_until_each_held_button_releases: test
|
||||
diagram::port_labels::tests::menu_epoch_clears_suppression_when_the_overlay_consumes_release: test
|
||||
diagram::port_labels::tests::outside_presses_do_not_suppress_and_cancel_or_focus_loss_clear_held_buttons: test
|
||||
diagram::port_labels::tests::passive_layer_leaves_port_drag_selection_and_commit_with_the_interactive_canvas: test
|
||||
diagram::tests::association_end_contracts_share_svg_geometry_and_select_without_moving_name_label: test
|
||||
diagram::tests::bend_gestures_use_screen_hit_radius_and_commit_one_undo_at_three_zooms: test
|
||||
diagram::tests::coincident_line_hit_retains_the_selected_connection: test
|
||||
diagram::tests::connection_gestures_pick_real_ports_and_commit_coalesced_drag_at_every_zoom: test
|
||||
diagram::tests::detached_label_selects_connection_and_occluding_card_owns_its_hit: test
|
||||
diagram::tests::dragging_a_child_previews_the_same_enclosure_and_ports_as_commit: test
|
||||
diagram::tests::fast_drags_commit_the_release_cursor_without_a_final_motion_event: test
|
||||
diagram::tests::implicit_port_click_selects_semantics_and_drag_preview_svg_share_anchors: test
|
||||
diagram::tests::route_cache_ignores_pan_zoom_and_cancelled_drag_cannot_commit: test
|
||||
diagram::tests::routed_svg_has_same_polyline_label_and_bounds_as_canvas_scene: test
|
||||
diagram::tests::svg_distinguishes_inferred_work_allocation_from_direct_allocation: test
|
||||
diagram::tests::svg_preserves_visible_exchange_labels_and_capability_stereotypes: test
|
||||
diagram::tests::typed_function_glyphs_and_unoriented_standard_connections_have_distinct_svg: test
|
||||
diagram::view_options_tests::communication_svg_uses_saved_visibility_labels_and_direction: test
|
||||
document::alias_rename::tests::each_identity_family_changes_only_authored_alias_roles_and_one_history_entry: test
|
||||
document::alias_rename::tests::equal_bytes_undo_replay_cross_document_and_exhausted_revision_refuse: test
|
||||
document::alias_rename::tests::exact_history_capacity_admits_immediate_undo_and_rejects_larger_candidate: test
|
||||
document::alias_rename::tests::highlighted_keyword_alias_is_valid_without_normalizing_input: test
|
||||
document::alias_rename::tests::invalid_and_identical_aliases_preserve_live_state_and_redo: test
|
||||
document::alias_rename::tests::mint_and_commit_refuse_exhausted_or_inconsistent_live_history_estimate: test
|
||||
document::alias_rename::tests::mutable_public_preview_copies_cannot_change_prepared_authority: test
|
||||
document::alias_rename::tests::preview_retains_latest_saved_baseline_and_recovery_state: test
|
||||
document::save_as_tests::save_as_preserves_explicit_source_entry_changes_in_history: test
|
||||
document::save_as_tests::save_as_rebases_uniform_history_without_an_undo_step_or_lost_redo: test
|
||||
document::save_as_tests::save_as_rejects_included_filename_collisions_in_past_and_future_without_mutation: test
|
||||
document::save_as_tests::save_as_rejects_stale_or_content_changing_receipt_atomically: test
|
||||
document::tests::accepted_history_keeps_the_latest_hundred_complete_snapshots: test
|
||||
document::tests::altered_compiled_model_or_index_is_rejected_without_mutation: test
|
||||
document::tests::asynchronous_save_marks_its_snapshot_without_cleaning_later_edits: test
|
||||
document::tests::byte_budget_trims_oldest_history_without_discarding_a_large_current: test
|
||||
document::tests::cached_view_index_tracks_accepted_creation_undo_and_redo: test
|
||||
document::tests::comment_and_semantic_history_restore_exact_bytes_and_branch_together: test
|
||||
document::tests::creation_selects_the_single_uuid_persisted_in_source: test
|
||||
document::tests::invalid_project_is_rejected_before_format_can_normalize_it: test
|
||||
document::tests::nested_cross_file_reparent_and_source_edit_share_exact_history: test
|
||||
document::tests::no_op_command_or_source_apply_preserves_history_revision_and_redo: test
|
||||
document::tests::omitted_id_stabilization_remains_dirty_until_exact_source_is_saved: test
|
||||
document::tests::recreated_equal_record_does_not_inherit_deleted_source_ownership: test
|
||||
document::tests::rejected_compile_command_and_writeback_preserve_state_and_redo: test
|
||||
explorer::tests::collapse_and_search_retain_context_without_changing_collapse_state: test
|
||||
explorer::tests::deep_containment_and_search_keep_the_full_path_without_recursion: test
|
||||
explorer::tests::equal_names_have_stable_alias_and_identity_tie_breakers: test
|
||||
explorer::tests::perspective_isolation_and_allocations_do_not_change_containment: test
|
||||
explorer::tests::prefix_names_cannot_separate_a_parent_from_its_children: test
|
||||
forms::data_fields::tests::defaults_distinguish_absent_empty_and_typed_literals_with_escaped_unicode: test
|
||||
forms::data_fields::tests::field_browser_pages_every_direct_field_without_flattening_other_records: test
|
||||
forms::data_fields::tests::independent_review_combined_take_type_informs_actual_default_form_in_both_directions: test
|
||||
forms::data_fields::tests::numeric_bound_drafts_keep_partial_and_full_precision_values_out_of_accepted_state: test
|
||||
forms::data_fields::tests::selecting_qualified_path_preserves_expression_typed_before_the_next_render: test
|
||||
forms::data_fields::tests::semantic_reference_choices_follow_selected_mechanism_and_revert_on_keep: test
|
||||
forms::data_fields::tests::supertype_picker_excludes_descendants_and_keeps_original_inherited_field_identity: test
|
||||
forms::history_fields::tests::history_absent_baseline_and_empty_history_use_explicit_facts_and_exact_document_history: test
|
||||
forms::history_fields::tests::history_clear_discards_inactive_invalid_constructors_before_reusing_the_same_row: test
|
||||
forms::history_fields::tests::history_compound_value_and_constructor_variants_are_editable_without_live_context: test
|
||||
forms::history_fields::tests::history_deleted_keys_and_observation_uuids_remain_exact_and_duplicate_history_rejects: test
|
||||
forms::history_fields::tests::history_every_descriptor_fact_choice_matches_actual_closed_types_and_source_contract: test
|
||||
forms::history_fields::tests::history_exact_strings_do_not_confuse_uuid_shaped_prose_or_literal_keys_with_references: test
|
||||
forms::history_fields::tests::history_invalid_numbers_survive_constructor_switch_reorder_removal_and_recovery: test
|
||||
forms::history_fields::tests::history_missing_semantic_field_can_be_added_and_removed_without_touching_prose_or_live_objects: test
|
||||
forms::history_fields::tests::history_nested_optional_number_events_switch_absent_present_and_recover_invalid_raw: test
|
||||
forms::history_fields::tests::history_nested_uuid_and_list_events_preserve_present_values_and_tagged_item_branches: test
|
||||
forms::history_fields::tests::history_optional_uuid_and_text_seed_absence_without_inventing_observations: test
|
||||
forms::history_fields::tests::history_primitive_type_choices_remain_visible_inside_the_tagged_union: test
|
||||
forms::history_fields::tests::history_retained_text_constructors_follow_exact_mode_without_changing_the_observation: test
|
||||
forms::port_fields::tests::all_demo_records_roundtrip_through_graphical_and_escaped_string_drafts: test
|
||||
forms::port_fields::tests::boundary_choices_honor_draft_direction_same_kind_and_direct_interface_items: test
|
||||
forms::port_fields::tests::contract_choices_follow_owner_and_never_offer_legacy_or_oa_typed_ports: test
|
||||
forms::port_fields::tests::failed_shape_keeps_incomplete_text_and_saved_contract_payloads: test
|
||||
forms::port_fields::tests::functional_endpoints_require_owner_direction_and_items_but_retain_bad_current_choice: test
|
||||
forms::port_fields::tests::interface_roles_offer_participants_and_component_ports_independent_of_orientation: test
|
||||
forms::port_fields::tests::port_allocation_choices_use_actual_owner_direction_and_ignore_edited_relation: test
|
||||
forms::port_fields::tests::standard_switch_retains_incompatible_orientation_until_explicit_repair: test
|
||||
forms::port_fields::tests::switching_function_direction_preserves_invalid_items_and_each_authored_payload: test
|
||||
forms::tests::data_and_port_choices_are_typed_but_retain_invalid_current_values: test
|
||||
forms::tests::editing_allocation_offers_other_performers_without_counting_itself_twice: test
|
||||
forms::tests::moving_placement_and_changing_identity_is_one_lossless_undoable_edit: test
|
||||
forms::tests::parent_choices_reject_cycles_without_removing_clear_or_current_choice: test
|
||||
forms::tests::reply_and_reuse_forms_offer_semantically_compatible_references: test
|
||||
forms::tests::scenario_choices_respect_owner_and_exchange_layer: test
|
||||
forms::tests::semantic_port_group_choices_use_combined_owner_and_retain_invalid_transferred_items: test
|
||||
forms::tests::shared_perspective_change_keeps_payload_and_rejects_incompatible_dependencies: test
|
||||
forms::tests::state_observation_picker_keeps_work_lifelines_allocated_to_machine_owner: test
|
||||
forms::tests::state_placement_form_uses_draft_destination_membership_without_changing_other_views: test
|
||||
forms::tests::state_projection_form_keeps_string_variants_and_requires_a_typed_context: test
|
||||
forms::view_fields::tests::category_family_change_retains_members_until_explicit_correction: test
|
||||
forms::view_fields::tests::selective_view_property_apply_recovery_and_undo_preserve_semantics_and_empty_choices: test
|
||||
guide::tests::filtering_and_related_navigation_keep_selection_visible: test
|
||||
guide::tests::guide_topic_navigation_resets_only_article_and_same_topic_search_keeps_scroll: test
|
||||
guide::tests::search_finds_concepts_in_walkthroughs_and_api_reference: test
|
||||
home::tests::corrupt_future_and_oversized_history_are_preserved_with_usable_session_history: test
|
||||
home::tests::failed_metadata_replace_keeps_previous_history_and_reports_memory_only_entry: test
|
||||
home::tests::first_and_replaced_metadata_are_parseable_and_contain_no_model_bytes: test
|
||||
home::tests::forgotten_and_missing_files_never_change_the_model_or_other_entries: test
|
||||
home::tests::loading_missing_history_does_not_create_files_or_directories: test
|
||||
home::tests::malformed_entries_and_unknown_fields_never_become_open_requests: test
|
||||
home::tests::successful_local_history_is_bounded_ordered_deduplicated_and_durable: test
|
||||
home::tests::unavailable_location_can_reappear_on_refresh_without_losing_identity: test
|
||||
home::tests::walkthrough_uses_packaged_bundle_before_development_and_reports_missing_assets: test
|
||||
hosted::client::tests::hosted_endpoint_validation_redacts_secrets_and_preserves_proxy_paths: test
|
||||
hosted::client::tests::hosted_lost_publication_response_is_uncertain_without_retry: test
|
||||
hosted::client::tests::hosted_open_rejects_incoherent_envelopes_missing_etags_and_unstable_ids: test
|
||||
hosted::client::tests::hosted_oversized_local_bundle_is_rejected_before_network_admission: test
|
||||
hosted::client::tests::hosted_production_auth_proxy_prefix_and_located_rejection: test
|
||||
hosted::client::tests::hosted_production_roundtrip_preserves_comments_noops_and_conflicts: test
|
||||
hosted::client::tests::hosted_publication_race_keeps_receipt_identity_for_review: test
|
||||
hosted::client::tests::hosted_publication_retains_known_resource_after_failed_followup: test
|
||||
hosted::client::tests::hosted_put_preserves_an_opaque_etag_and_compiles_the_accepted_bundle: test
|
||||
hosted::client::tests::hosted_redirect_is_not_followed_or_retried_and_problem_tokens_are_redacted: test
|
||||
hosted::client::tests::hosted_response_limits_cover_declared_and_chunked_bodies: test
|
||||
hosted::client::tests::hosted_structured_mutation_failures_distinguish_precommit_rejections: test
|
||||
hosted::client::tests::hosted_timeout_and_disconnect_leave_mutation_outcomes_explicit: test
|
||||
model_menu::tests::add_bend_here_uses_context_point_and_one_source_aware_history_change: test
|
||||
model_menu::tests::late_menu_actions_do_not_dismiss_new_menu_or_cross_view_context: test
|
||||
model_menu::tests::menu_preserves_pending_properties_and_rejects_delayed_mutations: test
|
||||
model_menu::tests::pending_source_allows_file_navigation_but_disables_model_actions: test
|
||||
model_menu::tests::right_click_targets_actor_without_changing_selection_until_action: test
|
||||
model_menu::tests::show_from_explorer_places_unfolds_and_keeps_semantic_selection: test
|
||||
model_menu::tests::state_menu_folds_and_hides_only_its_captured_placement_and_rejects_stale_views: test
|
||||
model_menu::tests::state_menu_keeps_typed_creation_reachable_and_preserves_pending_properties: test
|
||||
navigation::tests::semantic_browser_finds_behavior_users_without_confusing_containment: test
|
||||
port_edit::tests::all_border_drags_commit_exact_preview_and_restore_automatic_anchors_in_history: test
|
||||
port_edit::tests::graphical_port_reparent_clears_old_anchors_in_the_same_history_operation: test
|
||||
port_preview::tests::functional_creation_identifies_new_and_reused_endpoints_and_owners: test
|
||||
port_preview::tests::legacy_split_discloses_endpoint_routing_item_origins_and_retained_evidence: test
|
||||
port_preview::tests::reused_boundary_shows_item_union_and_existing_allocating_facts: test
|
||||
port_preview::tests::synchronization_preview_exposes_contract_shrinkage_and_current_declaration_origin: test
|
||||
port_workflow::recovery_tests::port_recovery_retains_authored_contract_and_identity_but_rebuilds_preview: test
|
||||
port_workflow::tests::creating_typed_port_and_rejecting_stale_preview_preserve_drafts_and_identity: test
|
||||
port_workflow::tests::graphical_function_exchange_and_component_generation_commit_and_undo_whole_contracts: test
|
||||
port_workflow::tests::legacy_resolution_preserves_original_record_and_applies_as_one_undo: test
|
||||
port_workflow::tests::port_creation_keeps_owner_diagram_and_unfolds_in_the_same_undo: test
|
||||
port_workflow::tests::synchronization_uses_active_contract_instead_of_preserved_direction: test
|
||||
recovery::source5::tests::source5_fingerprint_preserves_historical_field_order_and_diagram_shape: test
|
||||
recovery::source5_tests::source4_checkpoint_remains_explicitly_unsupported_without_touching_disk: test
|
||||
recovery::source5_tests::source5_checkpoint_does_not_refresh_unrelated_clean_buffer_baseline: test
|
||||
recovery::source5_tests::source5_checkpoint_missing_identity_is_not_a_lossless_upgrade: test
|
||||
recovery::source5_tests::source5_checkpoint_old_diagram_property_shape_remains_editable: test
|
||||
recovery::source5_tests::source5_checkpoint_port_draft_replans_and_rejects_stale_base: test
|
||||
recovery::source5_tests::source5_checkpoint_preserves_dirty_invalid_text_and_baseline_exactly: test
|
||||
recovery::source5_tests::source5_checkpoint_preserves_distinct_unapplied_open_workspace: test
|
||||
recovery::source5_tests::source5_checkpoint_property_preserves_invalid_raw_input: test
|
||||
recovery::source5_tests::source5_checkpoint_upgrade_never_rewrites_checkpoint_or_origin: test
|
||||
recovery::source5_tests::source5_checkpoint_upgrades_only_header_and_clean_editor_baseline: test
|
||||
recovery::source5_tests::source5_checkpoint_workflow_rebinds_only_the_proven_old_revision: test
|
||||
recovery::source7_tests::source7_current_combined_contextual_and_operation_drafts_survive_without_execution: test
|
||||
recovery::source7_tests::source7_explicit_new_fields_cannot_enter_frozen_old_model_profiles: test
|
||||
recovery::source7_tests::source7_legacy_inactive_constructor_path_is_structural_but_raw_prose_is_not: test
|
||||
recovery::source7_tests::source7_legacy_profile_workflow_and_semantic_drafts_replan_with_exact_base: test
|
||||
recovery::source7_tests::source7_legacy_profiles_preserve_dirty_source_property_and_behavior_raw_fields: test
|
||||
recovery::source7_tests::source7_legacy_structural_intent_rejects_even_null_but_never_scans_raw_strings: test
|
||||
recovery::source7_tests::source7_legacy_view_selector_refuses_new_relation_kind_without_rewriting_checkpoint: test
|
||||
recovery::source7_tests::source7_recovers_nonempty_frozen_5_and_6_profiles_with_exact_historical_binding: test
|
||||
recovery::tests::altered_accepted_identity_and_unrecognized_raw_property_fields_reject: test
|
||||
recovery::tests::exact_source_and_unfinished_invalid_buffers_restore_without_model_overwrite: test
|
||||
recovery::tests::excess_retained_buffers_cannot_replace_the_last_recoverable_checkpoint: test
|
||||
recovery::tests::invalid_open_retains_distinct_accepted_model_and_repair_workspace: test
|
||||
recovery::tests::missing_includes_remain_reachable_repair_targets_without_fabricated_buffers: test
|
||||
recovery::tests::multiple_sessions_replace_only_their_own_checkpoint_and_corruption_is_retained: test
|
||||
recovery::tests::raw_invalid_property_number_survives_and_stays_rejected_until_repaired: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_draft_cannot_target_an_unreserved_or_non_artifact_identity: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_raw_variants_duplicate_addresses_and_unknown_fields_are_refused: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_reservations_cannot_duplicate_or_claim_an_existing_identity_or_another_owner: test
|
||||
semantic_review::artifacts_recovery_falsifier_tests::legitimate_invalid_artifact_checkpoint_round_trips_and_prepares_only_after_explicit_repair: test
|
||||
semantic_review::artifacts_tests::artifact_candidate_is_a_complete_record_not_a_tombstone_or_unattached_creation_shortcut: test
|
||||
semantic_review::artifacts_tests::artifact_creation_and_identified_source_deletion_follow_core_metadata_and_history_boundary_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_gui_reserves_recovers_and_creates_only_after_all_seven_metadata_reviews_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_metadata_apply_and_exact_history_reset_are_one_source_preserving_undo_redo: test
|
||||
semantic_review::artifacts_tests::artifact_move_metadata_none_empty_and_invalid_raw_recovery_are_independent_both_directions: test
|
||||
semantic_review::artifacts_tests::artifact_moved_source_absence_deletes_but_destination_only_take_retains_both_directions: test
|
||||
semantic_review::attachments::tests::absent_attachment_payloads_migrate_v1_and_v2_and_source5_upgrade_requires_exact_legacy_base: test
|
||||
semantic_review::attachments::tests::addressed_attachment_candidates_equal_direct_core_oracle_both_directions: test
|
||||
semantic_review::attachments::tests::attachment_apply_is_one_exact_source_and_history_undo_redo: test
|
||||
semantic_review::attachments::tests::attachment_candidate_and_direct_record_keep_conflict_on_actual_slot_without_losing_drafts: test
|
||||
semantic_review::attachments::tests::attachment_pair_drafts_survive_family_switch_and_restore_without_mutating_model: test
|
||||
semantic_review::attachments::tests::functional_incident_source_requires_explicit_matching_port_review_in_one_atomic_candidate: test
|
||||
semantic_review::attachments::tests::parent_and_each_endpoint_candidate_preserve_other_fields_and_match_core_both_directions: test
|
||||
semantic_review::attachments::tests::raw_rejected_attachment_reference_survives_recovery_and_wrong_scope_is_rejected: test
|
||||
semantic_review::attachments::tests::source_only_absence_and_explicit_absent_endpoint_are_different: test
|
||||
semantic_review::attachments::tests::two_incident_endpoint_candidates_form_one_complete_record_and_recover_invalid_excluded_draft: test
|
||||
semantic_review::batch_tests::batch_apply_is_one_exact_source_and_history_undo_redo_roundtrip: test
|
||||
semantic_review::batch_tests::batch_candidate_conflict_keeps_both_raw_values_and_keep_is_a_real_constraint: test
|
||||
semantic_review::batch_tests::batch_complete_constructor_cannot_erase_another_rows_new_literal: test
|
||||
semantic_review::batch_tests::batch_constructor_retirement_conflicts_with_another_rows_kept_bound_in_both_orders: test
|
||||
semantic_review::batch_tests::batch_delayed_text_targets_its_original_row_and_facet_without_switching_focus: test
|
||||
semantic_review::batch_tests::batch_excluded_invalid_row_survives_focus_reopen_and_v2_recovery: test
|
||||
semantic_review::batch_tests::batch_first_equal_constructor_acknowledgement_allows_an_independent_bound: test
|
||||
semantic_review::batch_tests::batch_joint_bounds_use_one_candidate_and_match_an_independent_atomic_core_oracle: test
|
||||
semantic_review::batch_tests::batch_reverse_distinct_targets_work_and_reverse_convergence_is_explicit: test
|
||||
semantic_review::batch_tests::batch_v2_rejects_duplicate_included_sources_bad_addresses_and_stale_model: test
|
||||
semantic_review::batch_tests::category_family_and_members_are_independent_core_checked_facets_both_directions: test
|
||||
semantic_review::batch_tests::recovered_trace_picker_names_existing_trace_instead_of_deleted_reference: test
|
||||
semantic_review::batch_tests::rejected_direction_switch_at_row_limit_preserves_every_recoverable_draft: test
|
||||
semantic_review::compose::diagnostic_tests::distinct_review_conflict_keeps_trace_aliases_even_when_names_are_equal: test
|
||||
semantic_review::compose::diagnostic_tests::reserved_creation_conflict_uses_its_rows_seed_instead_of_a_deleted_reference: test
|
||||
semantic_review::compose::diagnostic_tests::same_review_presence_and_owner_conflict_names_both_facets_and_owners_and_retains_drafts: test
|
||||
semantic_review::compose::diagnostic_tests::typed_owner_display_does_not_reinterpret_uuid_shaped_artifact_text: test
|
||||
semantic_review::constructor_tests::closed_data_and_event_take_composition_matches_core_across_every_kind_pair_and_direction: test
|
||||
semantic_review::constructor_tests::data_group_candidates_cover_every_definition_and_companion_default_both_directions: test
|
||||
semantic_review::constructor_tests::data_group_retains_invalid_sibling_drafts_companion_default_and_variant_editor_buffers: test
|
||||
semantic_review::constructor_tests::exchange_constructor_takes_qualified_annotation_addresses_without_remapping_expression_text: test
|
||||
semantic_review::constructor_tests::existing_fragment_and_branch_group_candidates_edit_complete_owned_order_without_deletion: test
|
||||
semantic_review::constructor_tests::group_take_reference_payload_and_scalar_candidate_match_core_and_one_document_batch: test
|
||||
semantic_review::constructor_tests::historical_event_keep_retires_only_obsolete_branch_and_unchanged_kind_acknowledges_no_payload: test
|
||||
semantic_review::constructor_tests::historical_same_kind_take_preserves_target_only_literals_when_composed_with_candidate: test
|
||||
semantic_review::constructor_tests::occurrence_and_event_candidate_variants_cover_closed_families_without_touching_headers: test
|
||||
semantic_review::constructor_tests::outer_and_nested_constructor_candidates_require_explicit_resolution_and_retain_both_drafts: test
|
||||
semantic_review::constructor_tests::port_group_companions_typed_owner_context_and_direction_restrictions_are_explicit: test
|
||||
semantic_review::constructor_tests::reverse_existing_typed_port_reviews_keep_or_candidate_legacy_without_permitting_typed_oa_write: test
|
||||
semantic_review::constructor_tests::scenario_use_group_takes_typed_binding_references_and_preserves_source_text_both_directions: test
|
||||
semantic_review::keyed_rows_tests::annotation_address_browser_descends_qualified_fields_without_changing_rows: test
|
||||
semantic_review::keyed_rows_tests::annotation_observations_keep_uuid_shaped_expression_text_in_both_sides_and_history: test
|
||||
semantic_review::keyed_rows_tests::batch_keyed_rows_compare_exact_target_slots_and_retain_independent_values: test
|
||||
semantic_review::keyed_rows_tests::binding_choices_separate_reused_keys_from_local_lifelines: test
|
||||
semantic_review::keyed_rows_tests::binding_local_picker_follows_a_candidate_parent_before_the_review_is_valid: test
|
||||
semantic_review::keyed_rows_tests::binding_take_requires_local_correspondence_and_candidate_rejects_wrong_scenario: test
|
||||
semantic_review::keyed_rows_tests::independent_rows_keep_take_candidate_match_core_and_preserve_siblings_both_directions: test
|
||||
semantic_review::keyed_rows_tests::keyed_recovery_retains_raw_rows_and_staged_pairs_both_directions_without_applying: test
|
||||
semantic_review::keyed_rows_tests::keyed_row_drafts_retain_expression_local_and_presence_across_decisions_and_staging: test
|
||||
semantic_review::keyed_rows_tests::keyed_rows_distinguish_unpaired_source_from_explicit_absence_and_require_exact_reset: test
|
||||
semantic_review::keyed_rows_tests::multiple_new_rows_compose_in_empty_collections_using_destination_key_order: test
|
||||
semantic_review::keyed_rows_tests::row_review_apply_preserves_exact_source_and_semantic_history_through_undo_redo: test
|
||||
semantic_review::keyed_tests::deleted_member_source_observation_removes_only_mapped_membership_both_directions: test
|
||||
semantic_review::keyed_tests::exact_literal_new_rows_and_removals_commit_both_directions_without_default_loss: test
|
||||
semantic_review::keyed_tests::exact_reset_only_is_one_history_source_transaction_and_undo_redo_both_directions: test
|
||||
semantic_review::keyed_tests::function_port_members_use_existing_typed_choices_and_preserve_oa_legacy: test
|
||||
semantic_review::keyed_tests::historical_one_sided_pair_migration_requires_exact_reset_and_explicit_overlap_resolution: test
|
||||
semantic_review::keyed_tests::invalid_literal_removal_and_unselected_scalar_buffers_are_retained_and_repairable: test
|
||||
semantic_review::keyed_tests::member_identity_labels_and_new_tabs_preserve_exact_names_and_deleted_keys: test
|
||||
semantic_review::keyed_tests::reset_precedes_equal_constructor_candidate_and_preserves_independent_literal_draft: test
|
||||
semantic_review::keyed_tests::staging_removal_and_obsolete_reset_recovery_keep_other_decisions_and_raw_presence: test
|
||||
semantic_review::keyed_tests::stale_or_source_failed_reset_and_membership_apply_retain_exact_choices: test
|
||||
semantic_review::keyed_tests::unordered_members_keep_take_candidate_preserve_other_rows_both_directions: test
|
||||
semantic_review::keyed_tests::unsupported_independent_families_and_missing_identities_do_not_gain_edit_authority: test
|
||||
semantic_review::message_kind_tests::message_group_candidate_closed_kinds_are_core_validated_in_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_candidate_timer_switches_preserve_both_drafts_and_overlap_is_explicit: test
|
||||
semantic_review::message_kind_tests::message_group_initial_equal_take_acknowledges_only_kind_and_checks_authored_timer_agreement: test
|
||||
semantic_review::message_kind_tests::message_group_keep_historical_switch_retires_timer_and_completed_no_switch_rejects: test
|
||||
semantic_review::message_kind_tests::message_group_rejects_protected_edits_stale_plan_and_source_failure_without_losing_timer: test
|
||||
semantic_review::message_kind_tests::message_group_reply_and_reference_take_require_explicit_call_mapping_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_take_full_timer_and_scalar_candidate_are_one_source_history_change_both_directions: test
|
||||
semantic_review::message_kind_tests::message_group_timer_does_not_erase_exchange_without_its_own_selected_decision: test
|
||||
semantic_review::ordered_tests::ambiguous_order_preserves_local_member_and_requires_explicit_candidate_positions: test
|
||||
semantic_review::ordered_tests::historical_pair_restore_uses_exact_member_keys_and_never_zips_order_observations: test
|
||||
semantic_review::ordered_tests::order_take_preserves_destination_only_positions_and_order_alone_cannot_add_members: test
|
||||
semantic_review::ordered_tests::ordered_membership_choices_stage_exact_pairs_in_all_owner_shapes: test
|
||||
semantic_review::ordered_tests::ordered_presence_keep_take_candidate_remove_only_selected_entry_and_order_take_reorders_only: test
|
||||
semantic_review::ordered_tests::ordered_review_apply_is_exact_source_history_transaction_with_reopen_and_undo_redo: test
|
||||
semantic_review::ordered_tests::ordered_take_uses_unique_anchors_and_matches_core_with_unrelated_candidate_both_directions: test
|
||||
semantic_review::ordered_tests::raw_order_survives_membership_changes_decisions_and_recovery_until_explicit_reconcile: test
|
||||
semantic_review::ordered_tests::several_incoming_members_follow_source_order_despite_independent_identity_sorting: test
|
||||
semantic_review::recovery::tests::raw_scalar_and_closed_constructor_drafts_recover_against_exact_model_only: test
|
||||
semantic_review::recovery::tests::version_one_without_orders_restores_raw_intent_and_replans_without_execution: test
|
||||
semantic_review::source7_tests::contextual_incident_leaf_keep_allows_path_change_but_conflicts_with_changed_leaf_both_directions: test
|
||||
semantic_review::source7_tests::reverse_operation_omission_gui_requires_raw_rationale_and_matches_one_core_batch_after_recovery: test
|
||||
semantic_review::source7_tests::semantic_operation_virtual_none_candidate_uses_exact_allocation_and_preserves_accepted_bytes: test
|
||||
semantic_review::tests::candidate_mixed_with_reference_take_uses_typed_correspondence_not_text_guessing: test
|
||||
semantic_review::tests::deselected_invalid_candidate_is_retained_but_does_not_poison_another_selected_scalar: test
|
||||
semantic_review::tests::explicit_trace_selection_updates_only_that_history: test
|
||||
semantic_review::tests::first_equal_constructor_acknowledges_only_kind_and_allows_independent_leaves: test
|
||||
semantic_review::tests::independent_review_clear_bound_ignores_retained_invalid_other_facet: test
|
||||
semantic_review::tests::independent_review_keyed_fact_titles_keep_live_deleted_and_qualified_identity: test
|
||||
semantic_review::tests::inherited_annotation_impact_requires_exact_acceptance_and_edits_clear_approval: test
|
||||
semantic_review::tests::invalid_numeric_draft_and_protected_edits_retain_workflow_and_source: test
|
||||
semantic_review::tests::read_only_structured_facts_and_partial_rollup_are_honest: test
|
||||
semantic_review::tests::relation_candidates_preserve_endpoints_and_combine_selected_roles_and_bounds: test
|
||||
semantic_review::tests::scalar_keep_take_candidate_commit_exact_source_and_history_in_both_directions: test
|
||||
semantic_review::tests::scoped_literal_list_edits_preserve_unfinished_values_and_other_facet_buffers: test
|
||||
semantic_review::tests::stale_plan_and_source_writeback_failure_do_not_lose_decisions_or_history: test
|
||||
semantic_review::tests::state_kind_scalar_uses_typed_candidate_and_core_validation: test
|
||||
semantic_review::view::reserved_artifact_tests::reserved_artifact_facet_and_reference_labels_survive_recovery_without_calling_it_deleted: test
|
||||
source_navigation::interaction::tests::captured_find_click_invalidates_without_app_message_and_preserves_focus: test
|
||||
source_navigation::interaction::tests::focus_rechecks_clock_between_inspection_and_application_and_missing_target_is_inert: test
|
||||
source_navigation::interaction::tests::raw_navigation_inputs_advance_but_passive_geometry_does_not_and_exhaustion_refuses: test
|
||||
source_navigation::query::tests::comments_strings_and_comment_gap_are_not_navigation_hits: test
|
||||
source_navigation::query::tests::detached_alias_and_identity_collisions_never_auto_select: test
|
||||
source_navigation::query::tests::dirty_but_parseable_text_has_current_names_and_no_validated_fallback: test
|
||||
source_navigation::query::tests::exact_multifile_unicode_crlf_definition_and_repeated_lexical_references: test
|
||||
source_navigation::query::tests::exact_snapshot_readback_rejects_same_key_byte_membership_and_evidence_changes: test
|
||||
source_navigation::query::tests::include_cycle_depth_and_aggregate_edges_are_explicit_partial_outcomes: test
|
||||
source_navigation::query::tests::invalid_include_syntax_never_borrows_the_old_reachable_file_set: test
|
||||
source_navigation::query::tests::keyword_alias_and_loaded_path_case_collisions_use_reviewed_index_rules: test
|
||||
source_navigation::query::tests::large_display_name_cannot_escape_the_owned_row_string_budget: test
|
||||
source_navigation::query::tests::missing_and_noncanonical_authored_ids_remain_draft_spans_without_generated_anchors: test
|
||||
source_navigation::query::tests::missing_include_partial_scope_does_not_resurrect_witness_text: test
|
||||
source_navigation::query::tests::omitted_rows_are_counted_before_result_allocation_and_never_confer_uniqueness: test
|
||||
source_navigation::query::tests::origin_keeps_exact_hit_when_display_rows_are_omitted: test
|
||||
source_navigation::query::tests::owned_request_checks_raw_limits_immediately_and_extracts_only_on_worker: test
|
||||
source_navigation::query::tests::owned_request_moves_exact_text_into_worker_snapshot_and_matches_sync_results: test
|
||||
source_navigation::query::tests::owned_validation_proof_preserves_full_witness_count_and_partial_scope: test
|
||||
source_navigation::query::tests::raw_aggregate_limits_refuse_before_outline_or_copied_snapshot: test
|
||||
source_navigation::query::tests::sole_detached_candidate_and_unapplied_equal_bytes_require_choice: test
|
||||
source_navigation::query::tests::token_declaration_and_live_reference_limits_are_aggregate_not_per_file: test
|
||||
source_navigation::query::tests::validation_witness_must_match_entry_and_complete_included_file_set: test
|
||||
source_navigation::symbols::tests::admitted_unicode_path_budget_keeps_original_policy_after_single_fold: test
|
||||
source_navigation::symbols::tests::comment_separated_reference_keeps_crlf_unicode_and_disjoint_hit_spans: test
|
||||
source_navigation::symbols::tests::declaration_order_and_duplicate_roles_refuse_instead_of_corrupting_hit_search: test
|
||||
source_navigation::symbols::tests::detached_uuid_clone_disables_anchor_even_for_included_query: test
|
||||
source_navigation::symbols::tests::duplicate_aliases_are_candidates_without_false_reference_attribution: test
|
||||
source_navigation::symbols::tests::every_budget_admits_boundary_and_returns_no_index_one_below: test
|
||||
source_navigation::symbols::tests::header_metadata_must_match_current_token_boundaries_and_authored_id: test
|
||||
source_navigation::symbols::tests::incomplete_draft_is_lexical_and_error_token_does_not_leak_references: test
|
||||
source_navigation::symbols::tests::legal_keyword_classified_alias_is_not_discarded: test
|
||||
source_navigation::symbols::tests::missing_ids_produce_only_current_snapshot_locations_without_stabilization: test
|
||||
source_navigation::symbols::tests::nested_declaration_extents_do_not_turn_body_text_into_definition_hits: test
|
||||
source_navigation::symbols::tests::noncanonical_header_identity_cannot_enter_through_query_metadata: test
|
||||
source_navigation::symbols::tests::path_identity_rejects_normalization_and_case_collisions: test
|
||||
source_navigation::symbols::tests::query_header_admission_preserves_uppercase_and_json_escape_bytes: test
|
||||
source_navigation::symbols::tests::repeated_live_uses_are_distinct_and_strings_comments_history_are_excluded: test
|
||||
source_navigation::symbols::tests::reused_alias_cannot_steal_old_identity_and_old_locations_are_stale: test
|
||||
source_navigation::symbols::tests::scope_provenance_and_detached_alias_collision_are_explicit: test
|
||||
source_navigation::symbols::tests::stopped_outline_is_not_a_successful_empty_query: test
|
||||
source_navigation::symbols::tests::truncated_or_gapped_tokens_refuse_even_when_project_scope_is_partial: test
|
||||
source_navigation::symbols::tests::unicode_path_collisions_match_core_lowercase_policy: test
|
||||
source_navigation::tests::search_uses_utf8_columns_wraps_and_refreshes_after_edits: test
|
||||
source_rename::origin::tests::maps_last_repeated_reference_with_unicode_crlf_and_comment_separator: test
|
||||
source_rename::origin::tests::permits_identifier_keyword_transitions_in_alias_roles: test
|
||||
source_rename::origin::tests::preserves_final_same_line_occurrence_not_first_or_prose: test
|
||||
source_rename::origin::tests::rejects_changed_trivia_non_alias_words_and_wrong_marker: test
|
||||
source_rename::preview::tests::each_bound_is_exact_and_overflow_never_returns_a_partial_preview: test
|
||||
source_rename::preview::tests::first_and_last_lines_form_complete_separate_hunks_and_pages: test
|
||||
source_rename::preview::tests::limits_apply_to_the_whole_preview_not_each_file: test
|
||||
source_rename::preview::tests::long_unicode_lines_are_fully_reachable_as_bounded_fragments: test
|
||||
source_rename::preview::tests::nearby_changes_merge_and_all_changed_files_are_reachable: test
|
||||
source_rename::preview::tests::preserves_unicode_mixed_endings_and_counts_lines_not_repeated_uses: test
|
||||
source_rename::preview::tests::refuses_membership_entry_line_count_and_line_ending_changes: test
|
||||
source_rename::preview::tests::unchanged_and_empty_sources_have_no_preview: test
|
||||
source_tree::tests::active_scroll_offset_uses_the_visible_order_and_retains_ancestor_context: test
|
||||
source_tree::tests::collapsed_folders_retain_active_dirty_and_diagnostic_markers: test
|
||||
source_tree::tests::deep_paths_build_expand_and_drop_on_a_small_stack: test
|
||||
source_tree::tests::detached_buffers_keep_paths_and_only_clean_buffers_are_closable: test
|
||||
source_tree::tests::exact_unicode_spaces_and_file_folder_name_collisions_are_not_normalized: test
|
||||
source_tree::tests::folders_are_compact_and_sorted_before_files_without_losing_duplicate_basenames: test
|
||||
source_workspace::tests::draft_history_budget_covers_inactive_files_without_discarding_drafts: test
|
||||
source_workspace::tests::fresh_session_cannot_reuse_a_retained_buffer_generation: test
|
||||
source_workspace::tests::navigation_revision_wrap_cannot_reuse_an_old_workspace_key: test
|
||||
source_workspace::tests::navigation_scope_changes_invalidate_without_changing_unchanged_positions: test
|
||||
source_workspace::tests::navigation_versions_distinguish_reopened_recovered_and_changed_drafts: test
|
||||
source_workspace::tests::switching_retains_invalid_drafts_and_independent_history: test
|
||||
tests::actor_port_creation_updates_containment_and_locate_reveals_its_owner: test
|
||||
tests::adding_bend_between_close_ports_stays_outside_owner_clearance: test
|
||||
tests::behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views: test
|
||||
tests::bidirectional_transition_ui_commits_once_and_preserves_other_diagrams: test
|
||||
tests::counterpart_creation_focuses_visible_target_and_reuse_keeps_views: test
|
||||
tests::creation_from_capabilities_routes_work_to_architecture_and_folded_allocation_inserts_below_existing_work: test
|
||||
tests::dragging_keeps_semantic_selection_and_same_node_remains_editable: test
|
||||
tests::escaped_string_mode_preserves_exact_control_characters: test
|
||||
tests::every_demo_record_has_a_lossless_graphical_draft: test
|
||||
tests::explicit_relationship_builder_never_mutates_on_preview: test
|
||||
tests::explorer_and_creation_selection_follow_their_own_placement: test
|
||||
tests::fit_adapts_to_canvas_returning_after_help_but_preserves_manual_navigation: test
|
||||
tests::fit_uses_measured_canvas_bounds_and_preserves_them_on_open: test
|
||||
tests::focused_explorer_follows_reparenting_without_changing_identity: test
|
||||
tests::graphical_rename_keeps_aliases_and_references_and_undo: test
|
||||
tests::identity_property_change_is_atomic_and_rewrites_all_live_references: test
|
||||
tests::invalid_numeric_draft_survives_navigation_save_and_help: test
|
||||
tests::invalid_save_and_continue_returns_to_repairable_draft: test
|
||||
tests::malformed_source_preserves_model_and_is_recoverable: test
|
||||
tests::manual_trace_requires_target_and_selection_normalizes_creation_kind: test
|
||||
tests::mission_capability_authoring_is_contextual_atomic_and_text_equivalent: test
|
||||
tests::modal_owns_background_commands_and_shortcuts: test
|
||||
tests::nested_allocation_insertion_reflows_sibling_subtrees_and_preserves_fold_state: test
|
||||
tests::opening_and_creating_models_preserve_the_actual_window_size_for_fit: test
|
||||
tests::opening_legacy_source_surfaces_report_without_modifying_original_bytes: test
|
||||
tests::pending_source_prevents_property_draft_collision_and_preserves_both_if_present: test
|
||||
tests::placement_identity_edit_then_drag_and_diagram_identity_then_arrange: test
|
||||
tests::placement_relocation_follows_cross_layer_traceability_view: test
|
||||
tests::property_enum_and_optional_reference_roundtrip: test
|
||||
tests::reopening_canvas_for_a_modal_preserves_viewport_after_route_edits: test
|
||||
tests::revealing_an_implicit_function_port_unfolds_its_visible_architecture_owner: test
|
||||
tests::routing_actions_are_atomic_guarded_and_fit_the_authored_detour: test
|
||||
tests::selecting_current_constructors_preserves_payloads: test
|
||||
tests::source_find_navigates_an_invalid_draft_without_applying_or_losing_it: test
|
||||
tests::source_navigation_waits_for_editor_layout_and_cancels_on_edit: test
|
||||
tests::system_only_models_open_the_populated_perspective: test
|
||||
tests::transition_resolutions_belong_to_the_effective_target_and_kind: test
|
||||
view_copy::tests::duplicate_retains_ports_routes_options_and_artifact_claims_with_exact_undo_redo: test
|
||||
view_copy::tests::duplicate_state_view_preserves_machine_nesting_and_collapse_with_unique_aliases: test
|
||||
view_copy::tests::missing_view_does_not_propose_an_empty_replacement: test
|
||||
views::source_symbols::tests::suffixes_distinguish_nested_duplicate_basenames_without_changing_unicode: test
|
||||
views::source_tests::source_editor_windows_menu_payload_is_inert_but_space_and_altgr_still_edit: test
|
||||
views::text_workspace::summary_visibility_tests::all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts: test
|
||||
views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests: test
|
||||
views::text_workspace::tests::five_slots_keep_editor_state_and_selection_through_explicit_and_passive_changes: test
|
||||
views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds: test
|
||||
views::text_workspace::tests::keyboard_resize_uses_effective_height_and_only_exact_open_drawer_shortcut: test
|
||||
views::traceability::tests::traceability_browsing_retains_invalid_property_draft_and_existing_select_guard: test
|
||||
views::traceability::tests::traceability_filter_reaches_artifacts_after_68_traces_and_searches_all_metadata: test
|
||||
workflow::communication::tests::communication_requires_two_explicit_ports_and_recovers_the_partial_choice: test
|
||||
workflow::port_authoring_tests::boundary_picker_matches_exact_commands_across_contracts_and_ownership: test
|
||||
workflow::port_authoring_tests::boundary_picker_recomputes_for_unoriented_reverse_endpoints_without_relaxing_contracts: test
|
||||
workflow::port_authoring_tests::duplicate_port_names_show_owner_contract_and_unique_alias: test
|
||||
workflow::port_authoring_tests::fresh_functions_are_actual_picker_targets_and_plan_enables_apply: test
|
||||
workflow::port_authoring_tests::generic_component_port_connection_keeps_its_endpoint_and_direction: test
|
||||
workflow::port_authoring_tests::ordinary_standard_connections_default_unoriented_and_new_roles_exclude_legacy: test
|
||||
workflow::recovery::tests::incomplete_relationship_and_trace_recover_raw_fields_and_reject_changed_model: test
|
||||
workflow::recovery::tests::transition_recovery_replans_typed_request_without_persisted_commands: test
|
||||
workflow::transition_tests::basic_transition_boundary_choice_is_required_without_an_inferred_system: test
|
||||
workflow::transition_tests::basic_transition_creates_overview_when_existing_views_cannot_show_result: test
|
||||
workflow::transition_tests::basic_transition_explicit_destination_appends_below_existing_bounds_and_is_one_source_edit: test
|
||||
workflow::transition_tests::basic_transition_invalid_explicit_destination_retains_choice_and_refuses: test
|
||||
workflow::transition_tests::basic_transition_reconcile_keeps_existing_selected_view_placement_and_route_exact: test
|
||||
workflow::transition_tests::basic_transition_skips_lowest_uuid_state_view_and_preserves_oa: test
|
||||
|
||||
859 tests, 0 benchmarks
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T02:22:52.927057+00:00",
|
||||
"finished": "2026-09-13T02:29:07.021086+00:00",
|
||||
"seconds": 374.08875499999704,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "49b6da231b96fcc5dfa0bd8ed2e4d105045c1efa6b8d198bd4350f1ee8e28818",
|
||||
"stderrSha256": "4bc3b596e2cb08b0af0a4bcdeae80135ce14b0b9046215b4c2ccfeafe1d2317a"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Finished `test` profile [unoptimized] target(s) in 2.11s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,864 @@
|
||||
|
||||
running 859 tests
|
||||
test app::architecture_authoring::tests::architecture_allocated_work_is_root_owned_and_one_exact_history_change ... ok
|
||||
test app::architecture_authoring::tests::architecture_blank_names_and_escape_never_accept_placeholder_or_rename ... ok
|
||||
test app::architecture_authoring::tests::architecture_captured_escape_does_not_cancel_other_controls_or_placement ... ok
|
||||
test app::architecture_authoring::tests::architecture_f2_routes_selected_node_to_inline_rename_and_exact_undo ... ok
|
||||
test app::architecture_authoring::tests::architecture_first_focused_input_escape_cancels_create_and_rename ... ok
|
||||
test app::architecture_authoring::tests::architecture_invalid_click_cannot_poison_inline_or_checkpoint_geometry ... ok
|
||||
test app::architecture_authoring::tests::architecture_stale_submit_keeps_create_and_rename_visible_and_exact ... ok
|
||||
test app::architecture_authoring_tests::architecture_cancelled_gesture_cannot_commit_a_later_named_draft ... ok
|
||||
test app::architecture_authoring_tests::architecture_canvas_left_click_uses_world_coordinate_once_at_zoom_and_pan ... ok
|
||||
test app::architecture_authoring_tests::architecture_checkpoint_retains_exact_name_point_and_fresh_binding_without_commands ... ok
|
||||
test app::architecture_authoring_tests::architecture_context_choices_are_small_and_system_is_singleton ... ok
|
||||
test app::architecture_authoring_tests::architecture_contextual_allocation_creates_work_relation_and_node_in_one_undo ... ok
|
||||
test app::architecture_authoring_tests::architecture_creation_names_before_commit_preserves_camera_and_undoes_once ... ok
|
||||
test app::architecture_authoring_tests::architecture_existing_inventory_is_contextual_and_placement_never_implies_allocation ... ok
|
||||
test app::architecture_authoring_tests::architecture_f2_rename_preserves_identity_placement_and_atomic_history ... ok
|
||||
test app::architecture_authoring_tests::architecture_name_survives_rejected_click_resize_navigation_and_escape_is_explicit ... ok
|
||||
test app::architecture_authoring_tests::architecture_rejected_submission_keeps_inline_name_visible_and_invalid_click_is_ignored ... ok
|
||||
test app::architecture_authoring_tests::basic_transition_explicit_overview_focus_wins_over_an_already_populated_architecture ... ok
|
||||
test app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching ... ok
|
||||
test app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts ... ok
|
||||
test app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history ... ok
|
||||
test app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay ... ok
|
||||
test app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo ... ok
|
||||
test app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo ... ok
|
||||
test app::checkpoints::tests::checkpoint_completion_releases_the_writer_while_a_context_menu_is_open ... ok
|
||||
test app::checkpoints::tests::checkpoint_inline_create_and_rename_restore_focus_without_changing_drafts_or_history ... ok
|
||||
test app::checkpoints::tests::checkpoint_noninline_contexts_keep_other_focus_and_still_lint ... ok
|
||||
test app::checkpoints::tests::discard_and_close_waits_for_the_late_checkpoint_then_retires_it ... ok
|
||||
test app::checkpoints::tests::home_resume_keeps_state_view_while_explicit_architecture_remains_reachable ... ok
|
||||
test app::checkpoints::tests::home_resume_retains_invalid_source_and_property_drafts ... ok
|
||||
test app::checkpoints::tests::home_resume_returns_to_each_actual_workspace_without_model_edits ... ok
|
||||
test app::checkpoints::tests::malformed_checkpoint_does_not_replace_the_current_model ... ok
|
||||
test app::checkpoints::tests::recent_and_recovery_navigation_respect_unsaved_decision ... ok
|
||||
test app::checkpoints::tests::restored_copy_keeps_raw_property_and_requires_save_without_local_or_hosted_binding ... ok
|
||||
test app::checkpoints::tests::saving_an_older_snapshot_keeps_recovery_for_newer_unsaved_work ... ok
|
||||
test app::checkpoints::tests::stale_write_completion_cannot_recover_a_discarded_document ... ok
|
||||
test app::checkpoints::tests::walkthrough_request_keeps_unfinished_source_behind_the_normal_pending_guard ... ok
|
||||
test app::data_paging_lifecycle_tests::paging_preserves_same_context_and_resets_on_layer_or_document_replacement ... ok
|
||||
test app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit ... ok
|
||||
test app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection ... ok
|
||||
test app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target ... ok
|
||||
test app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input ... ok
|
||||
test app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft ... ok
|
||||
test app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_scroll_and_real_resize_invalidate_only_pointer_context ... ok
|
||||
test app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success ... ok
|
||||
test app::hosted::tests::hosted_actual_app_tasks_publish_edit_conflict_correct_credentials_reload_and_open ... ok
|
||||
test app::hosted::tests::hosted_catalog_invalidation_follows_service_writes_and_observed_revision_changes ... ok
|
||||
test app::hosted::tests::hosted_catalog_search_credentials_and_failed_refresh_never_mix_result_scopes ... ok
|
||||
test app::hosted::tests::hosted_changed_bound_head_does_not_invalidate_another_services_empty_filter ... ok
|
||||
test app::hosted::tests::hosted_conflict_fetches_review_without_adoption_and_reload_is_undoable ... ok
|
||||
test app::hosted::tests::hosted_detached_drafts_and_recovery_remain_available_after_rejected_publish ... ok
|
||||
test app::hosted::tests::hosted_failed_cross_service_publication_checks_and_reloads_its_own_resource ... ok
|
||||
test app::hosted::tests::hosted_failed_or_cancelled_local_open_keeps_the_existing_document_and_destination ... ok
|
||||
test app::hosted::tests::hosted_invalid_and_detached_source_drafts_never_start_network_writes ... ok
|
||||
test app::hosted::tests::hosted_invalid_local_open_repair_saves_locally_and_never_replaces_old_resource ... ok
|
||||
test app::hosted::tests::hosted_modal_blocks_underlying_edits_and_credentials_are_redacted ... ok
|
||||
test app::hosted::tests::hosted_new_revision_invalidates_filtered_catalog_even_without_a_displayed_row ... ok
|
||||
test app::hosted::tests::hosted_only_successful_source_save_as_changes_the_active_destination ... ok
|
||||
test app::hosted::tests::hosted_open_waits_for_unsaved_guard_and_failed_open_preserves_current_document ... ok
|
||||
test app::hosted::tests::hosted_publish_acknowledges_only_the_sent_snapshot_and_retains_undo ... ok
|
||||
test app::hosted::tests::hosted_stale_completions_do_not_clear_current_busy_or_adopt_another_document ... ok
|
||||
test app::hosted::tests::hosted_unknown_save_is_acknowledged_by_exact_readback_without_retry ... ok
|
||||
test app::lint_tests::committed_check_cache_follows_edit_and_undo_while_drafts_stay_separate ... ok
|
||||
test app::lint_tests::lint_coalesces_work_and_rejects_obsolete_results ... ok
|
||||
test app::lint_tests::prior_document_lint_cannot_enter_reopened_model_or_block_next_checks ... ok
|
||||
test app::port_view_tests::catalog_creation_follows_the_new_port_and_keeps_group_browsing_explicit ... ok
|
||||
test app::port_view_tests::filtered_active_view_cannot_hide_a_created_port_when_eligible_owner_view_is_folded ... ok
|
||||
test app::process_canvas::direct_process_dirty_source_blocks_canvas_creation_without_losing_text ... ok
|
||||
test app::process_canvas::tests::direct_process_app_open_source_and_back_preserve_local_reference_identity ... ok
|
||||
test app::process_canvas::tests::direct_process_app_same_owner_selection_preserves_tool_but_owner_change_resets_it ... ok
|
||||
test app::process_canvas::tests::direct_process_app_save_scroll_resize_and_passive_geometry_keep_drafts_and_current_origin ... ok
|
||||
test app::process_canvas::tests::direct_process_app_source_failure_retains_form_then_commits_once_and_selects_occurrence ... ok
|
||||
test app::process_canvas::tests::direct_process_app_stale_context_dirty_source_and_properties_never_mutate ... ok
|
||||
test app::process_canvas::tests::direct_process_append_empty_first_second_exchange_has_exact_source_history ... ok
|
||||
test app::process_canvas::tests::process_focus_retains_rejected_draft_and_guards_selection_until_panels_restore ... ok
|
||||
test app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model ... ok
|
||||
test app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority ... ok
|
||||
test app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save ... ok
|
||||
test app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close ... ok
|
||||
test app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean ... ok
|
||||
test app::review_navigation_tests::rejected_semantic_source_writeback_retains_review_camera_and_original_navigation ... ok
|
||||
test app::review_navigation_tests::review_already_showing_the_target_keeps_its_camera_and_query ... ok
|
||||
test app::review_navigation_tests::semantic_name_take_selects_the_counterpart_view_in_both_directions_with_one_exact_history_entry ... ok
|
||||
test app::review_navigation_tests::semantic_review_without_a_destination_view_clears_the_old_layer_canvas_without_creating_a_view ... ok
|
||||
test app::save_as_tests::save_as_late_receipt_preserves_newer_raw_source_draft_and_destination ... ok
|
||||
test app::save_as_tests::save_as_preflight_rejects_historical_collision_before_starting_io ... ok
|
||||
test app::save_as_tests::save_as_receipt_then_one_undo_restores_meaning_and_saving_preserves_redo ... ok
|
||||
test app::source_project_tests::closed_detached_file_keeps_first_save_conflict_then_can_be_reloaded_fresh ... ok
|
||||
test app::source_project_tests::inactive_invalid_draft_blocks_graphical_changes_and_diagnostic_switches_files ... ok
|
||||
test app::source_project_tests::json_export_and_rejected_save_as_preserve_source_location_history_and_bytes ... ok
|
||||
test app::source_project_tests::missing_include_open_keeps_old_model_and_can_be_repaired_and_saved ... ok
|
||||
test app::source_project_tests::recovery_after_first_save_failure_retains_target_then_retries_without_reentering_path ... ok
|
||||
test app::source_project_tests::recovery_of_previous_save_as_target_does_not_redirect_current_project ... ok
|
||||
test app::source_project_tests::recovery_open_finds_first_save_journal_without_an_entry_file ... ok
|
||||
test app::source_project_tests::recovery_target_survives_edit_lint_apply_and_rejected_recovery_until_success ... ok
|
||||
test app::source_project_tests::source3_native_open_preserves_report_comments_nesting_and_save_reopen ... ok
|
||||
test app::source_project_tests::two_file_apply_graphical_edit_exact_undo_save_as_and_reopen ... ok
|
||||
test app::source_rename::alias_input::tests::effective_escape_reset_follows_child_after_early_returns ... ok
|
||||
test app::source_rename::alias_input::tests::held_paste_cache_contains_only_previously_admitted_text ... ok
|
||||
test app::source_rename::alias_input::tests::paste_refusal_matches_child_focus_enabled_and_stored_modifier_protocol ... ok
|
||||
test app::source_rename::editor_patch::tests::all_preflight_refusals_leave_text_cursor_and_selection_unchanged ... ok
|
||||
test app::source_rename::editor_patch::tests::already_laid_out_editor_notifies_highlighter_from_zero_after_later_line_patch ... ok
|
||||
test app::source_rename::editor_patch::tests::exact_text_matrix_and_reverse_preserve_endings ... ok
|
||||
test app::source_rename::editor_patch::tests::unchanged_content_preserves_selection_and_next_direct_edit_works ... ok
|
||||
test app::source_rename::tests::actual_alias_clipboard_rejects_controls_without_normalizing_or_moving_selection ... ok
|
||||
test app::source_rename::tests::actual_captured_escape_closes_only_its_priority_owner_and_retains_worker ... ok
|
||||
test app::source_rename::tests::actual_dialog_enter_requests_preview_even_when_confirm_is_available ... ok
|
||||
test app::source_rename::tests::actual_dialog_real_paragraph_geometry_keeps_input_preview_and_footer_reachable ... ok
|
||||
test app::source_rename::tests::alias_editor_sync_fallback_restores_accepted_display_and_preserves_model_history ... ok
|
||||
test app::source_rename::tests::close_and_reset_retain_worker_slot_until_exact_completion_without_reopening ... ok
|
||||
test app::source_rename::tests::complete_alias_change_preserves_literals_and_last_comment_separated_origin_and_undo ... ok
|
||||
test app::source_rename::tests::full_details_selection_survives_readonly_and_passive_messages_and_tracks_input ... ok
|
||||
test app::source_rename::tests::genuine_save_receipts_preserve_same_destination_preview_but_invalidate_save_as ... ok
|
||||
test app::source_rename::tests::invalid_open_retains_accepted_document_but_refuses_alias_rename ... ok
|
||||
test app::source_rename::tests::last_same_line_use_beyond_reference_row_limit_and_selection_boundaries ... ok
|
||||
test app::source_rename::tests::mounted_editor_f2_requires_focus_and_no_modifiers ... ok
|
||||
test app::source_rename::tests::paging_all_utf8_fragments_preserves_exact_preview_and_approval ... ok
|
||||
test app::source_rename::tests::preview_glyph_tests::actual_preview_source_glyphs_clear_scrollbar_and_all_long_fragments_are_reachable ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::delayed_page_and_approval_operations_cannot_reset_a_new_destination ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::explicit_navigation_resets_retained_scroll_but_id_change_alone_does_not ... ok
|
||||
test app::source_rename::tests::preview_scroll_tests::repeated_page_visits_filters_and_fast_preview_completion_have_distinct_destinations ... ok
|
||||
test app::source_rename::tests::property_draft_and_detached_buffer_refuse_without_hidden_apply ... ok
|
||||
test app::source_rename::tests::replacement_generation_aba_and_modal_shortcuts_cannot_commit_stale_preview ... ok
|
||||
test app::source_rename::tests::same_alias_invalid_and_cancel_keep_existing_redo_and_source_selection ... ok
|
||||
test app::source_rename::tests::source_edit_undo_and_recovery_invalidation_do_not_revive_approval ... ok
|
||||
test app::source_rename::tests::stale_dialog_envelopes_do_not_cancel_new_same_path_form_or_its_approval ... ok
|
||||
test app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing ... ignored, manual Windows dev/debug rename latency trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight ... ignored, manual Windows dev/debug editor replacement + layout/highlight trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_symbols::tests::back_after_origin_edit_uses_its_current_cursor_instead_of_the_old_range ... ok
|
||||
test app::source_symbols::tests::back_keeps_the_latest_64_actual_locations_without_reusing_dropped_history ... ok
|
||||
test app::source_symbols::tests::back_restores_exact_reversed_utf8_selection_and_crlf_source ... ok
|
||||
test app::source_symbols::tests::captured_find_and_modal_escape_use_one_actual_subscription_and_preserve_pending_work ... ok
|
||||
test app::source_symbols::tests::captured_subscription_does_not_duplicate_existing_behavior_or_architecture_routes ... ok
|
||||
test app::source_symbols::tests::close_during_busy_retains_hidden_completion_without_reopening_or_navigation ... ok
|
||||
test app::source_symbols::tests::closed_results_stay_closed_on_exact_back_and_reopen_only_for_a_return_notice ... ok
|
||||
test app::source_symbols::tests::completion_retains_current_display_but_rejects_navigation_after_context_changes ... ok
|
||||
test app::source_symbols::tests::delayed_definition_after_hide_or_tab_change_retains_data_without_reopening_or_focus ... ok
|
||||
test app::source_symbols::tests::detached_duplicate_requires_an_explicit_choice_even_when_included_source_is_validated ... ok
|
||||
test app::source_symbols::tests::escape_dismisses_modal_before_underlying_source_results ... ok
|
||||
test app::source_symbols::tests::escape_hides_results_and_cancels_navigation_but_retains_latest_display ... ok
|
||||
test app::source_symbols::tests::find_close_releases_removed_input_and_guarded_focus_respects_later_input ... ok
|
||||
test app::source_symbols::tests::find_only_captured_escape_closes_once_and_preserves_raw_query_and_selection ... ok
|
||||
test app::source_symbols::tests::hidden_completion_checks_exact_bytes_even_when_snapshot_key_was_not_advanced ... ok
|
||||
test app::source_symbols::tests::invalid_unapplied_drafts_navigate_without_apply_or_losing_either_history ... ok
|
||||
test app::source_symbols::tests::matching_old_worker_cannot_replace_a_newer_display_owner ... ok
|
||||
test app::source_symbols::tests::matching_reveal_ticket_is_required_and_raw_input_invalidates_pending_reveal ... ok
|
||||
test app::source_symbols::tests::old_find_close_cannot_cancel_a_new_file_session_or_reopened_find_intent ... ok
|
||||
test app::source_symbols::tests::old_symbol_widget_envelopes_after_file_switch_preserve_same_session_intent ... ok
|
||||
test app::source_symbols::tests::old_symbol_widget_envelopes_after_reset_preserve_new_same_path_intent ... ok
|
||||
test app::source_symbols::tests::popup_escape_has_no_duplicate_bridge_and_dismissal_preserves_underlying_find_and_drawer ... ok
|
||||
test app::source_symbols::tests::reset_retains_worker_slot_until_old_completion_then_admits_new_session_query ... ok
|
||||
test app::source_symbols::tests::retained_choices_cannot_replay_after_hide_or_references_problems_references ... ok
|
||||
test app::source_symbols::tests::same_worker_with_changed_request_envelope_cannot_publish_or_navigate ... ok
|
||||
test app::source_symbols::tests::saturated_raw_clock_never_authorizes_completion_or_reveal ... ok
|
||||
test app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses ... ignored, manual 100-module latency/process-memory trial; run alone with --ignored --nocapture --test-threads=1
|
||||
test app::source_symbols::tests::unknown_job_cannot_release_current_worker_and_old_duplicate_cannot_replace_new_results ... ok
|
||||
test app::source_symbols::tests::valid_definition_and_reference_choice_keep_whole_model_and_source_unchanged ... ok
|
||||
test app::state_diagram_tests::all_context_dimensions_reject_stale_selection_camera_and_model_messages ... ok
|
||||
test app::state_diagram_tests::create_view_places_only_its_machine_and_restores_exact_source_in_one_undo ... ok
|
||||
test app::state_diagram_tests::direct_create_connect_select_and_move_keep_semantic_identity_and_atomic_history ... ok
|
||||
test app::state_diagram_tests::fallback_owner_first_selection_keeps_the_captured_context_for_its_first_move ... ok
|
||||
test app::state_diagram_tests::pending_drafts_block_every_direct_mutation_and_passive_camera_preserves_inputs ... ok
|
||||
test app::state_diagram_tests::real_view_tool_and_history_changes_invalidate_old_release_events ... ok
|
||||
test app::state_diagram_tests::rejected_creation_keeps_source_and_selection_then_valid_owner_can_retry ... ok
|
||||
test app::state_diagram_tests::same_size_viewport_after_revision_or_tool_epoch_does_not_refit_the_camera ... ok
|
||||
test app::state_diagram_tests::shared_semantic_states_keep_architecture_and_behavior_placements_independent ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_constructor_and_source_open_to_the_existing_workspace_without_edits ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_picker_and_reveal_but_explicit_architecture_does_not_bounce ... ok
|
||||
test app::state_diagram_tests::state_diagram_routes_preserve_selected_raw_properties_and_pending_behavior_guards ... ok
|
||||
test app::state_diagram_tests::state_navigation_catalog_selection_across_layers_resets_camera_and_tool ... ok
|
||||
test app::state_diagram_tests::state_navigation_catalog_selection_of_another_machine_resets_camera_and_tool ... ok
|
||||
test app::state_diagram_tests::state_navigation_layer_change_resets_the_new_machine_at_the_same_viewport_size ... ok
|
||||
test app::state_diagram_tests::state_navigation_return_to_the_same_view_preserves_camera_tool_and_fit_mode ... ok
|
||||
test app::state_diagram_tests::state_navigation_root_event_and_same_layer_keep_the_current_camera_and_tool ... ok
|
||||
test app::text_workspace::lifecycle_tests::canceled_or_failed_open_that_installs_nothing_retains_current_presentation_and_diagnostics ... ok
|
||||
test app::text_workspace::lifecycle_tests::invalid_repair_open_clears_prior_presentation_and_publishes_current_problems_preserving_worker ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_does_not_revalidate_already_stale_warning_locations ... ok
|
||||
test app::text_workspace::lifecycle_tests::saved_new_destination_republishes_current_warning_and_refuses_old_primary_and_related ... ok
|
||||
test app::text_workspace::tests::current_diagnostic_target_navigates_but_changed_source_or_clear_refuses_it ... ok
|
||||
test app::text_workspace::tests::diagnostic_span_must_be_loaded_ordered_and_utf8_exact ... ok
|
||||
test app::text_workspace::tests::disabled_entry_cannot_become_a_new_action_under_the_same_menu_token ... ok
|
||||
test app::text_workspace::tests::document_reset_preserves_popup_token_sequence_and_drops_old_menu_authority ... ok
|
||||
test app::text_workspace::tests::enabled_entry_is_readmitted_at_dispatch_and_blocked_by_busy ... ok
|
||||
test app::text_workspace::tests::equal_diagnostic_republication_invalidates_primary_and_related_targets ... ok
|
||||
test app::text_workspace::tests::menu_own_open_invalidation_does_not_stale_find_and_invoke_is_once ... ok
|
||||
test app::text_workspace::tests::menu_source_caret_document_path_and_interaction_changes_refuse_stale_find ... ok
|
||||
test app::text_workspace::tests::old_dismiss_and_invoke_do_not_consume_a_newer_menu ... ok
|
||||
test app::text_workspace::tests::only_valid_explicit_group_and_resize_intent_cancel_pending_navigation ... ok
|
||||
test app::text_workspace::tests::queued_group_toggle_cannot_mutate_a_reopened_or_rotated_visit ... ok
|
||||
test app::text_workspace::tests::queued_toolbar_request_cannot_retarget_after_source_change ... ok
|
||||
test app::text_workspace::tests::reference_groups_and_scroll_survive_tabs_and_reject_old_visits_and_queries ... ok
|
||||
test app::text_workspace::tests::reset_removes_ui_and_publication_authority_and_resize_rejects_nan ... ok
|
||||
test app::text_workspace::tests::retained_primary_and_related_targets_cannot_replay_after_hide_or_problems_references_problems ... ok
|
||||
test app::text_workspace::tests::source_and_property_drafts_keep_find_and_text_undo_without_model_application ... ok
|
||||
test app::text_workspace::tests::stale_retained_group_can_expand_without_navigating_or_applying_drafts ... ok
|
||||
test app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view ... ok
|
||||
test app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture ... ok
|
||||
test app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera ... ok
|
||||
test app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start ... ok
|
||||
test app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions ... ok
|
||||
test app::view_copy_tests::copying_architecture_keeps_architecture_even_with_a_retained_state_view ... ok
|
||||
test app::view_copy_tests::copying_the_current_state_view_uses_its_own_identity_and_is_one_source_undo ... ok
|
||||
test app::view_copy_tests::duplicate_rejection_preserves_an_incomplete_source_buffer ... ok
|
||||
test app::view_copy_tests::duplicate_rejection_preserves_invalid_property_and_pending_behavior_drafts ... ok
|
||||
test app::view_copy_tests::stale_copy_does_not_apply_an_unrelated_valid_property_draft ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_old_empty_action_cannot_open_a_previous_owner_or_layer ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback ... ok
|
||||
test behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo ... ok
|
||||
test behavior::creation::app_tests::app_choosing_another_behavior_or_layer_cannot_commit_a_creation_draft ... ok
|
||||
test behavior::creation::app_tests::app_creation_opens_the_actual_new_owner_instead_of_first_or_previously_active_behavior ... ok
|
||||
test behavior::creation::app_tests::app_first_captured_escape_dismisses_file_or_pending_overlay_before_creation ... ok
|
||||
test behavior::creation::app_tests::app_lesson_request_cancel_retains_creation_then_escape_discards_only_the_draft ... ok
|
||||
test behavior::creation::app_tests::app_machine_behavior_submit_opens_its_opted_in_view_as_one_undoable_transaction ... ok
|
||||
test behavior::creation::app_tests::app_new_never_auto_applies_valid_or_invalid_property_and_source_drafts ... ok
|
||||
test behavior::creation::app_tests::app_recovered_rootless_sa_creation_retains_layer_ids_and_other_raw_drafts ... ok
|
||||
test behavior::creation::app_tests::app_stale_layer_open_never_starts_or_replaces_a_draft ... ok
|
||||
test behavior::creation::tests::all_four_viewpoints_are_explicit_and_survive_source_history_reopen ... ok
|
||||
test behavior::creation::tests::cancel_and_illegal_family_layer_switches_never_create_model_objects ... ok
|
||||
test behavior::creation::tests::corrupted_recovery_and_reserved_identity_collision_refuse_without_repairing_raw_values ... ok
|
||||
test behavior::creation::tests::creation_selection_rejects_changed_scenario_body_and_post_creation_operations ... ok
|
||||
test behavior::creation::tests::machine_requires_valid_owner_and_first_view_adds_no_region_or_state ... ok
|
||||
test behavior::creation::tests::mounted_creation_keeps_actions_visible_and_renders_only_six_owner_candidates ... ok
|
||||
test behavior::creation::tests::oa_process_and_sa_chain_keep_exact_names_root_ownership_and_one_history_entry ... ok
|
||||
test behavior::creation::tests::optional_context_collapses_without_losing_authored_reference_or_raw_search ... ok
|
||||
test behavior::creation::tests::owner_search_is_name_ordered_filtered_and_page_sized_not_a_catalog ... ok
|
||||
test behavior::creation::tests::post_commit_selection_is_correlated_with_exact_created_behavior_and_view ... ok
|
||||
test behavior::creation::tests::recovery_preserves_exact_raw_inputs_reserved_ids_and_revalidates_stale_owner ... ok
|
||||
test behavior::creation::tests::rejected_source_transaction_keeps_draft_and_every_accepted_source_byte ... ok
|
||||
test behavior::creation::tests::repeated_owner_names_remain_distinguishable_by_searchable_parent_context_and_alias ... ok
|
||||
test behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand ... ok
|
||||
test behavior::direct_canvas_tests::direct_bounds_change_during_held_drag_never_commits_old_slot ... ok
|
||||
test behavior::direct_canvas_tests::direct_clicked_occurrence_capture_cancels_on_view_and_context_changes ... ok
|
||||
test behavior::direct_canvas_tests::direct_context_escape_unfocus_and_pending_form_cancel_gestures ... ok
|
||||
test behavior::direct_canvas_tests::direct_drag_and_click_click_use_ordered_sources_and_publish_once ... ok
|
||||
test behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call ... ok
|
||||
test behavior::direct_canvas_tests::direct_scroll_resize_and_bounds_changes_cancel_captured_slots ... ok
|
||||
test behavior::direct_canvas_tests::direct_scrolled_canvas_maps_raw_pointer_events_to_the_visible_slot ... ok
|
||||
test behavior::direct_canvas_tests::direct_selected_handle_reorders_and_hits_keep_semantic_identity ... ok
|
||||
test behavior::direct_canvas_tests::reused_exchange_messages_display_their_distinct_occurrence_names ... ok
|
||||
test behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages ... ok
|
||||
test behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit ... ok
|
||||
test behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys ... ok
|
||||
test behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange ... ok
|
||||
test behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically ... ok
|
||||
test behavior::scenario::direct_tests::direct_busy_save_keeps_observed_scroll_current_for_the_next_pointer_gesture ... ok
|
||||
test behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts ... ok
|
||||
test behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history ... ok
|
||||
test behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation ... ok
|
||||
test behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values ... ok
|
||||
test behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe ... ok
|
||||
test behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree ... ok
|
||||
test behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo ... ok
|
||||
test behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands ... ok
|
||||
test behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts ... ok
|
||||
test behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history ... ok
|
||||
test behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call ... ok
|
||||
test behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values ... ok
|
||||
test behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker ... ok
|
||||
test behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent ... ok
|
||||
test behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange ... ok
|
||||
test behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract ... ok
|
||||
test behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction ... ok
|
||||
test behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings ... ok
|
||||
test behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_allocates_remaining_height_and_pins_actions_at_minimum_and_wide_sizes ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_caller_restores_actual_mounted_canvas_and_shelf_with_camera ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_canvas_and_form_scroll_survive_disclosures_focus_width_and_resize ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_fit_reobserves_same_sized_owner_and_document_changes ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_scroll_after_preselection ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_scaled_and_scrolled_scene_keeps_clicked_slots_and_message_endpoints ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms ... ok
|
||||
test behavior::scenario::workspace::tests::scenario_workspace_whole_app_canvas_tree_survives_pending_shelves_and_focus ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scenario_caller_restores_mounted_scroll_once_with_clamping_and_app_receipt ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scenario_restore_cannot_scroll_another_document_owner_or_process_view ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scroll_mounted_identity_resets_navigation_but_preserves_edits_before_first_report ... ok
|
||||
test behavior::scenario_scroll::tests::direct_scroll_observer_reports_actual_initial_clamped_and_remounted_offsets_once ... ok
|
||||
test behavior::scenario_scroll::tests::independent_process_owner_change_resets_actual_scroll_offsets ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_initial_essentials_fit_short_composed_host_with_real_paragraphs ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_long_parent_wraps_after_visible_name_without_losing_raw_data ... ok
|
||||
test behavior::source_draft::layout_tests::contextual_source_layout_visible_kind_click_keeps_choice_explicit_and_name_input_works ... ok
|
||||
test behavior::state_canvas::tests::context_menu_keeps_window_anchor_and_explicit_placement_identity ... ok
|
||||
test behavior::state_canvas::tests::context_tool_and_pending_form_changes_cancel_mutating_gestures ... ok
|
||||
test behavior::state_canvas::tests::creation_uses_the_explicit_deepest_owner_and_never_a_fallback_ancestor ... ok
|
||||
test behavior::state_canvas::tests::drag_uses_ordered_release_at_each_zoom_and_moves_descendants_in_one_undo ... ok
|
||||
test behavior::state_canvas::tests::escape_and_view_switch_discard_the_armed_transition_source ... ok
|
||||
test behavior::state_canvas::tests::internal_rows_and_pseudostate_hits_use_shared_persisted_geometry ... ok
|
||||
test behavior::state_canvas::tests::ordered_stationary_click_does_not_move_on_later_motion_in_the_same_batch ... ok
|
||||
test behavior::state_canvas::tests::pan_is_button_scoped_read_only_and_hover_does_not_reproject_the_scene ... ok
|
||||
test behavior::state_canvas::tests::pseudostate_names_avoid_rightward_and_downward_routes_and_share_hit_bounds ... ok
|
||||
test behavior::state_canvas::tests::relayout_does_not_turn_a_transition_click_into_a_drag_or_pan ... ok
|
||||
test behavior::state_canvas::tests::selected_endpoint_reconnect_preserves_identity_and_requires_handle_motion ... ok
|
||||
test behavior::state_canvas::tests::selection_relayout_does_not_move_nodes_or_change_drag_distance ... ok
|
||||
test behavior::state_canvas::tests::stacked_symbol_names_avoid_each_other_and_are_independent_of_input_order ... ok
|
||||
test behavior::state_canvas::tests::transition_supports_click_click_and_drag_without_coalesced_accidental_edges ... ok
|
||||
test behavior::state_canvas::tests::typed_state_actions_are_named_selectable_rows_before_internal_transitions_and_regions ... ok
|
||||
test behavior::state_canvas::tests::viewport_uses_full_canvas_coordinates_and_republishes_for_a_new_context ... ok
|
||||
test behavior::state_edit::tests::an_empty_machine_has_an_explicit_visible_owner_for_first_region_creation ... ok
|
||||
test behavior::state_edit::tests::connect_preserves_self_loops_and_rejects_hidden_or_incompatible_vertices ... ok
|
||||
test behavior::state_edit::tests::creation_places_missing_ancestry_and_unfolds_existing_owners_atomically ... ok
|
||||
test behavior::state_edit::tests::every_context_component_and_invalid_ownership_are_checked_before_planning ... ok
|
||||
test behavior::state_edit::tests::placing_existing_content_and_moving_a_folded_group_preserve_other_views_and_semantics ... ok
|
||||
test behavior::state_edit::tests::reconnect_preserves_the_complete_record_and_replaces_cardinality_in_place ... ok
|
||||
test behavior::state_edit::tests::view_initializes_only_its_machine_in_one_source_and_model_history_entry ... ok
|
||||
test behavior::states::tests::internal_choice_targets_self_and_edit_preserves_identity_and_description ... ok
|
||||
test behavior::states::tests::invalid_pseudo_trigger_keeps_draft_and_does_not_create_orphan_event ... ok
|
||||
test behavior::states::tests::selected_composite_owns_new_region_and_history_uses_selected_region ... ok
|
||||
test behavior::states::tests::timeout_and_work_trigger_commit_together_roundtrip_and_undo ... ok
|
||||
test behavior::tests::failed_document_commit_retains_typed_transition_and_time_event_for_repair ... ok
|
||||
test behavior::tests::legacy_process_and_chain_keep_their_ordered_exchange_scene ... ok
|
||||
test behavior::tests::one_behavior_form_survives_start_edit_and_unrelated_cancel_until_commit ... ok
|
||||
test behavior::tests::recovery_preserves_distinct_qualified_value_paths_and_rejects_invalid_payload_atomically ... ok
|
||||
test behavior::tests::recovery_retains_each_incomplete_behavior_form_without_executing_it ... ok
|
||||
test behavior::tests::selecting_state_transition_keeps_its_behavior_context ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_deleted_transient_selection_does_not_seed_or_hide_retained_authored_endpoint ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_nested_preview_folds_only_the_exact_reference_instance ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_rejected_endpoint_keeps_exact_raw_intent_after_recovery ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_repeated_sources_remain_distinct_and_apply_has_exact_source_history ... ok
|
||||
test behavior::topology::contextual::tests::qualified_link_gui_scope_paging_and_search_reach_tail_beyond_512_without_losing_endpoints ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_native_x_to_first_b_keeps_visible_arrow_above_background_and_clear_of_other_references ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_nested_visible_hidden_and_parallel_paths_keep_exact_addresses_and_legacy_routes ... ok
|
||||
test behavior::topology::contextual_routing::tests::contextual_route_shared_anchor_preserves_selected_direct_reconnect_at_fit_and_full_scale ... ok
|
||||
test behavior::topology::direct_tests::direct_process_append_preserves_existing_order_and_rejects_incompatible_exchange ... ok
|
||||
test behavior::topology::direct_tests::direct_process_controls_allow_incomplete_work_and_preserve_branch_semantics ... ok
|
||||
test behavior::topology::direct_tests::direct_process_empty_first_and_second_exchange_keep_the_same_interactive_renderer ... ok
|
||||
test behavior::topology::direct_tests::direct_process_imported_order_is_projected_without_mutation_and_first_canvas_edit_is_atomic ... ok
|
||||
test behavior::topology::direct_tests::direct_process_incompatible_imported_order_rejects_conversion_without_losing_draft ... ok
|
||||
test behavior::topology::direct_tests::direct_process_nested_source_reopen_and_api_command_use_one_transaction ... ok
|
||||
test behavior::topology::direct_tests::direct_process_oa_sa_repeated_occurrences_share_sources_and_split_one_guarded_link ... ok
|
||||
test behavior::topology::direct_tests::direct_process_palette_preserves_fit_and_manual_camera ... ok
|
||||
test behavior::topology::direct_tests::direct_process_pending_form_diff_retains_the_canvas_scroll_state ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_click_click_drag_insert_and_scroll_coordinates ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_endpoint_and_peer_reorder_handles_publish_exact_identity ... ok
|
||||
test behavior::topology::direct_tests::direct_process_production_stale_focus_scroll_bounds_and_pending_cancel ... ok
|
||||
test behavior::topology::direct_tests::direct_process_readable_default_fit_expansion_and_bounded_choices ... ok
|
||||
test behavior::topology::direct_tests::direct_process_real_picker_stays_bounded_and_search_keeps_selection ... ok
|
||||
test behavior::topology::direct_tests::direct_process_reconnect_delete_and_reorder_preserve_other_paths_and_sources ... ok
|
||||
test behavior::topology::direct_tests::direct_process_reuse_preview_is_local_expandable_and_recursive_sources_are_rejected ... ok
|
||||
test behavior::topology::direct_tests::direct_process_scaled_control_and_link_gestures_use_visible_positions ... ok
|
||||
test behavior::topology::direct_tests::direct_process_specific_parallel_link_and_incompatible_adjacency ... ok
|
||||
test behavior::topology::direct_tests::direct_process_three_ordered_exchanges_preserve_outer_paths_on_insertion ... ok
|
||||
test behavior::topology::tests::cycle_projection_terminates_and_retains_actual_links ... ok
|
||||
test behavior::topology::tests::empty_process_can_start_through_normal_authoring_events ... ok
|
||||
test behavior::topology::tests::fitting_a_branch_keeps_all_nodes_visible_and_selection_uses_scaled_coordinates ... ok
|
||||
test behavior::topology::tests::guarded_branch_is_one_transaction_with_distinct_source_identities ... ok
|
||||
test behavior::topology::tests::insertion_picker_only_offers_work_matching_adjacent_exchanges ... ok
|
||||
test behavior::topology::tests::legacy_branch_insertion_replaces_only_the_selected_implied_link ... ok
|
||||
test behavior::topology::tests::legacy_edit_preserves_order_and_new_work_in_one_undo ... ok
|
||||
test behavior::topology::tests::long_engineering_identifiers_stay_inside_label_width ... ok
|
||||
test behavior::topology::tests::process_fit_canvas_selection_ignores_retained_ordered_page_scroll ... ok
|
||||
test behavior::topology::tests::process_fit_disclosures_and_focus_preserve_rejected_raw_draft_and_accepted_source ... ok
|
||||
test behavior::topology::tests::process_fit_uses_measured_height_and_reports_minimum_without_changing_manual_zoom ... ok
|
||||
test behavior::topology::tests::reusable_preview_preserves_identity_and_filters_recursive_sources ... ok
|
||||
test behavior::topology::tests::stale_or_invalid_submit_preserves_inputs_and_creates_nothing ... ok
|
||||
test behavior::topology::tests::unlinked_contributions_do_not_gain_fictional_edges ... ok
|
||||
test behavior::topology::view::layout_tests::direct_process_pending_editor_uses_available_height_and_keeps_actions_visible ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_layout_disclosures_and_pending_editor_keep_real_manual_canvas_scroll ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_layout_measures_remaining_canvas_with_details_forms_and_window_resize ... ok
|
||||
test behavior::topology::view::layout_tests::process_fit_whole_app_focus_and_disclosures_retain_canvas_tree_with_pending_raw_form ... ok
|
||||
test connection_edit::tests::cancel_navigation_revision_and_dirty_drafts_cannot_commit_a_stale_connection ... ok
|
||||
test connection_edit::tests::visible_endpoint_drawing_commits_ports_and_exchange_once_with_exact_history ... ok
|
||||
test connection_tool::tests::boundary_candidates_match_core_orientation_and_reject_same_owner_or_mixed_kind ... ok
|
||||
test connection_tool::tests::boundary_feasibility_keeps_interface_warnings_and_final_carried_item_checks ... ok
|
||||
test connection_tool::tests::boundary_feasibility_rejects_dangling_identity_in_a_malformed_element_map ... ok
|
||||
test connection_tool::tests::direct_connections_share_exact_source_history_and_model_parity ... ok
|
||||
test connection_tool::tests::explicit_function_ports_keep_owners_contracts_and_do_not_invent_carried_items ... ok
|
||||
test connection_tool::tests::final_command_validation_rejects_invalid_models_without_mutation ... ok
|
||||
test connection_tool::tests::function_cards_use_unique_reuse_and_atomic_generation_when_ambiguous ... ok
|
||||
test connection_tool::tests::mismatched_port_owners_layers_and_contract_kinds_are_not_candidates ... ok
|
||||
test connection_tool::tests::operational_communication_uses_participants_without_creating_ports ... ok
|
||||
test connection_tool::tests::operational_interaction_targets_only_distinct_oa_activities ... ok
|
||||
test context_menu::tests::a_new_context_token_cannot_reuse_the_previous_mouse_press_or_scroll ... ok
|
||||
test context_menu::tests::actions_area_does_not_swallow_first_independent_click_after_overlay_consumed_its_release ... ok
|
||||
test context_menu::tests::anchors_outside_the_window_and_nonfinite_input_stay_bounded ... ok
|
||||
test context_menu::tests::clicking_disabled_or_dragging_off_an_action_never_executes_it ... ok
|
||||
test context_menu::tests::coalesced_dismissal_release_does_not_swallow_the_next_independent_click ... ok
|
||||
test context_menu::tests::empty_and_disabled_only_menus_still_capture_keys_and_escape_closes ... ok
|
||||
test context_menu::tests::keyboard_skips_headers_separators_and_disabled_actions_and_invokes_once ... ok
|
||||
test context_menu::tests::outside_dismissal_consumes_press_and_release_across_controlled_close ... ok
|
||||
test context_menu::tests::reconstructed_overlay_uses_retained_layout_for_rows_and_hit_testing ... ok
|
||||
test context_menu::tests::retained_overlay_layout_keeps_measured_width_and_scrollbar_after_reconstruction ... ok
|
||||
test context_menu::tests::tall_menu_clamps_to_viewport_and_keyboard_wheel_and_scrollbar_reach_the_end ... ok
|
||||
test data_values::tests::phase_choices_keep_reused_record_addresses_distinct ... ok
|
||||
test data_values::tests::recursive_picker_starts_with_distinct_leaf_names_and_sorts_them ... ok
|
||||
test data_values::tests::recursive_records_can_be_drilled_into_and_valid_imported_paths_resolve ... ok
|
||||
test data_values::tests::reference_parameter_stops_descent_and_unspecified_direction_remains_visible ... ok
|
||||
test data_values::tests::roots_and_one_hop_children_do_not_expand_unrelated_payload_branches ... ok
|
||||
test data_view::tests::allocation_rows_edit_relationship_identity_and_remove_only_that_allocation ... ok
|
||||
test data_view::tests::association_creation_is_a_separate_relation_with_editable_end_contracts ... ok
|
||||
test data_view::tests::browsing_pages_preserves_invalid_numeric_draft_and_inherited_allocation_identity ... ok
|
||||
test data_view::tests::contextual_data_actions_use_typed_defaults_and_one_undo ... ok
|
||||
test data_view::tests::large_inherited_dictionary_has_bounded_widgets_and_every_original_field_is_reachable ... ok
|
||||
test diagnostic_input::tests::already_captured_terminal_cancels_child_without_activation_or_lingering_press ... ok
|
||||
test diagnostic_input::tests::captured_terminal_cancellation_preserves_same_publication_focusable_child_state ... ok
|
||||
test diagnostic_input::tests::current_primary_and_related_mouse_clicks_survive_same_publication_diff ... ok
|
||||
test diagnostic_input::tests::current_touch_activates_primary_and_related_and_cancel_does_not_activate ... ok
|
||||
test diagnostic_input::tests::fresh_mouse_press_after_missing_stale_release_can_activate_current_row ... ok
|
||||
test diagnostic_input::tests::hidden_zero_height_scroller_delivers_cancelled_mouse_and_touch_terminals_to_guard ... ok
|
||||
test diagnostic_input::tests::hidden_zero_size_list_consumes_release_outside_old_bounds_once ... ok
|
||||
test diagnostic_input::tests::missed_press_is_ignored_and_dragging_release_outside_does_not_activate ... ok
|
||||
test diagnostic_input::tests::negative_control_iced_button_retargets_a_press_after_plain_tree_diff ... ok
|
||||
test diagnostic_input::tests::negative_control_plain_focusable_row_migrates_activation_to_replacement ... ok
|
||||
test diagnostic_input::tests::negative_control_removing_unguarded_rows_exposes_background_release ... ok
|
||||
test diagnostic_input::tests::outer_scroll_offset_survives_same_and_changed_publications ... ok
|
||||
test diagnostic_input::tests::replaced_primary_and_related_rows_consume_stale_release_then_accept_new_click ... ok
|
||||
test diagnostic_input::tests::replaced_touch_consumes_lift_or_cancel_even_when_hidden ... ok
|
||||
test diagnostic_input::tests::same_publication_missing_terminal_recovers_on_fresh_mouse_or_touch_down ... ok
|
||||
test diagnostic_input::tests::same_publication_new_visit_cancels_armed_rows_without_a_hidden_tree_frame ... ok
|
||||
test diagnostic_input::tests::same_publication_preserves_focus_but_replacement_never_inherits_activation ... ok
|
||||
test diagnostic_input::tests::stale_release_does_not_bubble_to_real_background_controls ... ok
|
||||
test diagnostic_input::tests::stale_touch_release_does_not_disarm_a_new_current_gesture ... ok
|
||||
test diagnostic_input::tests::unrelated_finger_or_mouse_release_cannot_complete_another_fingers_press ... ok
|
||||
test diagram::lifecycle_tests::menu_reset_and_draw_use_fresh_open_context ... ok
|
||||
test diagram::lifecycle_tests::middle_and_arrow_panning_preserve_source_and_history ... ok
|
||||
test diagram::lifecycle_tests::motion_after_release_must_not_move_clicked_port ... ok
|
||||
test diagram::lifecycle_tests::motion_after_source_click_release_must_not_create_connection ... ok
|
||||
test diagram::pointer_tests::coalesced_fe_ports_commit_once_through_app_and_source_history ... ok
|
||||
test diagram::pointer_tests::coalesced_port_drag_commits_once_through_app_and_source_history ... ok
|
||||
test diagram::pointer_tests::drag_from_already_selected_stationary_port_keeps_source_between_batches ... ok
|
||||
test diagram::pointer_tests::menu_captured_motion_must_not_turn_following_click_into_old_port_drag ... ok
|
||||
test diagram::pointer_tests::modal_and_stale_epoch_block_queued_connection_and_port_commits ... ok
|
||||
test diagram::port_hit_tests::coincident_ports_keep_selection_then_use_stable_identity ... ok
|
||||
test diagram::port_hit_tests::nearest_port_center_wins_on_all_borders_and_zoom_levels ... ok
|
||||
test diagram::port_hit_tests::nested_owner_palette_selection_drag_and_context_menu_pick_the_same_port ... ok
|
||||
test diagram::port_labels::tests::leaving_and_reentering_keeps_suppression_until_each_held_button_releases ... ok
|
||||
test diagram::port_labels::tests::menu_epoch_clears_suppression_when_the_overlay_consumes_release ... ok
|
||||
test diagram::port_labels::tests::outside_presses_do_not_suppress_and_cancel_or_focus_loss_clear_held_buttons ... ok
|
||||
test diagram::port_labels::tests::passive_layer_leaves_port_drag_selection_and_commit_with_the_interactive_canvas ... ok
|
||||
test diagram::tests::association_end_contracts_share_svg_geometry_and_select_without_moving_name_label ... ok
|
||||
test diagram::tests::bend_gestures_use_screen_hit_radius_and_commit_one_undo_at_three_zooms ... ok
|
||||
test diagram::tests::coincident_line_hit_retains_the_selected_connection ... ok
|
||||
test diagram::tests::connection_gestures_pick_real_ports_and_commit_coalesced_drag_at_every_zoom ... ok
|
||||
test diagram::tests::detached_label_selects_connection_and_occluding_card_owns_its_hit ... ok
|
||||
test diagram::tests::dragging_a_child_previews_the_same_enclosure_and_ports_as_commit ... ok
|
||||
test diagram::tests::fast_drags_commit_the_release_cursor_without_a_final_motion_event ... ok
|
||||
test diagram::tests::implicit_port_click_selects_semantics_and_drag_preview_svg_share_anchors ... ok
|
||||
test diagram::tests::route_cache_ignores_pan_zoom_and_cancelled_drag_cannot_commit ... ok
|
||||
test diagram::tests::routed_svg_has_same_polyline_label_and_bounds_as_canvas_scene ... ok
|
||||
test diagram::tests::svg_distinguishes_inferred_work_allocation_from_direct_allocation ... ok
|
||||
test diagram::tests::svg_preserves_visible_exchange_labels_and_capability_stereotypes ... ok
|
||||
test diagram::tests::typed_function_glyphs_and_unoriented_standard_connections_have_distinct_svg ... ok
|
||||
test diagram::view_options_tests::communication_svg_uses_saved_visibility_labels_and_direction ... ok
|
||||
test document::alias_rename::tests::each_identity_family_changes_only_authored_alias_roles_and_one_history_entry ... ok
|
||||
test document::alias_rename::tests::equal_bytes_undo_replay_cross_document_and_exhausted_revision_refuse ... ok
|
||||
test document::alias_rename::tests::exact_history_capacity_admits_immediate_undo_and_rejects_larger_candidate ... ok
|
||||
test document::alias_rename::tests::highlighted_keyword_alias_is_valid_without_normalizing_input ... ok
|
||||
test document::alias_rename::tests::invalid_and_identical_aliases_preserve_live_state_and_redo ... ok
|
||||
test document::alias_rename::tests::mint_and_commit_refuse_exhausted_or_inconsistent_live_history_estimate ... ok
|
||||
test document::alias_rename::tests::mutable_public_preview_copies_cannot_change_prepared_authority ... ok
|
||||
test document::alias_rename::tests::preview_retains_latest_saved_baseline_and_recovery_state ... ok
|
||||
test document::save_as_tests::save_as_preserves_explicit_source_entry_changes_in_history ... ok
|
||||
test document::save_as_tests::save_as_rebases_uniform_history_without_an_undo_step_or_lost_redo ... ok
|
||||
test document::save_as_tests::save_as_rejects_included_filename_collisions_in_past_and_future_without_mutation ... ok
|
||||
test document::save_as_tests::save_as_rejects_stale_or_content_changing_receipt_atomically ... ok
|
||||
test document::tests::accepted_history_keeps_the_latest_hundred_complete_snapshots ... ok
|
||||
test document::tests::altered_compiled_model_or_index_is_rejected_without_mutation ... ok
|
||||
test document::tests::asynchronous_save_marks_its_snapshot_without_cleaning_later_edits ... ok
|
||||
test document::tests::byte_budget_trims_oldest_history_without_discarding_a_large_current ... ok
|
||||
test document::tests::cached_view_index_tracks_accepted_creation_undo_and_redo ... ok
|
||||
test document::tests::comment_and_semantic_history_restore_exact_bytes_and_branch_together ... ok
|
||||
test document::tests::creation_selects_the_single_uuid_persisted_in_source ... ok
|
||||
test document::tests::invalid_project_is_rejected_before_format_can_normalize_it ... ok
|
||||
test document::tests::nested_cross_file_reparent_and_source_edit_share_exact_history ... ok
|
||||
test document::tests::no_op_command_or_source_apply_preserves_history_revision_and_redo ... ok
|
||||
test document::tests::omitted_id_stabilization_remains_dirty_until_exact_source_is_saved ... ok
|
||||
test document::tests::recreated_equal_record_does_not_inherit_deleted_source_ownership ... ok
|
||||
test document::tests::rejected_compile_command_and_writeback_preserve_state_and_redo ... ok
|
||||
test explorer::tests::collapse_and_search_retain_context_without_changing_collapse_state ... ok
|
||||
test explorer::tests::deep_containment_and_search_keep_the_full_path_without_recursion ... ok
|
||||
test explorer::tests::equal_names_have_stable_alias_and_identity_tie_breakers ... ok
|
||||
test explorer::tests::perspective_isolation_and_allocations_do_not_change_containment ... ok
|
||||
test explorer::tests::prefix_names_cannot_separate_a_parent_from_its_children ... ok
|
||||
test forms::data_fields::tests::defaults_distinguish_absent_empty_and_typed_literals_with_escaped_unicode ... ok
|
||||
test forms::data_fields::tests::field_browser_pages_every_direct_field_without_flattening_other_records ... ok
|
||||
test forms::data_fields::tests::independent_review_combined_take_type_informs_actual_default_form_in_both_directions ... ok
|
||||
test forms::data_fields::tests::numeric_bound_drafts_keep_partial_and_full_precision_values_out_of_accepted_state ... ok
|
||||
test forms::data_fields::tests::selecting_qualified_path_preserves_expression_typed_before_the_next_render ... ok
|
||||
test forms::data_fields::tests::semantic_reference_choices_follow_selected_mechanism_and_revert_on_keep ... ok
|
||||
test forms::data_fields::tests::supertype_picker_excludes_descendants_and_keeps_original_inherited_field_identity ... ok
|
||||
test forms::history_fields::tests::history_absent_baseline_and_empty_history_use_explicit_facts_and_exact_document_history ... ok
|
||||
test forms::history_fields::tests::history_clear_discards_inactive_invalid_constructors_before_reusing_the_same_row ... ok
|
||||
test forms::history_fields::tests::history_compound_value_and_constructor_variants_are_editable_without_live_context ... ok
|
||||
test forms::history_fields::tests::history_deleted_keys_and_observation_uuids_remain_exact_and_duplicate_history_rejects ... ok
|
||||
test forms::history_fields::tests::history_every_descriptor_fact_choice_matches_actual_closed_types_and_source_contract ... ok
|
||||
test forms::history_fields::tests::history_exact_strings_do_not_confuse_uuid_shaped_prose_or_literal_keys_with_references ... ok
|
||||
test forms::history_fields::tests::history_invalid_numbers_survive_constructor_switch_reorder_removal_and_recovery ... ok
|
||||
test forms::history_fields::tests::history_missing_semantic_field_can_be_added_and_removed_without_touching_prose_or_live_objects ... ok
|
||||
test forms::history_fields::tests::history_nested_optional_number_events_switch_absent_present_and_recover_invalid_raw ... ok
|
||||
test forms::history_fields::tests::history_nested_uuid_and_list_events_preserve_present_values_and_tagged_item_branches ... ok
|
||||
test forms::history_fields::tests::history_optional_uuid_and_text_seed_absence_without_inventing_observations ... ok
|
||||
test forms::history_fields::tests::history_primitive_type_choices_remain_visible_inside_the_tagged_union ... ok
|
||||
test forms::history_fields::tests::history_retained_text_constructors_follow_exact_mode_without_changing_the_observation ... ok
|
||||
test forms::port_fields::tests::all_demo_records_roundtrip_through_graphical_and_escaped_string_drafts ... ok
|
||||
test forms::port_fields::tests::boundary_choices_honor_draft_direction_same_kind_and_direct_interface_items ... ok
|
||||
test forms::port_fields::tests::contract_choices_follow_owner_and_never_offer_legacy_or_oa_typed_ports ... ok
|
||||
test forms::port_fields::tests::failed_shape_keeps_incomplete_text_and_saved_contract_payloads ... ok
|
||||
test forms::port_fields::tests::functional_endpoints_require_owner_direction_and_items_but_retain_bad_current_choice ... ok
|
||||
test forms::port_fields::tests::interface_roles_offer_participants_and_component_ports_independent_of_orientation ... ok
|
||||
test forms::port_fields::tests::port_allocation_choices_use_actual_owner_direction_and_ignore_edited_relation ... ok
|
||||
test forms::port_fields::tests::standard_switch_retains_incompatible_orientation_until_explicit_repair ... ok
|
||||
test forms::port_fields::tests::switching_function_direction_preserves_invalid_items_and_each_authored_payload ... ok
|
||||
test forms::tests::data_and_port_choices_are_typed_but_retain_invalid_current_values ... ok
|
||||
test forms::tests::editing_allocation_offers_other_performers_without_counting_itself_twice ... ok
|
||||
test forms::tests::moving_placement_and_changing_identity_is_one_lossless_undoable_edit ... ok
|
||||
test forms::tests::parent_choices_reject_cycles_without_removing_clear_or_current_choice ... ok
|
||||
test forms::tests::reply_and_reuse_forms_offer_semantically_compatible_references ... ok
|
||||
test forms::tests::scenario_choices_respect_owner_and_exchange_layer ... ok
|
||||
test forms::tests::semantic_port_group_choices_use_combined_owner_and_retain_invalid_transferred_items ... ok
|
||||
test forms::tests::shared_perspective_change_keeps_payload_and_rejects_incompatible_dependencies ... ok
|
||||
test forms::tests::state_observation_picker_keeps_work_lifelines_allocated_to_machine_owner ... ok
|
||||
test forms::tests::state_placement_form_uses_draft_destination_membership_without_changing_other_views ... ok
|
||||
test forms::tests::state_projection_form_keeps_string_variants_and_requires_a_typed_context ... ok
|
||||
test forms::view_fields::tests::category_family_change_retains_members_until_explicit_correction ... ok
|
||||
test forms::view_fields::tests::selective_view_property_apply_recovery_and_undo_preserve_semantics_and_empty_choices ... ok
|
||||
test guide::tests::filtering_and_related_navigation_keep_selection_visible ... ok
|
||||
test guide::tests::guide_topic_navigation_resets_only_article_and_same_topic_search_keeps_scroll ... ok
|
||||
test guide::tests::search_finds_concepts_in_walkthroughs_and_api_reference ... ok
|
||||
test home::tests::corrupt_future_and_oversized_history_are_preserved_with_usable_session_history ... ok
|
||||
test home::tests::failed_metadata_replace_keeps_previous_history_and_reports_memory_only_entry ... ok
|
||||
test home::tests::first_and_replaced_metadata_are_parseable_and_contain_no_model_bytes ... ok
|
||||
test home::tests::forgotten_and_missing_files_never_change_the_model_or_other_entries ... ok
|
||||
test home::tests::loading_missing_history_does_not_create_files_or_directories ... ok
|
||||
test home::tests::malformed_entries_and_unknown_fields_never_become_open_requests ... ok
|
||||
test home::tests::successful_local_history_is_bounded_ordered_deduplicated_and_durable ... ok
|
||||
test home::tests::unavailable_location_can_reappear_on_refresh_without_losing_identity ... ok
|
||||
test home::tests::walkthrough_uses_packaged_bundle_before_development_and_reports_missing_assets ... ok
|
||||
test hosted::client::tests::hosted_endpoint_validation_redacts_secrets_and_preserves_proxy_paths ... ok
|
||||
test hosted::client::tests::hosted_lost_publication_response_is_uncertain_without_retry ... ok
|
||||
test hosted::client::tests::hosted_open_rejects_incoherent_envelopes_missing_etags_and_unstable_ids ... ok
|
||||
test hosted::client::tests::hosted_oversized_local_bundle_is_rejected_before_network_admission ... ok
|
||||
test hosted::client::tests::hosted_production_auth_proxy_prefix_and_located_rejection ... ok
|
||||
test hosted::client::tests::hosted_production_roundtrip_preserves_comments_noops_and_conflicts ... ok
|
||||
test hosted::client::tests::hosted_publication_race_keeps_receipt_identity_for_review ... ok
|
||||
test hosted::client::tests::hosted_publication_retains_known_resource_after_failed_followup ... ok
|
||||
test hosted::client::tests::hosted_put_preserves_an_opaque_etag_and_compiles_the_accepted_bundle ... ok
|
||||
test hosted::client::tests::hosted_redirect_is_not_followed_or_retried_and_problem_tokens_are_redacted ... ok
|
||||
test hosted::client::tests::hosted_response_limits_cover_declared_and_chunked_bodies ... ok
|
||||
test hosted::client::tests::hosted_structured_mutation_failures_distinguish_precommit_rejections ... ok
|
||||
test hosted::client::tests::hosted_timeout_and_disconnect_leave_mutation_outcomes_explicit ... ok
|
||||
test model_menu::tests::add_bend_here_uses_context_point_and_one_source_aware_history_change ... ok
|
||||
test model_menu::tests::late_menu_actions_do_not_dismiss_new_menu_or_cross_view_context ... ok
|
||||
test model_menu::tests::menu_preserves_pending_properties_and_rejects_delayed_mutations ... ok
|
||||
test model_menu::tests::pending_source_allows_file_navigation_but_disables_model_actions ... ok
|
||||
test model_menu::tests::right_click_targets_actor_without_changing_selection_until_action ... ok
|
||||
test model_menu::tests::show_from_explorer_places_unfolds_and_keeps_semantic_selection ... ok
|
||||
test model_menu::tests::state_menu_folds_and_hides_only_its_captured_placement_and_rejects_stale_views ... ok
|
||||
test model_menu::tests::state_menu_keeps_typed_creation_reachable_and_preserves_pending_properties ... ok
|
||||
test navigation::tests::semantic_browser_finds_behavior_users_without_confusing_containment ... ok
|
||||
test port_edit::tests::all_border_drags_commit_exact_preview_and_restore_automatic_anchors_in_history ... ok
|
||||
test port_edit::tests::graphical_port_reparent_clears_old_anchors_in_the_same_history_operation ... ok
|
||||
test port_preview::tests::functional_creation_identifies_new_and_reused_endpoints_and_owners ... ok
|
||||
test port_preview::tests::legacy_split_discloses_endpoint_routing_item_origins_and_retained_evidence ... ok
|
||||
test port_preview::tests::reused_boundary_shows_item_union_and_existing_allocating_facts ... ok
|
||||
test port_preview::tests::synchronization_preview_exposes_contract_shrinkage_and_current_declaration_origin ... ok
|
||||
test port_workflow::recovery_tests::port_recovery_retains_authored_contract_and_identity_but_rebuilds_preview ... ok
|
||||
test port_workflow::tests::creating_typed_port_and_rejecting_stale_preview_preserve_drafts_and_identity ... ok
|
||||
test port_workflow::tests::graphical_function_exchange_and_component_generation_commit_and_undo_whole_contracts ... ok
|
||||
test port_workflow::tests::legacy_resolution_preserves_original_record_and_applies_as_one_undo ... ok
|
||||
test port_workflow::tests::port_creation_keeps_owner_diagram_and_unfolds_in_the_same_undo ... ok
|
||||
test port_workflow::tests::synchronization_uses_active_contract_instead_of_preserved_direction ... ok
|
||||
test recovery::source5::tests::source5_fingerprint_preserves_historical_field_order_and_diagram_shape ... ok
|
||||
test recovery::source5_tests::source4_checkpoint_remains_explicitly_unsupported_without_touching_disk ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_does_not_refresh_unrelated_clean_buffer_baseline ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_missing_identity_is_not_a_lossless_upgrade ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_old_diagram_property_shape_remains_editable ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_port_draft_replans_and_rejects_stale_base ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_preserves_dirty_invalid_text_and_baseline_exactly ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_preserves_distinct_unapplied_open_workspace ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_property_preserves_invalid_raw_input ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_upgrade_never_rewrites_checkpoint_or_origin ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_upgrades_only_header_and_clean_editor_baseline ... ok
|
||||
test recovery::source5_tests::source5_checkpoint_workflow_rebinds_only_the_proven_old_revision ... ok
|
||||
test recovery::source7_tests::source7_current_combined_contextual_and_operation_drafts_survive_without_execution ... ok
|
||||
test recovery::source7_tests::source7_explicit_new_fields_cannot_enter_frozen_old_model_profiles ... ok
|
||||
test recovery::source7_tests::source7_legacy_inactive_constructor_path_is_structural_but_raw_prose_is_not ... ok
|
||||
test recovery::source7_tests::source7_legacy_profile_workflow_and_semantic_drafts_replan_with_exact_base ... ok
|
||||
test recovery::source7_tests::source7_legacy_profiles_preserve_dirty_source_property_and_behavior_raw_fields ... ok
|
||||
test recovery::source7_tests::source7_legacy_structural_intent_rejects_even_null_but_never_scans_raw_strings ... ok
|
||||
test recovery::source7_tests::source7_legacy_view_selector_refuses_new_relation_kind_without_rewriting_checkpoint ... ok
|
||||
test recovery::source7_tests::source7_recovers_nonempty_frozen_5_and_6_profiles_with_exact_historical_binding ... ok
|
||||
test recovery::tests::altered_accepted_identity_and_unrecognized_raw_property_fields_reject ... ok
|
||||
test recovery::tests::exact_source_and_unfinished_invalid_buffers_restore_without_model_overwrite ... ok
|
||||
test recovery::tests::excess_retained_buffers_cannot_replace_the_last_recoverable_checkpoint ... ok
|
||||
test recovery::tests::invalid_open_retains_distinct_accepted_model_and_repair_workspace ... ok
|
||||
test recovery::tests::missing_includes_remain_reachable_repair_targets_without_fabricated_buffers ... ok
|
||||
test recovery::tests::multiple_sessions_replace_only_their_own_checkpoint_and_corruption_is_retained ... ok
|
||||
test recovery::tests::raw_invalid_property_number_survives_and_stays_rejected_until_repaired ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_draft_cannot_target_an_unreserved_or_non_artifact_identity ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_raw_variants_duplicate_addresses_and_unknown_fields_are_refused ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_reservations_cannot_duplicate_or_claim_an_existing_identity_or_another_owner ... ok
|
||||
test semantic_review::artifacts_recovery_falsifier_tests::legitimate_invalid_artifact_checkpoint_round_trips_and_prepares_only_after_explicit_repair ... ok
|
||||
test semantic_review::artifacts_tests::artifact_candidate_is_a_complete_record_not_a_tombstone_or_unattached_creation_shortcut ... ok
|
||||
test semantic_review::artifacts_tests::artifact_creation_and_identified_source_deletion_follow_core_metadata_and_history_boundary_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_gui_reserves_recovers_and_creates_only_after_all_seven_metadata_reviews_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_metadata_apply_and_exact_history_reset_are_one_source_preserving_undo_redo ... ok
|
||||
test semantic_review::artifacts_tests::artifact_move_metadata_none_empty_and_invalid_raw_recovery_are_independent_both_directions ... ok
|
||||
test semantic_review::artifacts_tests::artifact_moved_source_absence_deletes_but_destination_only_take_retains_both_directions ... ok
|
||||
test semantic_review::attachments::tests::absent_attachment_payloads_migrate_v1_and_v2_and_source5_upgrade_requires_exact_legacy_base ... ok
|
||||
test semantic_review::attachments::tests::addressed_attachment_candidates_equal_direct_core_oracle_both_directions ... ok
|
||||
test semantic_review::attachments::tests::attachment_apply_is_one_exact_source_and_history_undo_redo ... ok
|
||||
test semantic_review::attachments::tests::attachment_candidate_and_direct_record_keep_conflict_on_actual_slot_without_losing_drafts ... ok
|
||||
test semantic_review::attachments::tests::attachment_pair_drafts_survive_family_switch_and_restore_without_mutating_model ... ok
|
||||
test semantic_review::attachments::tests::functional_incident_source_requires_explicit_matching_port_review_in_one_atomic_candidate ... ok
|
||||
test semantic_review::attachments::tests::parent_and_each_endpoint_candidate_preserve_other_fields_and_match_core_both_directions ... ok
|
||||
test semantic_review::attachments::tests::raw_rejected_attachment_reference_survives_recovery_and_wrong_scope_is_rejected ... ok
|
||||
test semantic_review::attachments::tests::source_only_absence_and_explicit_absent_endpoint_are_different ... ok
|
||||
test semantic_review::attachments::tests::two_incident_endpoint_candidates_form_one_complete_record_and_recover_invalid_excluded_draft ... ok
|
||||
test semantic_review::batch_tests::batch_apply_is_one_exact_source_and_history_undo_redo_roundtrip ... ok
|
||||
test semantic_review::batch_tests::batch_candidate_conflict_keeps_both_raw_values_and_keep_is_a_real_constraint ... ok
|
||||
test semantic_review::batch_tests::batch_complete_constructor_cannot_erase_another_rows_new_literal ... ok
|
||||
test semantic_review::batch_tests::batch_constructor_retirement_conflicts_with_another_rows_kept_bound_in_both_orders ... ok
|
||||
test semantic_review::batch_tests::batch_delayed_text_targets_its_original_row_and_facet_without_switching_focus ... ok
|
||||
test semantic_review::batch_tests::batch_excluded_invalid_row_survives_focus_reopen_and_v2_recovery ... ok
|
||||
test semantic_review::batch_tests::batch_first_equal_constructor_acknowledgement_allows_an_independent_bound ... ok
|
||||
test semantic_review::batch_tests::batch_joint_bounds_use_one_candidate_and_match_an_independent_atomic_core_oracle ... ok
|
||||
test semantic_review::batch_tests::batch_reverse_distinct_targets_work_and_reverse_convergence_is_explicit ... ok
|
||||
test semantic_review::batch_tests::batch_v2_rejects_duplicate_included_sources_bad_addresses_and_stale_model ... ok
|
||||
test semantic_review::batch_tests::category_family_and_members_are_independent_core_checked_facets_both_directions ... ok
|
||||
test semantic_review::batch_tests::recovered_trace_picker_names_existing_trace_instead_of_deleted_reference ... ok
|
||||
test semantic_review::batch_tests::rejected_direction_switch_at_row_limit_preserves_every_recoverable_draft ... ok
|
||||
test semantic_review::compose::diagnostic_tests::distinct_review_conflict_keeps_trace_aliases_even_when_names_are_equal ... ok
|
||||
test semantic_review::compose::diagnostic_tests::reserved_creation_conflict_uses_its_rows_seed_instead_of_a_deleted_reference ... ok
|
||||
test semantic_review::compose::diagnostic_tests::same_review_presence_and_owner_conflict_names_both_facets_and_owners_and_retains_drafts ... ok
|
||||
test semantic_review::compose::diagnostic_tests::typed_owner_display_does_not_reinterpret_uuid_shaped_artifact_text ... ok
|
||||
test semantic_review::constructor_tests::closed_data_and_event_take_composition_matches_core_across_every_kind_pair_and_direction ... ok
|
||||
test semantic_review::constructor_tests::data_group_candidates_cover_every_definition_and_companion_default_both_directions ... ok
|
||||
test semantic_review::constructor_tests::data_group_retains_invalid_sibling_drafts_companion_default_and_variant_editor_buffers ... ok
|
||||
test semantic_review::constructor_tests::exchange_constructor_takes_qualified_annotation_addresses_without_remapping_expression_text ... ok
|
||||
test semantic_review::constructor_tests::existing_fragment_and_branch_group_candidates_edit_complete_owned_order_without_deletion ... ok
|
||||
test semantic_review::constructor_tests::group_take_reference_payload_and_scalar_candidate_match_core_and_one_document_batch ... ok
|
||||
test semantic_review::constructor_tests::historical_event_keep_retires_only_obsolete_branch_and_unchanged_kind_acknowledges_no_payload ... ok
|
||||
test semantic_review::constructor_tests::historical_same_kind_take_preserves_target_only_literals_when_composed_with_candidate ... ok
|
||||
test semantic_review::constructor_tests::occurrence_and_event_candidate_variants_cover_closed_families_without_touching_headers ... ok
|
||||
test semantic_review::constructor_tests::outer_and_nested_constructor_candidates_require_explicit_resolution_and_retain_both_drafts ... ok
|
||||
test semantic_review::constructor_tests::port_group_companions_typed_owner_context_and_direction_restrictions_are_explicit ... ok
|
||||
test semantic_review::constructor_tests::reverse_existing_typed_port_reviews_keep_or_candidate_legacy_without_permitting_typed_oa_write ... ok
|
||||
test semantic_review::constructor_tests::scenario_use_group_takes_typed_binding_references_and_preserves_source_text_both_directions ... ok
|
||||
test semantic_review::keyed_rows_tests::annotation_address_browser_descends_qualified_fields_without_changing_rows ... ok
|
||||
test semantic_review::keyed_rows_tests::annotation_observations_keep_uuid_shaped_expression_text_in_both_sides_and_history ... ok
|
||||
test semantic_review::keyed_rows_tests::batch_keyed_rows_compare_exact_target_slots_and_retain_independent_values ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_choices_separate_reused_keys_from_local_lifelines ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_local_picker_follows_a_candidate_parent_before_the_review_is_valid ... ok
|
||||
test semantic_review::keyed_rows_tests::binding_take_requires_local_correspondence_and_candidate_rejects_wrong_scenario ... ok
|
||||
test semantic_review::keyed_rows_tests::independent_rows_keep_take_candidate_match_core_and_preserve_siblings_both_directions ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_recovery_retains_raw_rows_and_staged_pairs_both_directions_without_applying ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_row_drafts_retain_expression_local_and_presence_across_decisions_and_staging ... ok
|
||||
test semantic_review::keyed_rows_tests::keyed_rows_distinguish_unpaired_source_from_explicit_absence_and_require_exact_reset ... ok
|
||||
test semantic_review::keyed_rows_tests::multiple_new_rows_compose_in_empty_collections_using_destination_key_order ... ok
|
||||
test semantic_review::keyed_rows_tests::row_review_apply_preserves_exact_source_and_semantic_history_through_undo_redo ... ok
|
||||
test semantic_review::keyed_tests::deleted_member_source_observation_removes_only_mapped_membership_both_directions ... ok
|
||||
test semantic_review::keyed_tests::exact_literal_new_rows_and_removals_commit_both_directions_without_default_loss ... ok
|
||||
test semantic_review::keyed_tests::exact_reset_only_is_one_history_source_transaction_and_undo_redo_both_directions ... ok
|
||||
test semantic_review::keyed_tests::function_port_members_use_existing_typed_choices_and_preserve_oa_legacy ... ok
|
||||
test semantic_review::keyed_tests::historical_one_sided_pair_migration_requires_exact_reset_and_explicit_overlap_resolution ... ok
|
||||
test semantic_review::keyed_tests::invalid_literal_removal_and_unselected_scalar_buffers_are_retained_and_repairable ... ok
|
||||
test semantic_review::keyed_tests::member_identity_labels_and_new_tabs_preserve_exact_names_and_deleted_keys ... ok
|
||||
test semantic_review::keyed_tests::reset_precedes_equal_constructor_candidate_and_preserves_independent_literal_draft ... ok
|
||||
test semantic_review::keyed_tests::staging_removal_and_obsolete_reset_recovery_keep_other_decisions_and_raw_presence ... ok
|
||||
test semantic_review::keyed_tests::stale_or_source_failed_reset_and_membership_apply_retain_exact_choices ... ok
|
||||
test semantic_review::keyed_tests::unordered_members_keep_take_candidate_preserve_other_rows_both_directions ... ok
|
||||
test semantic_review::keyed_tests::unsupported_independent_families_and_missing_identities_do_not_gain_edit_authority ... ok
|
||||
test semantic_review::message_kind_tests::message_group_candidate_closed_kinds_are_core_validated_in_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_candidate_timer_switches_preserve_both_drafts_and_overlap_is_explicit ... ok
|
||||
test semantic_review::message_kind_tests::message_group_initial_equal_take_acknowledges_only_kind_and_checks_authored_timer_agreement ... ok
|
||||
test semantic_review::message_kind_tests::message_group_keep_historical_switch_retires_timer_and_completed_no_switch_rejects ... ok
|
||||
test semantic_review::message_kind_tests::message_group_rejects_protected_edits_stale_plan_and_source_failure_without_losing_timer ... ok
|
||||
test semantic_review::message_kind_tests::message_group_reply_and_reference_take_require_explicit_call_mapping_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_take_full_timer_and_scalar_candidate_are_one_source_history_change_both_directions ... ok
|
||||
test semantic_review::message_kind_tests::message_group_timer_does_not_erase_exchange_without_its_own_selected_decision ... ok
|
||||
test semantic_review::ordered_tests::ambiguous_order_preserves_local_member_and_requires_explicit_candidate_positions ... ok
|
||||
test semantic_review::ordered_tests::historical_pair_restore_uses_exact_member_keys_and_never_zips_order_observations ... ok
|
||||
test semantic_review::ordered_tests::order_take_preserves_destination_only_positions_and_order_alone_cannot_add_members ... ok
|
||||
test semantic_review::ordered_tests::ordered_membership_choices_stage_exact_pairs_in_all_owner_shapes ... ok
|
||||
test semantic_review::ordered_tests::ordered_presence_keep_take_candidate_remove_only_selected_entry_and_order_take_reorders_only ... ok
|
||||
test semantic_review::ordered_tests::ordered_review_apply_is_exact_source_history_transaction_with_reopen_and_undo_redo ... ok
|
||||
test semantic_review::ordered_tests::ordered_take_uses_unique_anchors_and_matches_core_with_unrelated_candidate_both_directions ... ok
|
||||
test semantic_review::ordered_tests::raw_order_survives_membership_changes_decisions_and_recovery_until_explicit_reconcile ... ok
|
||||
test semantic_review::ordered_tests::several_incoming_members_follow_source_order_despite_independent_identity_sorting ... ok
|
||||
test semantic_review::recovery::tests::raw_scalar_and_closed_constructor_drafts_recover_against_exact_model_only ... ok
|
||||
test semantic_review::recovery::tests::version_one_without_orders_restores_raw_intent_and_replans_without_execution ... ok
|
||||
test semantic_review::source7_tests::contextual_incident_leaf_keep_allows_path_change_but_conflicts_with_changed_leaf_both_directions ... ok
|
||||
test semantic_review::source7_tests::reverse_operation_omission_gui_requires_raw_rationale_and_matches_one_core_batch_after_recovery ... ok
|
||||
test semantic_review::source7_tests::semantic_operation_virtual_none_candidate_uses_exact_allocation_and_preserves_accepted_bytes ... ok
|
||||
test semantic_review::tests::candidate_mixed_with_reference_take_uses_typed_correspondence_not_text_guessing ... ok
|
||||
test semantic_review::tests::deselected_invalid_candidate_is_retained_but_does_not_poison_another_selected_scalar ... ok
|
||||
test semantic_review::tests::explicit_trace_selection_updates_only_that_history ... ok
|
||||
test semantic_review::tests::first_equal_constructor_acknowledges_only_kind_and_allows_independent_leaves ... ok
|
||||
test semantic_review::tests::independent_review_clear_bound_ignores_retained_invalid_other_facet ... ok
|
||||
test semantic_review::tests::independent_review_keyed_fact_titles_keep_live_deleted_and_qualified_identity ... ok
|
||||
test semantic_review::tests::inherited_annotation_impact_requires_exact_acceptance_and_edits_clear_approval ... ok
|
||||
test semantic_review::tests::invalid_numeric_draft_and_protected_edits_retain_workflow_and_source ... ok
|
||||
test semantic_review::tests::read_only_structured_facts_and_partial_rollup_are_honest ... ok
|
||||
test semantic_review::tests::relation_candidates_preserve_endpoints_and_combine_selected_roles_and_bounds ... ok
|
||||
test semantic_review::tests::scalar_keep_take_candidate_commit_exact_source_and_history_in_both_directions ... ok
|
||||
test semantic_review::tests::scoped_literal_list_edits_preserve_unfinished_values_and_other_facet_buffers ... ok
|
||||
test semantic_review::tests::stale_plan_and_source_writeback_failure_do_not_lose_decisions_or_history ... ok
|
||||
test semantic_review::tests::state_kind_scalar_uses_typed_candidate_and_core_validation ... ok
|
||||
test semantic_review::view::reserved_artifact_tests::reserved_artifact_facet_and_reference_labels_survive_recovery_without_calling_it_deleted ... ok
|
||||
test source_navigation::interaction::tests::captured_find_click_invalidates_without_app_message_and_preserves_focus ... ok
|
||||
test source_navigation::interaction::tests::focus_rechecks_clock_between_inspection_and_application_and_missing_target_is_inert ... ok
|
||||
test source_navigation::interaction::tests::raw_navigation_inputs_advance_but_passive_geometry_does_not_and_exhaustion_refuses ... ok
|
||||
test source_navigation::query::tests::comments_strings_and_comment_gap_are_not_navigation_hits ... ok
|
||||
test source_navigation::query::tests::detached_alias_and_identity_collisions_never_auto_select ... ok
|
||||
test source_navigation::query::tests::dirty_but_parseable_text_has_current_names_and_no_validated_fallback ... ok
|
||||
test source_navigation::query::tests::exact_multifile_unicode_crlf_definition_and_repeated_lexical_references ... ok
|
||||
test source_navigation::query::tests::exact_snapshot_readback_rejects_same_key_byte_membership_and_evidence_changes ... ok
|
||||
test source_navigation::query::tests::include_cycle_depth_and_aggregate_edges_are_explicit_partial_outcomes ... ok
|
||||
test source_navigation::query::tests::invalid_include_syntax_never_borrows_the_old_reachable_file_set ... ok
|
||||
test source_navigation::query::tests::keyword_alias_and_loaded_path_case_collisions_use_reviewed_index_rules ... ok
|
||||
test source_navigation::query::tests::large_display_name_cannot_escape_the_owned_row_string_budget ... ok
|
||||
test source_navigation::query::tests::missing_and_noncanonical_authored_ids_remain_draft_spans_without_generated_anchors ... ok
|
||||
test source_navigation::query::tests::missing_include_partial_scope_does_not_resurrect_witness_text ... ok
|
||||
test source_navigation::query::tests::omitted_rows_are_counted_before_result_allocation_and_never_confer_uniqueness ... ok
|
||||
test source_navigation::query::tests::origin_keeps_exact_hit_when_display_rows_are_omitted ... ok
|
||||
test source_navigation::query::tests::owned_request_checks_raw_limits_immediately_and_extracts_only_on_worker ... ok
|
||||
test source_navigation::query::tests::owned_request_moves_exact_text_into_worker_snapshot_and_matches_sync_results ... ok
|
||||
test source_navigation::query::tests::owned_validation_proof_preserves_full_witness_count_and_partial_scope ... ok
|
||||
test source_navigation::query::tests::raw_aggregate_limits_refuse_before_outline_or_copied_snapshot ... ok
|
||||
test source_navigation::query::tests::sole_detached_candidate_and_unapplied_equal_bytes_require_choice ... ok
|
||||
test source_navigation::query::tests::token_declaration_and_live_reference_limits_are_aggregate_not_per_file ... ok
|
||||
test source_navigation::query::tests::validation_witness_must_match_entry_and_complete_included_file_set ... ok
|
||||
test source_navigation::symbols::tests::admitted_unicode_path_budget_keeps_original_policy_after_single_fold ... ok
|
||||
test source_navigation::symbols::tests::comment_separated_reference_keeps_crlf_unicode_and_disjoint_hit_spans ... ok
|
||||
test source_navigation::symbols::tests::declaration_order_and_duplicate_roles_refuse_instead_of_corrupting_hit_search ... ok
|
||||
test source_navigation::symbols::tests::detached_uuid_clone_disables_anchor_even_for_included_query ... ok
|
||||
test source_navigation::symbols::tests::duplicate_aliases_are_candidates_without_false_reference_attribution ... ok
|
||||
test source_navigation::symbols::tests::every_budget_admits_boundary_and_returns_no_index_one_below ... ok
|
||||
test source_navigation::symbols::tests::header_metadata_must_match_current_token_boundaries_and_authored_id ... ok
|
||||
test source_navigation::symbols::tests::incomplete_draft_is_lexical_and_error_token_does_not_leak_references ... ok
|
||||
test source_navigation::symbols::tests::legal_keyword_classified_alias_is_not_discarded ... ok
|
||||
test source_navigation::symbols::tests::missing_ids_produce_only_current_snapshot_locations_without_stabilization ... ok
|
||||
test source_navigation::symbols::tests::nested_declaration_extents_do_not_turn_body_text_into_definition_hits ... ok
|
||||
test source_navigation::symbols::tests::noncanonical_header_identity_cannot_enter_through_query_metadata ... ok
|
||||
test source_navigation::symbols::tests::path_identity_rejects_normalization_and_case_collisions ... ok
|
||||
test source_navigation::symbols::tests::query_header_admission_preserves_uppercase_and_json_escape_bytes ... ok
|
||||
test source_navigation::symbols::tests::repeated_live_uses_are_distinct_and_strings_comments_history_are_excluded ... ok
|
||||
test source_navigation::symbols::tests::reused_alias_cannot_steal_old_identity_and_old_locations_are_stale ... ok
|
||||
test source_navigation::symbols::tests::scope_provenance_and_detached_alias_collision_are_explicit ... ok
|
||||
test source_navigation::symbols::tests::stopped_outline_is_not_a_successful_empty_query ... ok
|
||||
test source_navigation::symbols::tests::truncated_or_gapped_tokens_refuse_even_when_project_scope_is_partial ... ok
|
||||
test source_navigation::symbols::tests::unicode_path_collisions_match_core_lowercase_policy ... ok
|
||||
test source_navigation::tests::search_uses_utf8_columns_wraps_and_refreshes_after_edits ... ok
|
||||
test source_rename::origin::tests::maps_last_repeated_reference_with_unicode_crlf_and_comment_separator ... ok
|
||||
test source_rename::origin::tests::permits_identifier_keyword_transitions_in_alias_roles ... ok
|
||||
test source_rename::origin::tests::preserves_final_same_line_occurrence_not_first_or_prose ... ok
|
||||
test source_rename::origin::tests::rejects_changed_trivia_non_alias_words_and_wrong_marker ... ok
|
||||
test source_rename::preview::tests::each_bound_is_exact_and_overflow_never_returns_a_partial_preview ... ok
|
||||
test source_rename::preview::tests::first_and_last_lines_form_complete_separate_hunks_and_pages ... ok
|
||||
test source_rename::preview::tests::limits_apply_to_the_whole_preview_not_each_file ... ok
|
||||
test source_rename::preview::tests::long_unicode_lines_are_fully_reachable_as_bounded_fragments ... ok
|
||||
test source_rename::preview::tests::nearby_changes_merge_and_all_changed_files_are_reachable ... ok
|
||||
test source_rename::preview::tests::preserves_unicode_mixed_endings_and_counts_lines_not_repeated_uses ... ok
|
||||
test source_rename::preview::tests::refuses_membership_entry_line_count_and_line_ending_changes ... ok
|
||||
test source_rename::preview::tests::unchanged_and_empty_sources_have_no_preview ... ok
|
||||
test source_tree::tests::active_scroll_offset_uses_the_visible_order_and_retains_ancestor_context ... ok
|
||||
test source_tree::tests::collapsed_folders_retain_active_dirty_and_diagnostic_markers ... ok
|
||||
test source_tree::tests::deep_paths_build_expand_and_drop_on_a_small_stack ... ok
|
||||
test source_tree::tests::detached_buffers_keep_paths_and_only_clean_buffers_are_closable ... ok
|
||||
test source_tree::tests::exact_unicode_spaces_and_file_folder_name_collisions_are_not_normalized ... ok
|
||||
test source_tree::tests::folders_are_compact_and_sorted_before_files_without_losing_duplicate_basenames ... ok
|
||||
test source_workspace::tests::draft_history_budget_covers_inactive_files_without_discarding_drafts ... ok
|
||||
test source_workspace::tests::fresh_session_cannot_reuse_a_retained_buffer_generation ... ok
|
||||
test source_workspace::tests::navigation_revision_wrap_cannot_reuse_an_old_workspace_key ... ok
|
||||
test source_workspace::tests::navigation_scope_changes_invalidate_without_changing_unchanged_positions ... ok
|
||||
test source_workspace::tests::navigation_versions_distinguish_reopened_recovered_and_changed_drafts ... ok
|
||||
test source_workspace::tests::switching_retains_invalid_drafts_and_independent_history ... ok
|
||||
test tests::actor_port_creation_updates_containment_and_locate_reveals_its_owner ... ok
|
||||
test tests::adding_bend_between_close_ports_stays_outside_owner_clearance ... ok
|
||||
test tests::behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views ... ok
|
||||
test tests::bidirectional_transition_ui_commits_once_and_preserves_other_diagrams ... ok
|
||||
test tests::counterpart_creation_focuses_visible_target_and_reuse_keeps_views ... ok
|
||||
test tests::creation_from_capabilities_routes_work_to_architecture_and_folded_allocation_inserts_below_existing_work ... ok
|
||||
test tests::dragging_keeps_semantic_selection_and_same_node_remains_editable ... ok
|
||||
test tests::escaped_string_mode_preserves_exact_control_characters ... ok
|
||||
test tests::every_demo_record_has_a_lossless_graphical_draft ... ok
|
||||
test tests::explicit_relationship_builder_never_mutates_on_preview ... ok
|
||||
test tests::explorer_and_creation_selection_follow_their_own_placement ... ok
|
||||
test tests::fit_adapts_to_canvas_returning_after_help_but_preserves_manual_navigation ... ok
|
||||
test tests::fit_uses_measured_canvas_bounds_and_preserves_them_on_open ... ok
|
||||
test tests::focused_explorer_follows_reparenting_without_changing_identity ... ok
|
||||
test tests::graphical_rename_keeps_aliases_and_references_and_undo ... ok
|
||||
test tests::identity_property_change_is_atomic_and_rewrites_all_live_references ... ok
|
||||
test tests::invalid_numeric_draft_survives_navigation_save_and_help ... ok
|
||||
test tests::invalid_save_and_continue_returns_to_repairable_draft ... ok
|
||||
test tests::malformed_source_preserves_model_and_is_recoverable ... ok
|
||||
test tests::manual_trace_requires_target_and_selection_normalizes_creation_kind ... ok
|
||||
test tests::mission_capability_authoring_is_contextual_atomic_and_text_equivalent ... ok
|
||||
test tests::modal_owns_background_commands_and_shortcuts ... ok
|
||||
test tests::nested_allocation_insertion_reflows_sibling_subtrees_and_preserves_fold_state ... ok
|
||||
test tests::opening_and_creating_models_preserve_the_actual_window_size_for_fit ... ok
|
||||
test tests::opening_legacy_source_surfaces_report_without_modifying_original_bytes ... ok
|
||||
test tests::pending_source_prevents_property_draft_collision_and_preserves_both_if_present ... ok
|
||||
test tests::placement_identity_edit_then_drag_and_diagram_identity_then_arrange ... ok
|
||||
test tests::placement_relocation_follows_cross_layer_traceability_view ... ok
|
||||
test tests::property_enum_and_optional_reference_roundtrip ... ok
|
||||
test tests::reopening_canvas_for_a_modal_preserves_viewport_after_route_edits ... ok
|
||||
test tests::revealing_an_implicit_function_port_unfolds_its_visible_architecture_owner ... ok
|
||||
test tests::routing_actions_are_atomic_guarded_and_fit_the_authored_detour ... ok
|
||||
test tests::selecting_current_constructors_preserves_payloads ... ok
|
||||
test tests::source_find_navigates_an_invalid_draft_without_applying_or_losing_it ... ok
|
||||
test tests::source_navigation_waits_for_editor_layout_and_cancels_on_edit ... ok
|
||||
test tests::system_only_models_open_the_populated_perspective ... ok
|
||||
test tests::transition_resolutions_belong_to_the_effective_target_and_kind ... ok
|
||||
test view_copy::tests::duplicate_retains_ports_routes_options_and_artifact_claims_with_exact_undo_redo ... ok
|
||||
test view_copy::tests::duplicate_state_view_preserves_machine_nesting_and_collapse_with_unique_aliases ... ok
|
||||
test view_copy::tests::missing_view_does_not_propose_an_empty_replacement ... ok
|
||||
test views::source_symbols::tests::suffixes_distinguish_nested_duplicate_basenames_without_changing_unicode ... ok
|
||||
test views::source_tests::source_editor_windows_menu_payload_is_inert_but_space_and_altgr_still_edit ... ok
|
||||
test views::text_workspace::summary_visibility_tests::all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts ... ok
|
||||
test views::text_workspace::tests::drawer_clamps_to_actual_center_allocation_including_oversize_requests ... ok
|
||||
test views::text_workspace::tests::five_slots_keep_editor_state_and_selection_through_explicit_and_passive_changes ... ok
|
||||
test views::text_workspace::tests::highlighted_sensor_editor_retains_real_scrolled_buffer_across_panel_rebuilds ... ok
|
||||
test views::text_workspace::tests::keyboard_resize_uses_effective_height_and_only_exact_open_drawer_shortcut ... ok
|
||||
test views::traceability::tests::traceability_browsing_retains_invalid_property_draft_and_existing_select_guard ... ok
|
||||
test views::traceability::tests::traceability_filter_reaches_artifacts_after_68_traces_and_searches_all_metadata ... ok
|
||||
test workflow::communication::tests::communication_requires_two_explicit_ports_and_recovers_the_partial_choice ... ok
|
||||
test workflow::port_authoring_tests::boundary_picker_matches_exact_commands_across_contracts_and_ownership ... ok
|
||||
test workflow::port_authoring_tests::boundary_picker_recomputes_for_unoriented_reverse_endpoints_without_relaxing_contracts ... ok
|
||||
test workflow::port_authoring_tests::duplicate_port_names_show_owner_contract_and_unique_alias ... ok
|
||||
test workflow::port_authoring_tests::fresh_functions_are_actual_picker_targets_and_plan_enables_apply ... ok
|
||||
test workflow::port_authoring_tests::generic_component_port_connection_keeps_its_endpoint_and_direction ... ok
|
||||
test workflow::port_authoring_tests::ordinary_standard_connections_default_unoriented_and_new_roles_exclude_legacy ... ok
|
||||
test workflow::recovery::tests::incomplete_relationship_and_trace_recover_raw_fields_and_reject_changed_model ... ok
|
||||
test workflow::recovery::tests::transition_recovery_replans_typed_request_without_persisted_commands ... ok
|
||||
test workflow::transition_tests::basic_transition_boundary_choice_is_required_without_an_inferred_system ... ok
|
||||
test workflow::transition_tests::basic_transition_creates_overview_when_existing_views_cannot_show_result ... ok
|
||||
test workflow::transition_tests::basic_transition_explicit_destination_appends_below_existing_bounds_and_is_one_source_edit ... ok
|
||||
test workflow::transition_tests::basic_transition_invalid_explicit_destination_retains_choice_and_refuses ... ok
|
||||
test workflow::transition_tests::basic_transition_reconcile_keeps_existing_selected_view_placement_and_route_exact ... ok
|
||||
test workflow::transition_tests::basic_transition_skips_lowest_uuid_state_view_and_preserves_oa ... ok
|
||||
|
||||
test result: ok. 856 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 371.63s
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"command": [
|
||||
"cargo",
|
||||
"test",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing",
|
||||
"--",
|
||||
"--ignored",
|
||||
"--nocapture",
|
||||
"--test-threads=1"
|
||||
],
|
||||
"started": "2026-09-13T02:29:07.844975+00:00",
|
||||
"finished": "2026-09-13T02:29:38.038485+00:00",
|
||||
"seconds": 30.192618299999594,
|
||||
"exitCode": 0,
|
||||
"inputsUnchanged": true,
|
||||
"stdoutSha256": "5ae357431fa8d99f76e193aa08f1192fb7ed99d8c3667966ce97790eca8d98fe",
|
||||
"stderrSha256": "041742f3b57dd07321bea988d47f853785d4f4679c0e9e9076cc605904a5d67e"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Finished `test` profile [unoptimized] target(s) in 3.55s
|
||||
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\target-gnullvm\debug\deps\arcadia_studio-58e30cee1fd51a8b.exe)
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
running 1 test
|
||||
test app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing ... {"active_file":"traceability.arcadia","active_file_bytes":29506,"debug_assertions":true,"entry":"C:\\ar-text-9e8r6t\\crates\\oa-desktop\\../../examples/release1/project.arcadia","identities":258,"measured_trials":5,"new":"oa_restore_pressure","old":"oa_restore_work","reachable_files":30,"record":"fixture","scope":"real worker helpers, guarded Document commit, App sync and Confirm update; no task polling or rendering","source_bytes":78414,"warmups":1}
|
||||
{"record":"order","separate_phases_first":true,"trial":0,"warmup":true}
|
||||
{"elapsed_ms":0.1031,"elapsed_ns":"103100","phase":"document_request_mint","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":437.2302,"elapsed_ns":"437230200","phase":"worker_document_prepare","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":27.055699999999998,"elapsed_ns":"27055700","phase":"worker_preview_and_origin","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":0.039,"elapsed_ns":"39000","phase":"document_guarded_commit","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":895.5259,"elapsed_ns":"895525900","phase":"app_sync","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":88.3319,"elapsed_ns":"88331900","phase":"app_confirm_update","record":"timing","trial":0,"warmup":true}
|
||||
{"elapsed_ms":0.0014,"elapsed_ns":"1400","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":0,"warmup":true}
|
||||
{"record":"order","separate_phases_first":false,"trial":1,"warmup":false}
|
||||
{"elapsed_ms":36.0154,"elapsed_ns":"36015400","phase":"app_confirm_update","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":0.0005,"elapsed_ns":"500","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":0.0976,"elapsed_ns":"97600","phase":"document_request_mint","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":318.975,"elapsed_ns":"318975000","phase":"worker_document_prepare","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":24.8242,"elapsed_ns":"24824200","phase":"worker_preview_and_origin","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":0.008,"elapsed_ns":"8000","phase":"document_guarded_commit","record":"timing","trial":1,"warmup":false}
|
||||
{"elapsed_ms":702.3933,"elapsed_ns":"702393300","phase":"app_sync","record":"timing","trial":1,"warmup":false}
|
||||
{"record":"order","separate_phases_first":true,"trial":2,"warmup":false}
|
||||
{"elapsed_ms":0.0309,"elapsed_ns":"30900","phase":"document_request_mint","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":376.1622,"elapsed_ns":"376162200","phase":"worker_document_prepare","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":22.912499999999998,"elapsed_ns":"22912500","phase":"worker_preview_and_origin","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":0.0333,"elapsed_ns":"33300","phase":"document_guarded_commit","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":736.6559,"elapsed_ns":"736655900","phase":"app_sync","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":108.6872,"elapsed_ns":"108687200","phase":"app_confirm_update","record":"timing","trial":2,"warmup":false}
|
||||
{"elapsed_ms":0.0013,"elapsed_ns":"1300","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":2,"warmup":false}
|
||||
{"record":"order","separate_phases_first":false,"trial":3,"warmup":false}
|
||||
{"elapsed_ms":36.039300000000004,"elapsed_ns":"36039300","phase":"app_confirm_update","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":0.0006,"elapsed_ns":"600","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":0.1134,"elapsed_ns":"113400","phase":"document_request_mint","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":391.56239999999997,"elapsed_ns":"391562400","phase":"worker_document_prepare","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":9.941500000000001,"elapsed_ns":"9941500","phase":"worker_preview_and_origin","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":0.0095,"elapsed_ns":"9500","phase":"document_guarded_commit","record":"timing","trial":3,"warmup":false}
|
||||
{"elapsed_ms":974.0557,"elapsed_ns":"974055700","phase":"app_sync","record":"timing","trial":3,"warmup":false}
|
||||
{"record":"order","separate_phases_first":true,"trial":4,"warmup":false}
|
||||
{"elapsed_ms":0.0467,"elapsed_ns":"46700","phase":"document_request_mint","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":401.9974,"elapsed_ns":"401997400","phase":"worker_document_prepare","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":17.1722,"elapsed_ns":"17172200","phase":"worker_preview_and_origin","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":0.008,"elapsed_ns":"8000","phase":"document_guarded_commit","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":865.3566999999999,"elapsed_ns":"865356700","phase":"app_sync","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":60.0406,"elapsed_ns":"60040600","phase":"app_confirm_update","record":"timing","trial":4,"warmup":false}
|
||||
{"elapsed_ms":0.0015,"elapsed_ns":"1500","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":4,"warmup":false}
|
||||
{"record":"order","separate_phases_first":false,"trial":5,"warmup":false}
|
||||
{"elapsed_ms":61.8057,"elapsed_ns":"61805700","phase":"app_confirm_update","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":0.0006,"elapsed_ns":"600","phase":"confirm_returned_task_drop_without_polling","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":0.0451,"elapsed_ns":"45100","phase":"document_request_mint","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":751.2613,"elapsed_ns":"751261300","phase":"worker_document_prepare","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":68.5379,"elapsed_ns":"68537900","phase":"worker_preview_and_origin","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":0.014199999999999999,"elapsed_ns":"14200","phase":"document_guarded_commit","record":"timing","trial":5,"warmup":false}
|
||||
{"elapsed_ms":1538.5520999999999,"elapsed_ns":"1538552100","phase":"app_sync","record":"timing","trial":5,"warmup":false}
|
||||
{"max_ms":108.6872,"median_ms":60.0406,"min_ms":36.0154,"phase":"app_confirm_update","record":"summary","samples":5}
|
||||
{"max_ms":1538.5520999999999,"median_ms":865.3566999999999,"min_ms":702.3933,"phase":"app_sync","record":"summary","samples":5}
|
||||
{"max_ms":0.0015,"median_ms":0.0006,"min_ms":0.0005,"phase":"confirm_returned_task_drop_without_polling","record":"summary","samples":5}
|
||||
{"max_ms":0.0333,"median_ms":0.0095,"min_ms":0.008,"phase":"document_guarded_commit","record":"summary","samples":5}
|
||||
{"max_ms":0.1134,"median_ms":0.0467,"min_ms":0.0309,"phase":"document_request_mint","record":"summary","samples":5}
|
||||
{"max_ms":751.2613,"median_ms":391.56239999999997,"min_ms":318.975,"phase":"worker_document_prepare","record":"summary","samples":5}
|
||||
{"max_ms":68.5379,"median_ms":22.912499999999998,"min_ms":9.941500000000001,"phase":"worker_preview_and_origin","record":"summary","samples":5}
|
||||
ok
|
||||
|
||||
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 858 filtered out; finished in 26.23s
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
"""Preserve original trial evidence and exact gate capture without runtime binaries."""
|
||||
from pathlib import Path
|
||||
import hashlib
|
||||
import json
|
||||
import shutil
|
||||
|
||||
base = Path(__file__).resolve().parent
|
||||
root = Path('C:/ar-text-9e8r6t')
|
||||
dest = root / 'harness/experiments/text-workspace-initial-20260913'
|
||||
dest.mkdir()
|
||||
records = []
|
||||
|
||||
def keep(source, relative):
|
||||
target = dest / relative
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
assert not target.exists()
|
||||
shutil.copyfile(source, target)
|
||||
raw = source.read_bytes()
|
||||
assert target.read_bytes() == raw
|
||||
records.append({'path': relative, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()})
|
||||
|
||||
trial = base / 'trial-text-1'
|
||||
for source in sorted(trial.rglob('*')):
|
||||
rel = source.relative_to(trial)
|
||||
if source.is_file() and (len(rel.parts) == 1 or rel.parts[0] == 'screenshots' or rel.parts[0].startswith('verification-')):
|
||||
keep(source, 'trial-text-1/' + rel.as_posix())
|
||||
gate = root / '.local/text-workspace-gates-20260912'
|
||||
for attempt in ['attempt-3', 'attempt-4']:
|
||||
for source in sorted((gate / attempt).iterdir()):
|
||||
if source.is_file() and source.suffix in ['.json', '.log', '.zip']:
|
||||
keep(source, attempt + '/' + source.name)
|
||||
for name in ['fixture-manifest.json', 'launch.py', 'verify_saved.py', 'bind_gates.py']:
|
||||
keep(base / name, 'helpers/' + name)
|
||||
keep(gate / 'gate.py', 'helpers/gate.py')
|
||||
keep(Path(__file__), 'helpers/archive_initial.py')
|
||||
with (dest / 'manifest.json').open('x', encoding='utf-8', newline='\n') as stream:
|
||||
json.dump({'scope': 'Original failed native trial and passing attempt4 gates; runtime binaries remain locally preserved by SHA, no native acceptance.', 'files': records}, stream, indent=2)
|
||||
stream.write('\n')
|
||||
print(json.dumps({'directory': str(dest), 'files': len(records), 'bytes': sum(r['bytes'] for r in records), 'manifestSha256': hashlib.sha256((dest / 'manifest.json').read_bytes()).hexdigest()}))
|
||||
@@ -0,0 +1,86 @@
|
||||
"""Bind completed Windows gate inputs and preserved GUI for a development trial."""
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timezone
|
||||
import hashlib
|
||||
import json
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
BASE = Path(__file__).resolve().parent
|
||||
ROOT = Path('C:/ar-text-9e8r6t')
|
||||
attempt = sys.argv[1]
|
||||
assert re.fullmatch(r'attempt-[0-9]+', attempt)
|
||||
gate = ROOT / '.local/text-workspace-gates-20260912' / attempt
|
||||
destination = BASE / (attempt + '-launch-manifest.json')
|
||||
assert not destination.exists()
|
||||
|
||||
def identity(path):
|
||||
raw = path.read_bytes()
|
||||
return {'path': str(path.resolve()), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}
|
||||
|
||||
def read(name):
|
||||
return json.loads((gate / name).read_text(encoding='utf-8'))
|
||||
|
||||
names = ['clippy', 'membership', 'focused', 'tests', 'timing', 'gui']
|
||||
complete = read('complete.json')
|
||||
assert complete['inputsUnchanged'] is True and complete['gates'] == names
|
||||
inputs = read('inputs.json')
|
||||
assert identity(gate / 'inputs.zip')['sha256'] == inputs['archiveSha256']
|
||||
assert subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT).decode().strip() == inputs['baseCommit']
|
||||
scopes = ['Cargo.toml', 'Cargo.lock', 'crates', 'build', '.cargo', 'docs', 'examples', 'harness/fixtures']
|
||||
raw_names = subprocess.check_output(['git', 'ls-files', '-z', '--cached', '--others', '--exclude-standard', '--', *scopes], cwd=ROOT)
|
||||
current_names = sorted(set(name.decode() for name in raw_names.split(b'\0') if name))
|
||||
assert current_names == [item['path'] for item in inputs['files']]
|
||||
for item in inputs['files']:
|
||||
path = (ROOT / item['path']).resolve()
|
||||
assert path.is_relative_to(ROOT.resolve())
|
||||
measured = identity(path)
|
||||
assert all(measured[key] == item[key] for key in ['bytes', 'sha256'])
|
||||
|
||||
evidence = [identity(gate / name) for name in ['inputs.json', 'inputs.zip', 'environment.json', 'complete.json']]
|
||||
receipts = {}
|
||||
for name in names:
|
||||
receipt = read(name + '-result.json')
|
||||
assert receipt['exitCode'] == 0 and receipt['inputsUnchanged'] is True
|
||||
for stream in ['stdout', 'stderr']:
|
||||
log = identity(gate / (name + '-' + stream + '.log'))
|
||||
assert log['sha256'] == receipt[stream + 'Sha256']
|
||||
evidence.append(log)
|
||||
evidence.append(identity(gate / (name + '-result.json')))
|
||||
receipts[name] = receipt
|
||||
|
||||
membership = receipts['membership']['testMembership']
|
||||
assert not membership['missing'] and membership['diagnosticGuardCount'] == 20
|
||||
assert any('queued_group_toggle_cannot_mutate' in name for name in membership['required'])
|
||||
assert any('all_reference_exceptions_fit_allocated_width' in name for name in membership['required'])
|
||||
test_output = (gate / 'tests-stdout.log').read_text(encoding='utf-8')
|
||||
result = re.search(r'test result: ok\. (\d+) passed; 0 failed; (\d+) ignored;', test_output)
|
||||
assert result and sum(map(int, result.groups())) == membership['listed']
|
||||
timing_output = (gate / 'timing-stdout.log').read_text(encoding='utf-8')
|
||||
assert 'test result: ok. 1 passed; 0 failed;' in timing_output
|
||||
binary_record = receipts['gui']['binary']
|
||||
binary = identity(Path(binary_record['preserved']))
|
||||
assert all(binary[key] == binary_record[key] for key in ['bytes', 'sha256'])
|
||||
artifact = binary_record['artifact']
|
||||
assert Path(artifact['manifest_path']).resolve() == ROOT / 'crates/oa-desktop/Cargo.toml'
|
||||
assert artifact['target']['name'] == 'arcadia-studio'
|
||||
assert artifact['executable'] == binary_record['path']
|
||||
|
||||
manifest = {
|
||||
'atUtc': datetime.now(timezone.utc).isoformat(),
|
||||
'nativeReady': True,
|
||||
'scope': 'Completed Windows source gates authorize development GUI evaluation; native and packaged acceptance remain pending.',
|
||||
'target': 'x86_64-pc-windows-gnullvm',
|
||||
'baseCommit': inputs['baseCommit'],
|
||||
'sourceFiles': len(inputs['files']),
|
||||
'sourceArchiveSha256': inputs['archiveSha256'],
|
||||
'membership': membership,
|
||||
'binary': binary,
|
||||
'evidence': evidence,
|
||||
'helper': identity(Path(__file__)),
|
||||
}
|
||||
with destination.open('x', encoding='utf-8', newline='\n') as output:
|
||||
json.dump(manifest, output, indent=2)
|
||||
output.write('\n')
|
||||
print(json.dumps(identity(destination)), flush=True)
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"preparedAtUtc": "2026-09-12T11:17:21.035184+00:00",
|
||||
"oracle_sha256": "967d9ba3c6fb3a7efb410833903ec94556ca2d48a67d5072c8bb160f40a00f9c",
|
||||
"dll_sha256": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4",
|
||||
"cases": {
|
||||
"simple": {
|
||||
"original": "valid-baseline",
|
||||
"original_files": {
|
||||
"links.arcadia": {
|
||||
"sha256": "d3229ecf6300804103eb7f85bd5891c022f6f6c194dbdbbdcb54e9550338dc3b",
|
||||
"bytes": 211
|
||||
},
|
||||
"project.arcadia": {
|
||||
"sha256": "79e26836c048a35aaf98b21ff006ae8ac931160abd9913b9e67b542303215414",
|
||||
"bytes": 277
|
||||
},
|
||||
"救援/assess.arcadia": {
|
||||
"sha256": "d99593537e67b2dfd293623f467ffbd46af4ea259dffae55d1fe9995c86e6992",
|
||||
"bytes": 192
|
||||
},
|
||||
"救援/confirm.arcadia": {
|
||||
"sha256": "591b32db3b1282825750d002d9293cfc450d55252506623302ce36c949fe9919",
|
||||
"bytes": 92
|
||||
}
|
||||
},
|
||||
"literal_edits": [
|
||||
{
|
||||
"path": "救援/assess.arcadia",
|
||||
"before": "oa_activity assess \"Assess 救援 request\"",
|
||||
"after": "oa_activity assess_damage \"Assess 救援 request\"",
|
||||
"count": 1,
|
||||
"before_snippet_spans_at_edit": [
|
||||
{
|
||||
"start": 47,
|
||||
"end": 89
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "links.arcadia",
|
||||
"before": "; source @assess; target @confirm;",
|
||||
"after": "; source @assess_damage; target @confirm;",
|
||||
"count": 1,
|
||||
"before_snippet_spans_at_edit": [
|
||||
{
|
||||
"start": 127,
|
||||
"end": 161
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected_files": {
|
||||
"links.arcadia": {
|
||||
"sha256": "c056d46011b3b86ae05dc49b8e6d69cba903f8e7379b06c6d0c5d93639768a09",
|
||||
"bytes": 218
|
||||
},
|
||||
"project.arcadia": {
|
||||
"sha256": "79e26836c048a35aaf98b21ff006ae8ac931160abd9913b9e67b542303215414",
|
||||
"bytes": 277
|
||||
},
|
||||
"救援/assess.arcadia": {
|
||||
"sha256": "8d326ec33370b8ecf73f6d611904875994888baa3495f7c1df4613866e645d03",
|
||||
"bytes": 199
|
||||
},
|
||||
"救援/confirm.arcadia": {
|
||||
"sha256": "591b32db3b1282825750d002d9293cfc450d55252506623302ce36c949fe9919",
|
||||
"bytes": 92
|
||||
}
|
||||
},
|
||||
"changed_files": [
|
||||
"links.arcadia",
|
||||
"救援/assess.arcadia"
|
||||
],
|
||||
"arcadia_files": 4
|
||||
},
|
||||
"representative": {
|
||||
"original": "release1-baseline",
|
||||
"original_files": {
|
||||
"evidence/repair-check.md": {
|
||||
"sha256": "f4db17bdca4ecbb1bf0caef01b2da5f1f7f798ab3152b648ce6dd8696a6a68e5",
|
||||
"bytes": 1419
|
||||
},
|
||||
"expected-diagnostics.json": {
|
||||
"sha256": "3700393d76b940cfc076bf52861bd7b1f43370f8eabce3594531bd0bf1fc851e",
|
||||
"bytes": 288
|
||||
},
|
||||
"model.json": {
|
||||
"sha256": "ef0ef4006c3e09d5db6e1b621256b3f7d6642f3a7b09cc34607cfbcca830c727",
|
||||
"bytes": 134520
|
||||
},
|
||||
"model.rs": {
|
||||
"sha256": "15f30f6bde655808fe754665c26d560e36f2a9bad340f346b09137d0d05045f5",
|
||||
"bytes": 28762
|
||||
},
|
||||
"oa/activities/activity_oa_restore_work.arcadia": {
|
||||
"sha256": "83e73d0a013d5c3e1a4af0d9139ab0cfa362d25a846671fc2dac59181061a9d4",
|
||||
"bytes": 1307
|
||||
},
|
||||
"oa/behavior/process_oa_assessment_procedure.arcadia": {
|
||||
"sha256": "172c32c044ef4b5bc58a1f4635cc81f48dabb4014479b47dce7b25fedf2dbd0d",
|
||||
"bytes": 697
|
||||
},
|
||||
"oa/behavior/process_oa_field_procedure.arcadia": {
|
||||
"sha256": "d2552dc5383e2e91cb302a790364e197f663c2edc013a2ab1978789825c9c324",
|
||||
"bytes": 1781
|
||||
},
|
||||
"oa/behavior/process_oa_response.arcadia": {
|
||||
"sha256": "cf86f46fa5c5d70592ef43f1bc1cb4d968efd8add384ba88036bef6b88aa4abc",
|
||||
"bytes": 3225
|
||||
},
|
||||
"oa/behavior/scenario_oa_conversation.arcadia": {
|
||||
"sha256": "b25be524e98a35ebac5e4481b7609c027b32baf9605e8097f807560f94a77ca6",
|
||||
"bytes": 1795
|
||||
},
|
||||
"oa/behavior/scenario_oa_full_scenario.arcadia": {
|
||||
"sha256": "00a1edf2c9707a0eb62ac070c2d02467874f2c9c1f273cc6ddb53d6d65999a1c",
|
||||
"bytes": 1261
|
||||
},
|
||||
"oa/behavior/state_machine_oa_monitor.arcadia": {
|
||||
"sha256": "447c9ad1359f4a31ecf975ad07c0b08d8e7e03191fb0858e2fc56f377b223cd5",
|
||||
"bytes": 2022
|
||||
},
|
||||
"oa/capabilities.arcadia": {
|
||||
"sha256": "fc8012e5554350b12e1cb80080f8feab80d933c9b33c0f2a7bb500cb7d609936",
|
||||
"bytes": 781
|
||||
},
|
||||
"oa/model.arcadia": {
|
||||
"sha256": "f7cf914766ea73ec53b85e32d117ea9a9dba52d3e038246863541ae7069b1a15",
|
||||
"bytes": 661
|
||||
},
|
||||
"oa/participants.arcadia": {
|
||||
"sha256": "951764c14179f27c10e315acf2ea37d1fff54c77b8441e23addd239e8c715ce3",
|
||||
"bytes": 1834
|
||||
},
|
||||
"oa/types.arcadia": {
|
||||
"sha256": "9d0396fb82dd5733edd8d1cf52f968ca84906927c704f9cf0944a7fae215cf49",
|
||||
"bytes": 788
|
||||
},
|
||||
"project.arcadia": {
|
||||
"sha256": "b2674e6bf77cfe0f6f0ba79c81d2e96d92f39c02ca2c6266d80e91723bfb9fda",
|
||||
"bytes": 1958
|
||||
},
|
||||
"README.md": {
|
||||
"sha256": "113cfb1cf38a98b51bff60442d86a35d636a3d80ef206bece7d53d0aae67f2d5",
|
||||
"bytes": 11137
|
||||
},
|
||||
"sa/behavior/process_sa_assessment_procedure.arcadia": {
|
||||
"sha256": "73928ced61c06cbc08728d7956676a50fd4c05aa5b7f1ff4f29ce27a0b0f2088",
|
||||
"bytes": 706
|
||||
},
|
||||
"sa/behavior/process_sa_field_procedure.arcadia": {
|
||||
"sha256": "886d462af83110cbfa55dd232a667ea1446761234471357cbb878794e98e8768",
|
||||
"bytes": 1790
|
||||
},
|
||||
"sa/behavior/process_sa_response.arcadia": {
|
||||
"sha256": "041785fc22842423822431bd5e6e8d16094ebd0716965e7c765fb8c1d7549e8a",
|
||||
"bytes": 3234
|
||||
},
|
||||
"sa/behavior/scenario_sa_conversation.arcadia": {
|
||||
"sha256": "97276f5757ee9aa12a0dbd9d3ccd58174b3091162bb8bcce357cec20a45f5d85",
|
||||
"bytes": 2127
|
||||
},
|
||||
"sa/behavior/scenario_sa_full_scenario.arcadia": {
|
||||
"sha256": "e12fc406b99d60a2f7768aaa0b25ba560e8605f0b8e37f3a7cdd3b8443562b74",
|
||||
"bytes": 1256
|
||||
},
|
||||
"sa/behavior/state_machine_sa_monitor.arcadia": {
|
||||
"sha256": "05ce29af99424c491c47fe2450dc6f5f8ce995511c01ec7e17bb5855be3c9736",
|
||||
"bytes": 2022
|
||||
},
|
||||
"sa/capabilities.arcadia": {
|
||||
"sha256": "b6912fb3ece439912345fa71724acd462e716a1e5a88203a1058a5c3b2c20a4f",
|
||||
"bytes": 781
|
||||
},
|
||||
"sa/functions/function_sa_audit_thresholds.arcadia": {
|
||||
"sha256": "e5a04325d52183956dca814dd90f4e56c96c6b7db0f4f202f203ecb49c3e0f4f",
|
||||
"bytes": 297
|
||||
},
|
||||
"sa/functions/function_sa_restore_work.arcadia": {
|
||||
"sha256": "fddeb67308051325041fee641fe758ddf43345b7c47b66d433616ad07fdccdd6",
|
||||
"bytes": 2576
|
||||
},
|
||||
"sa/model.arcadia": {
|
||||
"sha256": "d431509251acb859fbb98733b6d18add952495e10a78703fbe8f31e40bc083c4",
|
||||
"bytes": 661
|
||||
},
|
||||
"sa/participants.arcadia": {
|
||||
"sha256": "780d2eb08b217b67b55febb3d34846f727b8ee9018df6c5741748647e36b2ff8",
|
||||
"bytes": 4012
|
||||
},
|
||||
"sa/types.arcadia": {
|
||||
"sha256": "101fc0fbd99f1101514aa7b6da4f8e535aae0bb94c9e2b9e7e6c151135b28660",
|
||||
"bytes": 1227
|
||||
},
|
||||
"traceability.arcadia": {
|
||||
"sha256": "48a96f543456c9b5a5798fc795594e4119147fe45f11a6f109f141b7f514560f",
|
||||
"bytes": 29506
|
||||
},
|
||||
"transition-before.json": {
|
||||
"sha256": "2253e6434f741687e22327c37d520ed15c043bc36025498650bc2366bb6a874d",
|
||||
"bytes": 35801
|
||||
},
|
||||
"transition-request.json": {
|
||||
"sha256": "43b9a22e5f95ad3bc0ebd2478ead0e14406854abc989ae94ded9367b013d812a",
|
||||
"bytes": 4276
|
||||
},
|
||||
"views/diagram_oa_allocation_view.arcadia": {
|
||||
"sha256": "dfc0eb61e0e2aa5bda45524571fbfa3494f44ce19696f3e15e07438074a07bc7",
|
||||
"bytes": 2176
|
||||
},
|
||||
"views/diagram_sa_allocation_view.arcadia": {
|
||||
"sha256": "b78b43a26a82efb8fbd5374b09c329fa341f57b29f635d397b9ef8aede71d389",
|
||||
"bytes": 2173
|
||||
},
|
||||
"views/diagram_sa_capability_view.arcadia": {
|
||||
"sha256": "75e8dc9fb30f25d6f8fd3c6b595593ab4f98958a25798f961e336e0fac557649",
|
||||
"bytes": 1620
|
||||
},
|
||||
"views/diagram_sa_service_view.arcadia": {
|
||||
"sha256": "b08c84f3ea633e7c78dfdad3272f75415f6256cf3614b6d99bfd4f0269076c9b",
|
||||
"bytes": 2209
|
||||
},
|
||||
"views/diagram_sa_state_view.arcadia": {
|
||||
"sha256": "5f42f4c605e57b817d8400ed21f2b14bfc4e1592aebe941ff113767504c2b869",
|
||||
"bytes": 1931
|
||||
}
|
||||
},
|
||||
"literal_edits": [
|
||||
{
|
||||
"path": "oa/activities/activity_oa_restore_work.arcadia",
|
||||
"before": "oa_activity oa_restore_work \"Restore safe pressure\"",
|
||||
"after": "oa_activity oa_restore_pressure \"Restore safe pressure\"",
|
||||
"count": 1,
|
||||
"before_snippet_spans_at_edit": [
|
||||
{
|
||||
"start": 0,
|
||||
"end": 51
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "oa/activities/activity_oa_restore_work.arcadia",
|
||||
"before": " parent @oa_restore_work;",
|
||||
"after": " parent @oa_restore_pressure;",
|
||||
"count": 4,
|
||||
"before_snippet_spans_at_edit": [
|
||||
{
|
||||
"start": 250,
|
||||
"end": 278
|
||||
},
|
||||
{
|
||||
"start": 393,
|
||||
"end": 421
|
||||
},
|
||||
{
|
||||
"start": 539,
|
||||
"end": 567
|
||||
},
|
||||
{
|
||||
"start": 679,
|
||||
"end": 707
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "traceability.arcadia",
|
||||
"before": " oa @oa_restore_work;",
|
||||
"after": " oa @oa_restore_pressure;",
|
||||
"count": 1,
|
||||
"before_snippet_spans_at_edit": [
|
||||
{
|
||||
"start": 26877,
|
||||
"end": 26901
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected_files": {
|
||||
"evidence/repair-check.md": {
|
||||
"sha256": "f4db17bdca4ecbb1bf0caef01b2da5f1f7f798ab3152b648ce6dd8696a6a68e5",
|
||||
"bytes": 1419
|
||||
},
|
||||
"expected-diagnostics.json": {
|
||||
"sha256": "3700393d76b940cfc076bf52861bd7b1f43370f8eabce3594531bd0bf1fc851e",
|
||||
"bytes": 288
|
||||
},
|
||||
"model.json": {
|
||||
"sha256": "ef0ef4006c3e09d5db6e1b621256b3f7d6642f3a7b09cc34607cfbcca830c727",
|
||||
"bytes": 134520
|
||||
},
|
||||
"model.rs": {
|
||||
"sha256": "15f30f6bde655808fe754665c26d560e36f2a9bad340f346b09137d0d05045f5",
|
||||
"bytes": 28762
|
||||
},
|
||||
"oa/activities/activity_oa_restore_work.arcadia": {
|
||||
"sha256": "8c6cf1e9b6fdd118602659b6fb3ad0f1988ae700fcd548abede259da2c3a29e5",
|
||||
"bytes": 1327
|
||||
},
|
||||
"oa/behavior/process_oa_assessment_procedure.arcadia": {
|
||||
"sha256": "172c32c044ef4b5bc58a1f4635cc81f48dabb4014479b47dce7b25fedf2dbd0d",
|
||||
"bytes": 697
|
||||
},
|
||||
"oa/behavior/process_oa_field_procedure.arcadia": {
|
||||
"sha256": "d2552dc5383e2e91cb302a790364e197f663c2edc013a2ab1978789825c9c324",
|
||||
"bytes": 1781
|
||||
},
|
||||
"oa/behavior/process_oa_response.arcadia": {
|
||||
"sha256": "cf86f46fa5c5d70592ef43f1bc1cb4d968efd8add384ba88036bef6b88aa4abc",
|
||||
"bytes": 3225
|
||||
},
|
||||
"oa/behavior/scenario_oa_conversation.arcadia": {
|
||||
"sha256": "b25be524e98a35ebac5e4481b7609c027b32baf9605e8097f807560f94a77ca6",
|
||||
"bytes": 1795
|
||||
},
|
||||
"oa/behavior/scenario_oa_full_scenario.arcadia": {
|
||||
"sha256": "00a1edf2c9707a0eb62ac070c2d02467874f2c9c1f273cc6ddb53d6d65999a1c",
|
||||
"bytes": 1261
|
||||
},
|
||||
"oa/behavior/state_machine_oa_monitor.arcadia": {
|
||||
"sha256": "447c9ad1359f4a31ecf975ad07c0b08d8e7e03191fb0858e2fc56f377b223cd5",
|
||||
"bytes": 2022
|
||||
},
|
||||
"oa/capabilities.arcadia": {
|
||||
"sha256": "fc8012e5554350b12e1cb80080f8feab80d933c9b33c0f2a7bb500cb7d609936",
|
||||
"bytes": 781
|
||||
},
|
||||
"oa/model.arcadia": {
|
||||
"sha256": "f7cf914766ea73ec53b85e32d117ea9a9dba52d3e038246863541ae7069b1a15",
|
||||
"bytes": 661
|
||||
},
|
||||
"oa/participants.arcadia": {
|
||||
"sha256": "951764c14179f27c10e315acf2ea37d1fff54c77b8441e23addd239e8c715ce3",
|
||||
"bytes": 1834
|
||||
},
|
||||
"oa/types.arcadia": {
|
||||
"sha256": "9d0396fb82dd5733edd8d1cf52f968ca84906927c704f9cf0944a7fae215cf49",
|
||||
"bytes": 788
|
||||
},
|
||||
"project.arcadia": {
|
||||
"sha256": "b2674e6bf77cfe0f6f0ba79c81d2e96d92f39c02ca2c6266d80e91723bfb9fda",
|
||||
"bytes": 1958
|
||||
},
|
||||
"README.md": {
|
||||
"sha256": "113cfb1cf38a98b51bff60442d86a35d636a3d80ef206bece7d53d0aae67f2d5",
|
||||
"bytes": 11137
|
||||
},
|
||||
"sa/behavior/process_sa_assessment_procedure.arcadia": {
|
||||
"sha256": "73928ced61c06cbc08728d7956676a50fd4c05aa5b7f1ff4f29ce27a0b0f2088",
|
||||
"bytes": 706
|
||||
},
|
||||
"sa/behavior/process_sa_field_procedure.arcadia": {
|
||||
"sha256": "886d462af83110cbfa55dd232a667ea1446761234471357cbb878794e98e8768",
|
||||
"bytes": 1790
|
||||
},
|
||||
"sa/behavior/process_sa_response.arcadia": {
|
||||
"sha256": "041785fc22842423822431bd5e6e8d16094ebd0716965e7c765fb8c1d7549e8a",
|
||||
"bytes": 3234
|
||||
},
|
||||
"sa/behavior/scenario_sa_conversation.arcadia": {
|
||||
"sha256": "97276f5757ee9aa12a0dbd9d3ccd58174b3091162bb8bcce357cec20a45f5d85",
|
||||
"bytes": 2127
|
||||
},
|
||||
"sa/behavior/scenario_sa_full_scenario.arcadia": {
|
||||
"sha256": "e12fc406b99d60a2f7768aaa0b25ba560e8605f0b8e37f3a7cdd3b8443562b74",
|
||||
"bytes": 1256
|
||||
},
|
||||
"sa/behavior/state_machine_sa_monitor.arcadia": {
|
||||
"sha256": "05ce29af99424c491c47fe2450dc6f5f8ce995511c01ec7e17bb5855be3c9736",
|
||||
"bytes": 2022
|
||||
},
|
||||
"sa/capabilities.arcadia": {
|
||||
"sha256": "b6912fb3ece439912345fa71724acd462e716a1e5a88203a1058a5c3b2c20a4f",
|
||||
"bytes": 781
|
||||
},
|
||||
"sa/functions/function_sa_audit_thresholds.arcadia": {
|
||||
"sha256": "e5a04325d52183956dca814dd90f4e56c96c6b7db0f4f202f203ecb49c3e0f4f",
|
||||
"bytes": 297
|
||||
},
|
||||
"sa/functions/function_sa_restore_work.arcadia": {
|
||||
"sha256": "fddeb67308051325041fee641fe758ddf43345b7c47b66d433616ad07fdccdd6",
|
||||
"bytes": 2576
|
||||
},
|
||||
"sa/model.arcadia": {
|
||||
"sha256": "d431509251acb859fbb98733b6d18add952495e10a78703fbe8f31e40bc083c4",
|
||||
"bytes": 661
|
||||
},
|
||||
"sa/participants.arcadia": {
|
||||
"sha256": "780d2eb08b217b67b55febb3d34846f727b8ee9018df6c5741748647e36b2ff8",
|
||||
"bytes": 4012
|
||||
},
|
||||
"sa/types.arcadia": {
|
||||
"sha256": "101fc0fbd99f1101514aa7b6da4f8e535aae0bb94c9e2b9e7e6c151135b28660",
|
||||
"bytes": 1227
|
||||
},
|
||||
"traceability.arcadia": {
|
||||
"sha256": "cd3d7ebaf7d6aedf1eaa739afaf0268c487b05cc2685233568425ce0498cf338",
|
||||
"bytes": 29510
|
||||
},
|
||||
"transition-before.json": {
|
||||
"sha256": "2253e6434f741687e22327c37d520ed15c043bc36025498650bc2366bb6a874d",
|
||||
"bytes": 35801
|
||||
},
|
||||
"transition-request.json": {
|
||||
"sha256": "43b9a22e5f95ad3bc0ebd2478ead0e14406854abc989ae94ded9367b013d812a",
|
||||
"bytes": 4276
|
||||
},
|
||||
"views/diagram_oa_allocation_view.arcadia": {
|
||||
"sha256": "dfc0eb61e0e2aa5bda45524571fbfa3494f44ce19696f3e15e07438074a07bc7",
|
||||
"bytes": 2176
|
||||
},
|
||||
"views/diagram_sa_allocation_view.arcadia": {
|
||||
"sha256": "b78b43a26a82efb8fbd5374b09c329fa341f57b29f635d397b9ef8aede71d389",
|
||||
"bytes": 2173
|
||||
},
|
||||
"views/diagram_sa_capability_view.arcadia": {
|
||||
"sha256": "75e8dc9fb30f25d6f8fd3c6b595593ab4f98958a25798f961e336e0fac557649",
|
||||
"bytes": 1620
|
||||
},
|
||||
"views/diagram_sa_service_view.arcadia": {
|
||||
"sha256": "b08c84f3ea633e7c78dfdad3272f75415f6256cf3614b6d99bfd4f0269076c9b",
|
||||
"bytes": 2209
|
||||
},
|
||||
"views/diagram_sa_state_view.arcadia": {
|
||||
"sha256": "5f42f4c605e57b817d8400ed21f2b14bfc4e1592aebe941ff113767504c2b869",
|
||||
"bytes": 1931
|
||||
}
|
||||
},
|
||||
"changed_files": [
|
||||
"oa/activities/activity_oa_restore_work.arcadia",
|
||||
"traceability.arcadia"
|
||||
],
|
||||
"arcadia_files": 30
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user