pass thru the kcl version (#5366)
Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
@ -16,6 +16,7 @@ import {
|
|||||||
clearSceneAndBustCache,
|
clearSceneAndBustCache,
|
||||||
emptyExecState,
|
emptyExecState,
|
||||||
ExecState,
|
ExecState,
|
||||||
|
getKclVersion,
|
||||||
initPromise,
|
initPromise,
|
||||||
KclValue,
|
KclValue,
|
||||||
parse,
|
parse,
|
||||||
@ -74,6 +75,7 @@ export class KclManager {
|
|||||||
private _hasErrors = false
|
private _hasErrors = false
|
||||||
private _switchedFiles = false
|
private _switchedFiles = false
|
||||||
private _fileSettings: KclSettingsAnnotation = {}
|
private _fileSettings: KclSettingsAnnotation = {}
|
||||||
|
private _kclVersion: string | undefined = undefined
|
||||||
|
|
||||||
engineCommandManager: EngineCommandManager
|
engineCommandManager: EngineCommandManager
|
||||||
|
|
||||||
@ -118,6 +120,16 @@ export class KclManager {
|
|||||||
return this._execState
|
return this._execState
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the kcl version from the wasm module
|
||||||
|
// and store it in the singleton
|
||||||
|
// so we don't waste time getting it multiple times
|
||||||
|
get kclVersion() {
|
||||||
|
if (this._kclVersion === undefined) {
|
||||||
|
this._kclVersion = getKclVersion()
|
||||||
|
}
|
||||||
|
return this._kclVersion
|
||||||
|
}
|
||||||
|
|
||||||
get errors() {
|
get errors() {
|
||||||
return this._errors
|
return this._errors
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
modify_ast_for_sketch_wasm,
|
modify_ast_for_sketch_wasm,
|
||||||
is_points_ccw,
|
is_points_ccw,
|
||||||
get_tangential_arc_to_info,
|
get_tangential_arc_to_info,
|
||||||
|
get_kcl_version,
|
||||||
make_default_planes,
|
make_default_planes,
|
||||||
coredump,
|
coredump,
|
||||||
toml_stringify,
|
toml_stringify,
|
||||||
@ -766,3 +767,10 @@ export function unitAngToUnitAngle(input: UnitAng): UnitAngle {
|
|||||||
return 'degrees'
|
return 'degrees'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the KCL version currently being used.
|
||||||
|
*/
|
||||||
|
export function getKclVersion(): string {
|
||||||
|
return get_kcl_version()
|
||||||
|
}
|
||||||
|
@ -161,6 +161,7 @@ See later source ranges for more context. about the sweep`,
|
|||||||
source_ranges: ranges,
|
source_ranges: ranges,
|
||||||
project_name:
|
project_name:
|
||||||
projectName !== '' && projectName !== 'browser' ? projectName : undefined,
|
projectName !== '' && projectName !== 'browser' ? projectName : undefined,
|
||||||
|
kcl_version: kclManager.kclVersion,
|
||||||
}
|
}
|
||||||
const url = VITE_KC_API_BASE_URL + '/ml/text-to-cad/iteration'
|
const url = VITE_KC_API_BASE_URL + '/ml/text-to-cad/iteration'
|
||||||
const data: Models['TextToCadIteration_type'] | Error =
|
const data: Models['TextToCadIteration_type'] | Error =
|
||||||
|
@ -16,6 +16,7 @@ import { commandBarMachine } from 'machines/commandBarMachine'
|
|||||||
import { getNextFileName } from './desktopFS'
|
import { getNextFileName } from './desktopFS'
|
||||||
import { reportRejection } from './trap'
|
import { reportRejection } from './trap'
|
||||||
import { toSync } from './utils'
|
import { toSync } from './utils'
|
||||||
|
import { kclManager } from './singletons'
|
||||||
|
|
||||||
async function submitTextToCadPrompt(
|
async function submitTextToCadPrompt(
|
||||||
prompt: string,
|
prompt: string,
|
||||||
@ -26,6 +27,7 @@ async function submitTextToCadPrompt(
|
|||||||
prompt,
|
prompt,
|
||||||
project_name:
|
project_name:
|
||||||
projectName !== '' && projectName !== 'browser' ? projectName : undefined,
|
projectName !== '' && projectName !== 'browser' ? projectName : undefined,
|
||||||
|
kcl_version: kclManager.kclVersion,
|
||||||
}
|
}
|
||||||
// Glb has a smaller footprint than gltf, should we want to render it.
|
// Glb has a smaller footprint than gltf, should we want to render it.
|
||||||
const url = VITE_KC_API_BASE_URL + '/ai/text-to-cad/glb?kcl=true'
|
const url = VITE_KC_API_BASE_URL + '/ai/text-to-cad/glb?kcl=true'
|
||||||
|
@ -28,6 +28,7 @@ import {
|
|||||||
clear_scene_and_bust_cache as ClearSceneAndBustCache,
|
clear_scene_and_bust_cache as ClearSceneAndBustCache,
|
||||||
kcl_settings as KclSettings,
|
kcl_settings as KclSettings,
|
||||||
change_kcl_settings as ChangeKclSettings,
|
change_kcl_settings as ChangeKclSettings,
|
||||||
|
get_kcl_version as GetKclVersion,
|
||||||
} from '../wasm-lib/pkg/wasm_lib'
|
} from '../wasm-lib/pkg/wasm_lib'
|
||||||
|
|
||||||
type ModuleType = typeof import('../wasm-lib/pkg/wasm_lib')
|
type ModuleType = typeof import('../wasm-lib/pkg/wasm_lib')
|
||||||
@ -118,3 +119,6 @@ export const kcl_settings: typeof KclSettings = (...args) => {
|
|||||||
export const change_kcl_settings: typeof ChangeKclSettings = (...args) => {
|
export const change_kcl_settings: typeof ChangeKclSettings = (...args) => {
|
||||||
return getModule().change_kcl_settings(...args)
|
return getModule().change_kcl_settings(...args)
|
||||||
}
|
}
|
||||||
|
export const get_kcl_version: typeof GetKclVersion = () => {
|
||||||
|
return getModule().get_kcl_version()
|
||||||
|
}
|
||||||
|
@ -236,6 +236,11 @@ fn try_f64_to_i64(f: f64) -> Option<i64> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the version of the KCL library.
|
||||||
|
pub fn version() -> &'static str {
|
||||||
|
env!("CARGO_PKG_VERSION")
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
@ -569,3 +569,11 @@ pub fn change_kcl_settings(code: &str, settings_str: &str) -> Result<String, Str
|
|||||||
|
|
||||||
Ok(formatted)
|
Ok(formatted)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the version of the kcl library.
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub fn get_kcl_version() -> String {
|
||||||
|
console_error_panic_hook::set_once();
|
||||||
|
|
||||||
|
kcl_lib::version().to_string()
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user